#1 Thu 18 July 2013 15:20
- GR3G
- Juste Inscrit !
- Date d'inscription: 23 Apr 2012
- Messages: 6
Python enregistrer selection
Bonjour,
J'explique mon problème :
Je dois exporter le bâti de 514 communes. De façon plus précise je dois exporter commune par commune le bâti.
je peux faire le travail commune par commune mais 514 fois la même manipulation ça peut être long.
Du coup je souhaite automatiser la tache (j'ai des bases en MapBasic mais très peu en python). J'ai déjà une partie du script qui me permet de sélectionner le bâti (en fonction du code INSEE) mais je n'arrive pas à exporter ma sélection.
Je souhaite savoir si un code python peut me permettre d'exporter (au format shp) ma sélection? Si oui, si vous avez une idée de code je suis preneur et je pense que beaucoup d'entre nous peuvent être intéressés.
Grégori
Hors ligne
#2 Thu 18 July 2013 18:13
- aurelien.quiblier
- Participant actif
- Lieu: Lyon
- Date d'inscription: 26 Oct 2010
- Messages: 146
- Site web
Re: Python enregistrer selection
Bonjour,
Tu peux utiliser la commande "Générer une couche".
Le code en Python est le suivant :
Code:
arcpy.MakeFeatureLayer_management(couche, nouvelle_couche, "\"TA SELECTION EN SQL")
Pour un traitement aussi cours, je te conseille de regarder Model Builder, qui permet de faire ceci en 1 seul géotraitement. Avec une itération, tu pourrais répéter ton traitement sur tes 514 communes. Jette un coup d'oeil ici : http://help.arcgis.com/fr/arcgisdesktop … 001n000000.
Aurélien QUIBLIER
arx iT
Hors ligne
#3 Fri 19 July 2013 14:01
- GR3G
- Juste Inscrit !
- Date d'inscription: 23 Apr 2012
- Messages: 6
Re: Python enregistrer selection
Bonjour,
Merci pour votre aide.
Alors j'ai bien utilisé le code (j'ai même utilisé la fonction pour mieux comprendre). Le problème c'est qu'il il ne m'enregistre aucune sélection et je ne suis pas vraiment certain que cette fonction réponde à mon problème. En effet, il faut que je sélectionne le bâti des 514 communes et que j'enregistre 514 shape. la fonction ne permet pas d’enregistrer.
J'ai étudié Model Builder et j'avoue être un peu perdu. J'utilise la fonction "itérer dans une sélection" et j'utilise le code INSEE comme valeur de sélection. Le problème est toujours le même: comment enregistrer ma sélection en shape?
Grégori
Hors ligne
#4 Fri 19 July 2013 14:09
Re: Python enregistrer selection
Bonjour,
Sans Python : http://www.umesc.usgs.gov/management/ds … _tool.html
Avec Model Builder, ça donne un truc comme cet outil : http://resources.arcgis.com/fr/gallery/ … 6D9920F808 pour faire ce qui suit, à priori :
[img]http://i.stack.imgur.com/foaMV.png[/img]
Source : http://gis.stackexchange.com/questions/ … ular-field
Hors ligne
#5 Fri 19 July 2013 16:02
- aurelien.quiblier
- Participant actif
- Lieu: Lyon
- Date d'inscription: 26 Oct 2010
- Messages: 146
- Site web
Re: Python enregistrer selection
Le problème de l'outil "Générer une couche" est qu'il crée une couche temporaire (selon la sélection effectuée).
Il est nécessaire d'utiliser ensuite la fonction "classe d'entités vers classe d'entités" ou bien "copier des entités".
Essayez quelque chose comme cela (voir PJ), en itérant selon le code INSEE.
Dernière modification par aurelien.quiblier (Fri 19 July 2013 16:07)
Aurélien QUIBLIER
arx iT
Hors ligne
#6 Mon 22 July 2013 08:13
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: Python enregistrer selection
Bonjour,
L'outil "sélectionner" dans la arctoolbox (equivalent selectAnalys), permet d'extraire une partie d'une couche à partir d'une requête.
Le premier travail reste à faire la boucle python.
A+
Hors ligne
#7 Mon 22 July 2013 09:20
- GR3G
- Juste Inscrit !
- Date d'inscription: 23 Apr 2012
- Messages: 6
Re: Python enregistrer selection
Bonjours,
Alors oui j'ai bien utilisé le code de l'outils "sélectionner" dans la arctoolbox.
Cependant je n'est pas fait de boucle, mais j'ai utilisé scriptgen (c'est beaucoup moins propre qu'une boucle mais le résultat est le même).
Et me voici avec le bâti de mes 514 communes.
Merci pour votre aide.
Hors ligne