Message posté par : RUPPY (christophe.rupprecht(a)gmail.com)
----------------------------------------
Bonjour à tous,
En préambule, je tiens à préciser que je ne suis pas issu d'un métier du SIG et donc, je tâtonne un peu ^^.
J'ai effectué des mesures d'éclairement (en lux) géolocalisées dans les rues d'une ville. J'ai affecté à chaque point de mesure le nom de la rue via le filaire de voie en créant un tampon et un réalisant une jointure entre les points et les tampons des rues. Jusqu'à là, pas de souci, tout fonctionne. Chaque point dispose d'une valeur en lux, d'un attribut indiqué l'adresse de la voie et est inclus dans un polygone (tampon)
Je souhaiterais maintenant calculer la moyenne de l'éclairement pour chaque rue sachant que la densité de points n'est pas régulière et que donc, un simple calcul de moyenne (addition des valeurs en lux / nbre de points) n'est pas probant. Selon la vitesse de circulation à laquelle les mesures ont été effectuées, l'espacement entre les points de mesure n'et pas le même.
Existe-t-il une fonction ou une méthode dans QGIS pour réaliser cette moyenne ? J'imagine que oui mais pour l'instant, j'ai fait choux blanc :/
Je vous remercie par avance pour votre aide.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361867#p361867
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : LPlante
----------------------------------------
Bonjour,
Pour récupérer le nom de commune automatiquement (depuis une couche polygo commune) au dessin d'une ligne, j'utilise l'outil overlay_intersect() en valeur par default. overlay_intersect("couche_commune", nom_commune)
Je tombe sur le cas particulier où une ligne intersecte 2 communes, renvoi donc 2 valeurs pour un champs et empêche donc l'enregistrement.
L'ajout du parametre LIMIT :=1 me permet d'avoir qu'un seul résultat ce qui contourne l'erreur.
La question est: peut on utiliser le centroid de la ligne pour l'overlay_intersect qui lui renverrai à coup sur qu'une seule commune sans créer de couche supplémentaire qui calcul le centroid.
Du genre, WITH geom=centroid(geom) (overlay_intersects('ERROBI-COMMUNES',nom,limit:=1))
Cela permettrait d'aller plus loin avec startpoint et endpoint pour récupérer des identifiants de points au depart ou fin d'une ligne par exemple!
Merci d'avance!
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361925#p361925
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : GDU42 (geoffrey.dubost(a)echo-acoustique.com)
----------------------------------------
Bonjour à tous,
Après plusieurs recherches qui n'aboutissent pas, je viens demander de l'aide sur le forum pour comprendre pourquoi j'ai une erreur quand je lance un algorithme dans le modeleur graphique.
J'utilise le modeleur depuis peu, je ne suis donc pas très expérimenté, j'apprends "sur le tas" comme on dit.
Ce que je veux faire : réaliser un tampon dont la distance est fonction d'un champs d'une couche vectorielle.
Ce que je fais dans le modeleur : je définie une entrée "couche vecteur", puis je créé une entrée "champs vectoriel" pour cibler le champs qui m’intéresse.
Ensuite, j'utilise l'algorithme "Tampon" pour créer une couche avec pour distance un calcul basé sur le champs ciblé de ma couche vectorielle (formule : 1,2 * la valeur du champ). J'ai donc testé (valeur pré-calculée) :
1.2 * @champsvectoriel --> ne marche pas
1.2 * attribute(@couchevecteur, @champsvectoriel) --> ne marche pas
Peut-être que je n'utilise pas les bonnes expressions, mais je ne trouve justement nul part d'exemples de paramétrages du modeleur pour cette simple utilisation.
Je vous remercie.
PS : si vous connaissez un bon gros tuto qui me permettrait de trouver la réponse à ma question, et à d'autres futures du même type, je prends.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361942#p361942
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : whiti (whiti70(a)hotmail.fr)
----------------------------------------
Bonjour,
Je voulais savoir si il était possible de transférer des symboles svg de mon projet qgis à mon projet Mergin Maps.
Si oui , quelle est la procédure ?
Merci d'avance pour vos réponses.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361943#p361943
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : kentinforest (qchaffaux(a)aol.com)
----------------------------------------
Bonjour à tous
J'ai un soucis lorsque je veux exporter ma carte (peu importe le format).
J'ai une couche où j'ai appliqué une analyse thématique avec des symboles hachurés vertical, horizontal et diagonal. Lorsque je zoom ou dézoom mes couches, le taille des hachures évoluent pour qu'elles restent toujours visibles, ça c'est normal. J'ai ensuite crée une carte via le composeur de carte et mon analyse thématique est bien visible avec des hachures bien espacés.
Le problème, c'est que, dés que j'exporte cette carte en PDF ou JPEG et que je l'ouvre, je me retrouve avec des hachures très étroites et on ne voit plus du tout le symbole.
J'ai essayé de changer des paramètres lors de l'export mais rien n'y fait.
Est ce quelqu'un aurait une idée pour remédier à mon problème ?
Merci d'avance
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=340097#p340097
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Jean Marc MICHALOWSKI
----------------------------------------
-----------------
Floflo49fb écrit :
Bonjour,
Je n'ai pas ça avec moi là maintenant mais je dois pouvoir vous envoyer un script.
J'avais mis en place un espace FTP sur lequel les agents déposaient leurs GPX et ensuite j'avais un script qui regardait toutes les X minutes si des fichiers étaient présents pour les intégrer dans un BD PG. Je crois même que j'avais été jusqu'à m'envoyer un mail récapitulatif des intégrations chaque semaine.
Bonne journée.
-----------------
merci !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361921#p361921
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Florian Boret
----------------------------------------
Bonjour,
Je n'ai pas ça avec moi là maintenant mais je dois pouvoir vous envoyer un script.
J'avais mis en place un espace FTP sur lequel les agents déposaient leurs GPX et ensuite j'avais un script qui regardait toutes les X minutes si des fichiers étaient présents pour les intégrer dans un BD PG. Je crois même que j'avais été jusqu'à m'envoyer un mail récapitulatif des intégrations chaque semaine.
Bonne journée.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361920#p361920
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : PY Joubert
----------------------------------------
Bonjour,
Voilà, j'ai dans ma sélection plusieurs objets et je voudrais faire l'union de ces objets.
Ils peuvent être jointif ou distants (Dans ce dernier cas, un objet multi part sera créé).
Je voudrais que cet objet nouvellement créé le soit dans une couche temporaire. afin de ne pas polluer la couche initiale
Je n'ai rien trouvé dans les docs ni dans le forum
Voici ce que je pense faire :
-----------------
Code :
liste = calque.selectedFeatures()
geoms = [f.geometry() for f in liste]
g = QgsGeometry.unaryUnion(geoms)
-----------------
Mais comment aire pour que ce nouvel objet soit créé dans la couche temporaire et comment l'a créé ?
Merci de vos réponse et bonne journée
PYJ
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361919#p361919
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Benjamin Pierrevelcin
----------------------------------------
Bonjour,
Je souhaiterais simplement ajouter des caractères en fin d'une expression avec la calculatrice de champs.
L'idée est de rajouter les caractères ".jpg" à la fin du nom de photos, pour pouvoir les ouvrir avec une action.
Merci d'avance!
Benjamin
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361909#p361909
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : myh89
----------------------------------------
Bonjour,
J'avais déjà mis un sujet récent intitulé QGIS/Python: Besoin d'aide pour un script pour sortir des cartes, mais n'ai pas eu de retour
J'ai réussi à faire un script qui fonctionne à l'intérieur de la console Qgis, je vais le joindre en bas de ce message.
Par contre lorsque je j'essaie de le lancer hors de Qgis ça ne fonctionne pas, je ne comprends pas bien ce qu'il faut appeler pour que ça fonctionne.
J'ai essayé en ouvrant un projet vierge dans Qgis et en relançant le code depuis la console Python, là j'avais un premier blocage car il ne me trouvait pas un algorithme, mais ça fonctionne (dans Qgis) maintenant en réinitialisant Processing (cf lignes 84 et suivantes du code), mais par contre ça ne fonctionne toujours pas hors de Qgis.
J'ai placé ce script Python dans le répertoire bin de Qgis, est-ce à un autre endroit qu'il faut le mettre, je ne comprends pas bien ?
Merci d'avance pour votre aide.
Cordialement,
M. Huant
Le code est ici :
-----------------
Code :
# Appel des librairies nécessaires
from qgis import processing
from qgis.core import QgsApplication, QgsProject, QgsLayerTreeGroup, QgsLayerTreeLayer, QgsExpression, QgsExpressionContext, QgsExpressionContextUtils
from qgis.utils import iface
from PyQt5.QtCore import QVariant
from datetime import datetime
from qgis.core import *
import qgis.utils
# Variables d'environnement, noms des répertoires, projets, etc
chemin_projet_source = r'C:/UsersxxxxxxL/'
nom_projet_source = r'xxxxxxxxx.qgz'
ensemble_projet_chemin = chemin_projet_source + nom_projet_source
chemin_projet_impressions_PDF = r'C:/Users/xxxxxxxxxxS/'
# NOM DES VARIABLES
#uri
#couche_source
#couche_resultat
# chemin_projet_impressions_PDF
# Initialise l'application QGIS
QgsApplication.setPrefixPath('C:/Program Files/QGIS 3.26.1', True)
app = QgsApplication([], True)
app.initQgis()
# Ouvre le bon projet Qgis
projet_source = QgsProject.instance()
projet_source.read(ensemble_projet_chemin)
# Informations de connection à la base en MySQL
uri = 'MySQL:sig,host=xxxxxxx,user=xxxxxxxt,password=xxxxxxx|layername=vxxxxxxxs'
nom_couche_source = ('xxxxxxx')
layer = QgsProject.instance().mapLayersByName('xxxxxxx')[0]
iface.setActiveLayer(layer)
couche_source = iface.activeLayer()
datajour = str(datetime.now())
datajourH = datajour[:13]
minutes = datajour[14:16]
couche_resultat = 'POQ du ' + datajourH + 'h' + minutes + '.shp'
chemin_shapefile = chemin_projet_source + couche_resultat
writer = QgsVectorFileWriter.writeAsVectorFormat(couche_source, chemin_shapefile, "UTF-8", couche_source.crs(), "ESRI Shapefile")
vlayer = QgsVectorLayer(chemin_shapefile, couche_resultat[:23], "ogr")
QgsProject.instance().addMapLayer(vlayer)
# A ce niveau la nouvelle couche POQ avec date et heure est ajoutée dans la liste des couches et devient la nouvelle active layer
nom_champ_somme = 'DISPO'
colonnes_somme = ['nb_dispo', 'nb_dispo5', 'nb_dispo_s','nb_dispo_1' ]
expression_somme = '+'.join(colonnes_somme)
contexte_expression = QgsExpressionContext()
POQ = iface.activeLayer()
contexte_expression.setFeature(POQ.getFeature(0))
expression = QgsExpression(expression_somme)
expression.prepare(contexte_expression)
POQ.dataProvider().addAttributes([QgsField(nom_champ_somme, QVariant.Int)])
POQ.updateFields()
# a cet endroit là ça a bien créé le champ DISPO
index_champ_somme = POQ.fields().indexFromName(nom_champ_somme)
POQ.startEditing()
# ca ouvre la couche en édition
for entite in POQ.getFeatures():
contexte_expression.setFeature(entite)
valeur_somme = expression.evaluate(contexte_expression)
POQ.changeAttributeValue(entite.id(), index_champ_somme, valeur_somme)
# Là il faut faire un entrée pour que que ça fasse les calculs puis ensuite
POQ.commitChanges()
# ca enregistre les changements et ferme le mode edition
# Attribuer le style qui va bien et est déjà enregistré en qml
style_existant = r'C:/Users/xxxxxxxxxx.qml'
POQ.loadNamedStyle(style_existant)
POQ.triggerRepaint()
project = QgsProject.instance()
projectLayoutManager = project.layoutManager()
layout = projectLayoutManager.layoutByName("POQ_disponibilités")
sortie = chemin_projet_impressions_PDF + couche_resultat[:23]+ '.pdf'
# ca bloque à cet endroit, ne trouvait pas l'algorithme printlayouttopdf besoin de reinitialiser les processings vu sur GIS STAck Exchange questions num 321569 et avec les mots clés qgsapplication-processingregistry-loads-providers-however-is-empty-when-called
from processing.core.Processing import Processing
proc = Processing()
proc.initialize()
processing.run("native:printlayouttopdf",{'LAYOUT':'POQ_disponibilités', 'OUTPUT': sortie})
#Ferme le projet et l'application QGIS
projet_source.clear()
#ferme bien le projet mais pas Qgis
app.exitQgis()
-----------------
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361911#p361911
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net