Message posté par : Jean-Daniel Lomenède
----------------------------------------
Bonjour,
-----------------
Code :
myComposition = activeCompo.composition()
-----------------
Ce n'est plus utile. La classe QgsComposition n'existe plus et est remplacé par QgsPrintLayout. Pour exporter il faut faire appelle à la classe QgsPrintLayoutExporter.
Regardez sur ce post le code posté par Alexandre Neto (réponse pour la version 3)
https://gis.stackexchange.com/questions/272839/export-a-configured-atlas-wi…
Et en particulier le commentaire de nyalldawson qui explique comment la procédure est simplifiée sur la 3.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329319#p329319
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 : Morgane3034
----------------------------------------
Voici la 1ère couche.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329318#p329318
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 : Morgane3034
----------------------------------------
ok
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329317#p329317
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 : Alexandre Vincendeau (alexvincendeau(a)gmail.com)
----------------------------------------
Merci beaucoup pour cette info !
Néanmoins, je ne suis pas encore très à l'aise avec les scripts sous QGIS, mais je vais creuser la question !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329303#p329303
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 : Philche (div.chevrete(a)gmail.com)
----------------------------------------
Bonjour,
Je suis nouveau sur ce forum et je n'ai pas trouvé de solution dans les différents posts.
Je ne suis pas un spécialiste du traitement des données géospatiales et encore moins des SIG. Cependant depuis quelques années j'utilise QGis pour visualiser et faire quelques manipulations très simples.
Aujourd'hui j'essaye d'aller plus loin mais je sèche ! J'utilise Qgis Madera 3.4
Mon problème :
Obtenir un shapefile en WGS84 EPSG 4326 comportant des entités de type polygone (rectangle de x mètres par y mètres de cotés) le tout aligné sur un fond de carte Google en EPSG 3857. Shapefile que je pourrais charger dans une console Trimble afin de connaitre en live notre position dans le dispositif (champ de parcelles d’expérimentation de variétés, semis autoguidage en RTK).
J'essaye d'utiliser la grille d'analyse pour générer mes entités (qui représente mes micro parcelles d'essais 6m x 6m, 6m x 4.5m ....).
- Premier problème, si j'utilise une couche vectorielle avec une projection en 3857, les dimensions définies (en mètres) des entités ne correspondent pas lorsque je les mesures et je n'ai que des coordonnées en "left" "right"... et pas de coordonnées Long. / Lat.
- Si j'utilise une couche en 4326, les unités se transforment en degrés, pas très pratique pour définir les dimensions en mètres des entités, mais surtout problème, lorsque je pivote les entités pour les aligner sur mon sens de travail, la géométrie des entités se déforme, donc inutilisable.
- Si j'utilise en couche en Lambert, ma table d'attribut est vide. J'ai trouvé pour remplir les X et Y avec la fonction x($geometry) et y($geometry) au passage la fonction $x et $y ne fonctionnent pas, mais je ne sais pas comment convertir ces Y et X en Long. / Lat. afin de pouvoir reprojeter la couche en 4326 exploitable dans la console.
Au passage, je ne sais pas exactement ce que retourne comme coordonnées la fonction x($geometry), le centroïde de la géométrie ? En 3857 pour une entité rectangle j'ai les coordonnées des 4 coins.
J'ai trouvé des convertisseurs en ligne de coordonnées X,Y en 4326, mais limité en nombre de coordonnées, je peux avoir plus de 2000 entités et nécessite trop d'étape d'export de copier/coller etc... Je pense que mon problème est relativement simple pour des spécialistes.
L'objectif étant de faire : "précis" et simple afin de pouvoir diffuser la manip auprès de mes collègues... qui connaissent encore moins les SIG que moi !
Pour résumer :
- Affichage d'une emprise google
- Création d'une couche vecteur avec des entités rectangles (en mètre), avec manipulation des entités sans déformation
- Export (reprojection) de cette couche en 4326 avec coordonnées Longitude / Latitude exploitable par la console.
Par avance merci pour vos réponses, Philippe
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329302#p329302
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 : Vincent
----------------------------------------
Avec une requête du genre "Case When Then"et 2 opérateurs modulo, ça doit être faisable.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329301#p329301
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 : Alexandre Vincendeau (alexvincendeau(a)gmail.com)
----------------------------------------
Bonjour à toutes et à tous,
Voici mon problème :
J'ai une grille 138 colonnes et 68 lignes (9384 cases).
Chaque case de la grille possède un ID de 1 à 9384, jusqu'ici, rien de sorcier.
Cependant, je voudrais faire en sorte que la case 1 (ligne 1, colonne 1) se nomme A1, la case 68 (ligne 68, colonne 1) se nomme A68, la case 69 (retour à la ligne 1, colonne 2) B1, la case 136 (colonne 2, ligne 68) B68 et ainsi de suite.
Je n'arrive pas à trouver de solution....
Merci beaucoup à celles et ceux qui pourront m'aider sur ce problème :)
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=329293#p329293
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 : 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