Message posté par : UPI (christophe.skorupka(a)auvergnerhonealpes.fr)
----------------------------------------
Bonjour,
Mon employeur nous a récemment upgradé notre version de Qgis de la 2.14 à la 3.4. Nous utilisions plusieurs scripts (exécution depuis ScriptRunner) pour automatiser notre production de carte. Le passage à PyQt5 m'oblige à faire de nombreuses modifs sur le script. Jusqu'ici je me suis débrouillé avec les traceback et google mais là je coince
Voici un extrait du code en question :
def run_script(iface):
global project_path
project_path = str(QgsProject.instance().homePath()) #Recupere le dossier du projet en cours
relative_folder = "\exportatlas\" #Chemin relatif du dossier d'export par rapport au projet
uv_field_name = "UV" #Nom du champ des valeurs uniques
format = "png" # Autorises unqiuement les formats raster. Pas de pdf ni de svg pour l'instant
#PATH VERS L'EXPORT
folder = project_path + relative_folder
#utilise la couche selectionnee dans le controle des couches
activeLayer = iface.activeLayer()
themaLayer1 = QgsProject.instance().mapLayersByName('couche_thema1')
themaLayer2 = QgsProject.instance().mapLayersByName('couche_thema2')
themaLayer3 = QgsProject.instance().mapLayersByName('couche_thema3')
themaLayer4 = QgsProject.instance().mapLayersByName('couche_thema4')
#changer l'index si besoin d'un autre composeur
activeCompo = QgsProject.instance().layoutManager().layouts()[1]
myComposition = activeCompo.composition() ######
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329292#p329292
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 : Laurent M (dioilamahina(a)yahoo.fr)
----------------------------------------
A force de persévérance !
Le plughin NNjoin fonctionne bien pour calculer la distance des points à la ligne.
L'erreur venait, dans mon cas, du fait que, dans la couche point, la première colonne n'était pas la colonne ID.
Résolu.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329290#p329290
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 : FloSnow
----------------------------------------
Bonjour GeGaX.
Intéressant pour la limitation lors de la création des KML, comme quoi le volume des données compte en effet beaucoup.
- Pour l'étape "Réparer les polygones" :
Après quelques recherches, il ne semble pas y avoir encore de moyen d'utiliser cet outil de traitement directement sur console. J'ai trouvé une discussion pouvant apporter une solution dans l'avenir avec les nouvelles versions de QGIS mais sans ogr/gdal : https://github.com/qgis/QGIS-Enhancement-Proposals/issues/140
Au cas où, il est toujours possible de partir d'un script .py (script réalisé à partir du topic : https://gis.stackexchange.com/questions/345503/standalone-pyqgis-script-for…) :
-----------------
Code :
import sys
from qgis.core import QgsApplication
from qgis.analysis import QgsNativeAlgorithms
# Chemin des modules python
sys.path.append(r"C:\Program Files\QGIS 3.10\apps\qgis\python\plugins")
# Initialisation de QGIS, sans l'interface
qgs = QgsApplication([], False)
qgs.initQgis()
# Import et initialisation des outils de traitement
import processing
from processing.core.Processing import Processing
Processing.initialize()
# Cette ligne permet de prendre en compte les outils "natifs" de QGIS, dont fait partie "Réparer les géométries"
QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms())
# Lancement du traitement "Réparer les géométries"
processing.run("native:fixgeometries", {'INPUT':'input.shp','OUTPUT':'output.shp'})
-----------------
Puis de le faire tourner en insérant son chemin dans la console (en partant du OSGeo4W Shell) :
-----------------
Code :
python-qgis script.py
-----------------
- Pour l'étape "Polygones vers Lignes" :
Il est possible d'extraire uniquement les contours des géométries, et donc de créer un shape de lignes, en utilisant une requête SQL via ogr2ogr :
-----------------
Code :
ogr2ogr output.shp input.shp -dialect sqlite -f "ESRI Shapefile" -sql "select ST_ExteriorRing(geometry) as geometry, * from input"
-----------------
"-dialect sqlite" semble être obligatoire pour permettre à la requête de fonctionner.
Il risque cependant d'y avoir des erreurs de géométries s'il y a des entités multi-parties avec des trous.
Cordialement.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329289#p329289
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 : Pierre
----------------------------------------
Bonjour,
As-tu essayé avec la fonction shortest_line, j'ai testé et ça fonctionne chez moi avec une expression du style :
round(length(shortest_line($geometry,geometry(get_Feature('macoucheligne','id','1')))),1)
On peut appliquer cette expression dans les étiquettes et dans le style via le générateur de géométrie mais aussi via la calculatrice de champs comme tu le souhaites.
Pierre
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329285#p329285
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 : Laurent M (dioilamahina(a)yahoo.fr)
----------------------------------------
Bonjour,
j'ai une couche vecteur point.shp avec un champ unique idd
j'ai une couche vecteur ligne.shp (avec une seule entité dans la table), propriété Line (MultiLineString), avec un champ unique ID
Les deux couches sont projetées.
Je souhaite calculer la distance de chaque point à la ligne c'est à dire la distance perpendiculaire partant du point vers la ligne (comme l'indique l'image jointe basée sur un exemple, à droite mon état de départ, à gauche la distance calculée). Je souhaite que cette distance soit retournée dans la table point.shp
J'ai essayé en vain différents outils (dont v.distance) et extensions (dont NNjoin), mais cela ne renvoie pas le résultat que j'attends. J'essaie cette formule :
line_locate_point ($geometry, geometry(get_feature('macoucheligne','unchamp','lavaleurcorrespondante')))
Sur ma couche point, dans la calculatrice de champ, je copie cette formule avec :
macoucheligne = sélection de la couche ligne, ce qui donne l'ID de la couche 'line_dde2b511_fa0a_458f_bb6f_3f56c11e6f48'
unchamp = le champ à remplir que j'ai créé, ici "dist_m" champ de la couche point
lavaleurcorrespondante = "idd" champ de la couche point
line_locate_point ($geometry, geometry(get_feature('line_dde2b511_fa0a_458f_bb6f_3f56c11e6f48',"dist_m","idd")))
Je doute que cette formule soit bien remplie voir que ce soit la bonne formule, qu'en pensez vous ?
Merci
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329282#p329282
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 : Thomas
----------------------------------------
Bonjour,
ayant été confronté au même problème, mais sur windows 10 et sur l'install de la LTR 3.4.14 en standalone, j'ai fouillé pour trouver cette solution pour la version 3.10, mais qui a fonctionné chez moi :
https://github.com/qgis/QGIS/issues/33386
Pour résumer, il faut ajouter une variable d'environnement personnalisée en passant par le menu "Préférences" > "Options" et choisir l'onglet "système"
Dans "environnement ", activer la case "utiliser des variables personnalisées" puis le bouton +
appliquer > Ajouter à la fin
Variable > PYTHONPATH
Valeur > C:\Program Files\QGIS 3.4\apps\Python37\Scripts
cf image ci-jointe
à+
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329281#p329281
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 : helene marlier
----------------------------------------
Merci pour votre réponse mais j'ai cette extension et ça ne règle pas le problème.
J'ai trouvé sur internet une réponse à cette question.
https://github.com/qgis/QGIS/issues/32118
Apparemment le problème a été corrigé si j'ai bien compris le message qui était en anglais.
J'ai fait des test et effectivement c'est corrigé mais en version 3.10 et non pas dans la version LTR.
Comment peux t-on faire pour demander que cette correction soit faite dans la version LTR ?
Merci
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329279#p329279
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 : Patrickblancseau
----------------------------------------
question de débutant
j'ai 2 tables attributaire et je leur faitune jointure dans modeler de traitement, tous fonctionne parfaitement
par contre impossible de choisir les colonnes qui vont être importés
j'ai tente
col1,col2
[col1,col2...]
['col1','col2'...]
elle doit avoir cette forme
'FIELDS_TO_COPY' : ['INSEE','CODE_POSTAL','PREFECTURE']
mais sur tout mes tentative
FIELDS_TO_COPY: '[\'INSEE\',\'CODE_POSTAL\',\'PREFECTURE\']'
quelqu'un a t'il la solution
d'avance merci
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329277#p329277
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 : dave31
----------------------------------------
Bonsoir,
En enregistrant le style par défaut :
Propriétés de la couche⇒Style (en bas)⇒Enregistrer par défaut
Un fichier .qml avec le nom de la couche sera créé à côté du .shp
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329274#p329274
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 : ElsaZaz (natura2000.sepanlog(a)gmail.com)
----------------------------------------
Bonjour à tous
suite à cette procédure de création d'une liste déroulante pour faciliter la saisie en grand nombre
comment est-il possible de sauvegarder la couche ainsi créée afin de l'utiliser sur un autre projet par exemple en concervant l'ensemble du paramétrage ! ???
ou bien de dupliquer la couche avec les mêmes paramétrages
car si je sauvegarde la couche sous un autre nom, et/ou que je l'ouvre sur un autre projet , le paramétrage des listes déroulantes n'est pas sauvegardé.
et tout est à refaire
pour information je suis sur la version Qgis 3.6 ou 3.10 même problématique.
j'espère avoir été claire dans ma demande
je vous remercie pour la richesse de ce forum avec ces trucs et astuces !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329269#p329269
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