#1 Mon 08 September 2014 22:18
- mfangain
- Participant actif
- Date d'inscription: 12 Jun 2012
- Messages: 88
Atlas cartographique avec requête spatiale
Bonjour à tous,
Le site Georezo est une mine d'informations, et jusqu'à présent, j'avais toujours réussi à trouver les réponses à mes questions : merci à tous les contributeurs!
Aujourd'hui, j'ai un souci que plusieurs jours de recherche n'ont pas réussi à résoudre.
Je dispose d'une carte intercommunale avec une quarantaine de communes, ainsi que des informations concernant les transports en communs (lignes et arrêts de bus).
Je souhaite réaliser un atlas de cartes, une carte par commune, avec la liste des lignes desservant la commune en question et les arrêts de bus situés sur son territoire.
Je dispose de QGIS (2.2 et 2.4), et mapinfo 12.0.
J'ai bien trouvé une solution sous MapInfo qui fait appel à de la programmation sous MapBasic http://georezo.net/forum/viewtopic.php?id=49934
mais je n'ai pas l'impression qu'elle permette de réaliser les requêtes topologiques dont j'ai besoin, et je n'ai aucune idée de la façon de l'adapter à mon souci.
J'ai bien vu également une solution pour QGIS avec un script python (http://si.cenlr.org/24-10-2013) mais je ne vois pas comment l'adapter en passant une éventuelle sélection en paramètre.
Si quelqu'un a un peu de temps, et une idée, une technique, un outil qui pourrait m'aider, je suis preneuse!
Sans trop de code si possible, car ce n'est pas vraiment ma spécialité ;-)
Merci d'avance!
MFANGAIN
Hors ligne
#2 Tue 09 September 2014 14:34
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 395
Re: Atlas cartographique avec requête spatiale
Bonjour c'est possible sous Qgis, http://georezo.net/forum/viewtopic.php?pid=249340
Vous pouvez chercher sous Google Qgis atlas.
Hors ligne
#3 Tue 09 September 2014 17:06
- mfangain
- Participant actif
- Date d'inscription: 12 Jun 2012
- Messages: 88
Re: Atlas cartographique avec requête spatiale
Bonjour Cyrille,
Merci pour votre réponse.
J'avais vu ce sujet, mais il ne répond pas à ma question.
En fait, ce n'est pas la génération de l'atlas lui-même qui me pose souci, mais l'affichage des données selon la commune concernée.
Ce qui me manque, c'est sur la page d'une commune donnée, pouvoir afficher plusieurs listes d'objets qui l'intersectent.
J'avais pensé au départ à 2 pistes :
- pouvoir insérer le résultat d'une requête spatiale dans le composeur d'impression
- pouvoir remplir un champ de mes objets "commune" avec la liste des arrêts de bus (par exemple) présents sur son territoire, et l'afficher grâce au composant "ajouter une table d'attributs"
Mais je n'ai pas réussi à aller au bout de ces démarches et à obtenir ce que je voulais...
Hors ligne
#4 Wed 10 September 2014 10:17
- Leyan
- Participant assidu
- Date d'inscription: 14 Oct 2013
- Messages: 160
Re: Atlas cartographique avec requête spatiale
QGis devrait pouvoir faire tout ce que tu veux. Tu as l'air de maitriser la génération d'atlas, c'est une bonne première étape. Ensuite, pour avoir une liste des arrêts dans la commune, il suffit d'ajouter une table, de la pointer sur la couche des arrêts de bus, puis d'ajouter un filtre du type:
Code:
within($geometry,$atlasgeometry)
Cela filtre les arrêts qui sont inclus dans la géométrie de l'élément central de l'atlas. Il y a plein d'autres fonctions géométriques, par exemple intersects est peut-être plus adaptée pour tes lignes de bus, j'imagine qu'il y en a qui sortent de la commune, donc ne sont pas complètement inclues dedans.
Pour afficher les arrêts différemment, il faut leur créer un style "ensemble de règles" et utiliser cette même règle ci-dessus pour contrôler l'apparence des arrêts. Tu peux lire un exemple détaillé ici: http://nathanw.net/2013/12/02/waiting-f … s-feature/
Dans la version de développement Master, future 2.6, il est même possible de filtrer en fonction des attributs de l'élément central de l'atlas. Cela peut être utile si une règle purement géométrique telle que within ne répond pas à tes besoins. Dans ce cas, il faut faire une requête du type:
Code:
"ligneID" = attribute( $atlasfeature, 'ligneID' )
Dernière modification par Leyan (Wed 10 September 2014 10:19)
Hors ligne
#5 Fri 12 September 2014 09:52
- mfangain
- Participant actif
- Date d'inscription: 12 Jun 2012
- Messages: 88
Re: Atlas cartographique avec requête spatiale
Merci beaucoup Leyan, c'était effectivement cette "petite" variable qui me manquait
Le lien pour colorier les objets en fonction de ces variables est également très intéressant.
J'ajouterai juste une précision, si ce sujet sert à d'autres : les couches doivent être dans le même système de projection!
Car même si QGIS reprojette les objets à la volée et qu'on voit bien les objets superposés, la liste reste désespérément vide!
Bon, c'est le même problème dans la plupart des fonctions spatiales, il suffit d'y penser ;-)
Je suis vraiment admirative de tout le travail accompli par la communauté de QGIS, qui a aujourd'hui toutes les capacités pour égaler, voire surpasser, ses équivalents commerciaux... Merci et bravo!
Hors ligne