#1 Mon 26 March 2012 11:54
Communes limitrophes d'un ensemble de communes
Bonjour,
Je cherche à mettre en œuvre une moulinette qui me permettra de connaître les communes limitrophes d'un ensemble de communes.
Ex : Commune 1 : limitrophes des communes 2,3,41,87
Si vous avez une idée de comment procéder, je suis preneur car j'ai du mal à conceptualiser le projet.
Par avance, merci.
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#2 Mon 26 March 2012 12:53
Re: Communes limitrophes d'un ensemble de communes
Il faut créer une topologie avec TopologyBuilder et exploiter les infos associées aux arcs (polygone à droite et à gauche) et aux polygones (liste des arcs).
Hors ligne
#3 Mon 26 March 2012 14:35
Re: Communes limitrophes d'un ensemble de communes
TopologyBuilder ne fonctionne pas avec une source de données PostGIS ?
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#4 Mon 26 March 2012 14:58
Re: Communes limitrophes d'un ensemble de communes
L'action des transformers ne dépend pas du format de la source de données, donc oui TopologyBuilder fonctionne avec du Postgis. Il faut lui donner des polygones en entrée.
Hors ligne
#5 Mon 26 March 2012 15:07
Re: Communes limitrophes d'un ensemble de communes
Étonnant, je lui donne 2000 polygones en entrée et il ne me ressort rien du tout.
Les polygones sont dans une base postgis et j'arrive à les visualiser sur qgis ou le viewer.
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#6 Mon 26 March 2012 15:52
Re: Communes limitrophes d'un ensemble de communes
Les polygones en entrée doivent être simples.
Utilisez Deaggregator pour supprimer les agrégats.
Hors ligne
#7 Mon 26 March 2012 16:14
Re: Communes limitrophes d'un ensemble de communes
Effectivement, c'était bien le point bloquant.
Pour récupérer les différents polygones voisins du polygone central. Il faut comparer les identifiant des lignes (de la sortie POLYGON ) avec les arcs de la sortie LINE ?
En utilisant un AttributeSplitter on créer alors deux listes. Y a t-il une façon simple ensuite de comparer ces informations et ainsi rattacher les communes voisines de chaque communes.
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#8 Mon 26 March 2012 17:11
- Sarah - VEREMES
- Participant actif
- Date d'inscription: 21 Apr 2009
- Messages: 51
Re: Communes limitrophes d'un ensemble de communes
Bonjour,
Pourquoi ne pas utiliser SpatialRelator avec l'opérateur "touche" ?
Il faut que les communes rentrent par le port base et par le port candidate. Pour facilement les différencier, on peut ajouter avant de rentrer dans le port Candidate, un AttributePrefixer pour préfixer chaque attribut, par exemple avec "voisin_". Ainsi, à la sortie du SpatialRelator, on a une liste de "voisins", avec un ListConcatenator, on créé un attribut contenant les différentes valeurs.
Sarah MOURE
Veremes : support FME & version française
Hors ligne
#9 Mon 26 March 2012 17:38
Re: Communes limitrophes d'un ensemble de communes
Bonjour Sarah,
J'ai donc fait un attributesplitter puis un listexploser et ça devrait rouler.
Merci à l'équipe.
Dernière modification par heretik25 (Mon 26 March 2012 17:50)
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#10 Mon 26 March 2012 17:52
- Sarah - VEREMES
- Participant actif
- Date d'inscription: 21 Apr 2009
- Messages: 51
Re: Communes limitrophes d'un ensemble de communes
Les communes vont ressortir par le port Output avec une liste de voisines.
Ex :
id_com = 1
list{0}.voisin_id_com = 232
list{1}.voisin_id_com = 54
list{2}.voisin_id_com = 1065
Il faut ensuite rassembler les valeurs de l'attribut de la liste avec ListConcatenator pour avoir quelque chose comme ça :
liste_voisines = 232,54,1065
Je ne vois pas où utiliser AttributeSplitter ?
Sarah MOURE
Veremes : support FME & version française
Hors ligne
#11 Mon 26 March 2012 17:57
Re: Communes limitrophes d'un ensemble de communes
Je splitte les 232,54,1065 avec "," pour récupérer les trois identifiants voisins et insérer en base par la suite.
Ce n'est peut être pas la bonne méthode.
Dernière modification par heretik25 (Mon 26 March 2012 17:57)
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#12 Mon 26 March 2012 18:08
- Sarah - VEREMES
- Participant actif
- Date d'inscription: 21 Apr 2009
- Messages: 51
Re: Communes limitrophes d'un ensemble de communes
ça dépend quel est le but final ??
Sarah MOURE
Veremes : support FME & version française
Hors ligne
#13 Mon 26 March 2012 18:19
Re: Communes limitrophes d'un ensemble de communes
Le but est de connaître les communes voisines de l'ensemble de mes communes et intégrer cette information dans une base relationnelle.
Une "commune centre" peut avoir une ou plusieurs communes voisines
Une commune voisine peut être attachée à une ou plusieurs "communes centre"
Toutes les communes sont à un moment ou un autre commune voisine ou commune centre.
Cela permet de pré-calculer la requête qui demanderait les communes voisines d'une commune de la base.
Dernière modification par heretik25 (Mon 26 March 2012 18:20)
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne