Manteau Mi En Bleu Set FoncéRouge saison 1FlJTKc | Marvin Chaussures À Lacets amp;co Nucciato Bruciato y6bgvf7Y |
Forums | Blogs | Wiki | PlanetMotif À River Island PetiteCombishort Et Foulard Montante Encolure UMGLpSzVq | Carte des membres | Sites amis |
Si vous lisez ce message, cela signifie que vous êtes sur le nouveau serveur de GeoRezo.
Toutefois, suite à la migration, des anomalies voire des régressions existent et seront corrigées progressivement.
Merci de votre patience.
Pages: 1
Bonjour
Je possède un shape composé de 10 polygons distincts. Je cherche à éclater mon shape en 10 shape distincts avec un objet par shape. Exist'il un outil sous Arcgis 10.3 pour réaliser cette manip.
Sous QGIS, dans "Vecteur", "Outil de gestion de données" il y a "Séparer une couche vectorielle". Je cherche l'outil similaire sur Arcgis 10.3.
Si vous avez une piste je suis complètement preneur sous Arcgis 10.3, et non sur les versions précédentes où plusieurs Addins existent.
Merci
Séb
Hors ligne
Si tu peux pas attendre que l'USGS mette à jour son addin, voici ma proposition avec Model Builder:
Dans Model builder
ouvrir un nouveau modèle
-Ajouter un itérateur d'entités:
Insérer->Itérateurs->Sélection d'entités
Double clic sur "Itérer dans une sélection"
Dans Entités en entrée pointer sur la couche de polygones
Dans champ de groupement sélectionner le FID ou OBECTID, bref, l'identifiant des enregistrements
Cliquer sur OK
-Ajouter au modèle l'outil "classe d'entités vers classe d'entités":
Outils de conversion->Vers une geodatabase->classe d'entités vers classe d'entités
Double clic sur l'outil
Dans entités en entrée ouvrir le menu déroulant et sélectioner I_xxxx_Dans_entités_en_entrée
Dans Emplacement en sortie" pointer sur une geodatabase ou un répertoire
Dans classe d'entités en sortie mettre le nom des polygones en sortie avec %Valeur% (qui contiendra le numéro d'itération
996 Balance New Steel Baskets l1JcFTKSi c'est dans une geodatabase: polygones%Valeur%
Si c'est dans un répertoire polygones%Valeur%.shp
C'est prêt.
Sélectionner les polygones à exporter (le modèle travaille sur la sélection, comme ça on n'est pas obligé de tout traiter)
Exécuter le modèle
J'ai testé et ça marche.
Daniel
Hors ligne
Si tu as ET Geowizard, tu peut utiliser la fonction Split by Attribute.
Ou alors vu que tu n'as que 10 polygones tu peut aussi les exporter un à un mais ce serait une méthode plutôt fastidieuse pour une fichier avec plus d'entités...
Sinon je suis aussi curieux de savoir comment faire sans Geowizard...
Corentin
EDIT : ah j'ai été surpassé, c'est vrai que le ModeBuilder c'est l'outil idéal pour ce genre d'opération
Dernière modification par OhCheat (Wed 06 May 2015 15:55)
Hors ligne
merci pour vos réponses. Je n'ai pas ET GEOWIZARDS, malheureusement....
pour l'xport des polygons un à un pas terrible quand même.
Merci Daniel pour le détail du MB. Je vais regarder cela de plus près.
On attends donc l'Addins avec impatience
merci pour vos réponses
Séb
Hors ligne
Ça veux dire qu'il n'y aucun outil déjà présent sans add qui peut faire ça ? C'est quand même pas très pratique...
Je trouve ça un peut bête de ne pas avoir accès à des fonctions "basique" telles que celles la sans extensions
Hors ligne
Si tu possèdes FME, il y a une fonction qui s'appelle répartir.
http://georezo.net/forum/viewtopic.php?id=96627
Hors ligne
Bonjour,
Voici un exemple pour faire cette manip par un fichier python de script.
Ce script est exécutable soit par la fenêtre de ligne de commande d'Arcgis soit en mode autonome depuis la console.
import arcpy,os # import des modules couche = r"C:\Users\ngranier\Desktop\znro.shp" #la couche en entree sortie=r"C:\Users\ngranier\Desktop\out" #le repertoire - dossier de sortie champDeTri="LOCALISATI" # le champ de tri valeurPossible=[] # on cree une liste vide qui va contenir toutes les valeurs possibles du champ de tri table=arcpy.SearchCursor(couche) #on parcourt la table for ligne in table : valeurChamp=ligne.getValue(champDeTri) if valeurChamp not in valeurPossible : valeurPossible.append(valeurChamp) #on ajoute dans la liste des valeurs possibles chaque nouvelle valeur trouvee compteur=0 for valeur in valeurPossible[1:] : #pour chaque des valeurs du champ de tri compteur+=1 # on met un compteur pour faire une sortie fichier_1, fichier_2 coucheSortie=sortie +"/" + os.path.basename(couche).split('.')[0] + "_" + str(compteur) # on genere un nom pour la couche en sortie arcpy.Select_analysis (couche,coucheSortie,"\"%s\"='(%s)' " %(champDeTri,valeur)) # on exporte la couche
Attention : il ne doit pas y avoir d'apostrophes dans les valeurs du champs de tri (pas géré dans ce script)
A+
Nicolas GRANIER
Hors ligne
D'autres infos si besoin (en anglais par contre): http://gis.stackexchange.com/questions/ … alues-usin
Hors ligne
Si tu as l'extention X-Tool Pro (disponible en version d'essaie gratuitement mais après il faut quand même payé...) il y a Split by attribut sous l'onglet feature convertion
Hors ligne
Bonjour,
Il y a aussi la toolbox GME (Geospatial Modelling Environment) qui dispose de la commande splitdataset.
http://www.spatialecology.com/gme/splitdataset.htm
Martin
Hors ligne
Bonjour à tous,
ça fait un moment que ce message a été posté mais je souhaitais faire remonter le sujet car je suis dans une impasse.
Tout d'abord, je travaille sous Arcgis 10.5. Je tente de faire fonctionner le script ci-dessus, c'est-à-dire, éclater un fichier.shp afin de créer un fichier.shp pour chaque ligne de ma table attributaire. Du coup, j'ai adapté les variables à mon projet en indiquant les bons chemins. Le script se lance et fonctionne en créant un .shp pour chaque ligne mais les fichiers générés sont vides, et n'ont donc aucune géométrie ?
Quelqu'un aurait une piste ? Une fonction que j'aurais oublié d'utiliser ?
Merci beaucoup.
Fritz
Hors ligne
Bonjour,
Si les fichiers de sortie sont vides, il est vraisemblable que le problème vienne de la sélection.
Tu as changé les chemins mais as-tu changé le nom du champ ?
champDeTri="LOCALISATI" # le champ de tri
Dans le script proposé, le champ est de type string (voir requête SQL). Est-ce également ton cas ?
arcpy.Select_analysis (couche,coucheSortie,"\"%s\"='(%s)' " %(champDeTri,valeur)) # on exporte la couche
Il serait intéressant de vérifier si la liste de valeurs est correctement constituée en ajoutant un print.
for ligne in table : valeurChamp=ligne.getValue(champDeTri) if valeurChamp not in valeurPossible : valeurPossible.append(valeurChamp) #on ajoute dans la liste des valeurs possibles chaque nouvelle valeur trouvee print valeurPossible compteur=0
Enfin je ne comprends pas pourquoi la 1ère valeur de la liste est exclue du traitement.
for valeur in valeurPossible[1:] : #pour chaque des valeurs du champ de tri
Dernière modification par kant_ein (Wed 14 November 2018 09:35)
Hors ligne
Pages: 1
Powered by FluxBB
Communauté | Ressources | L'emploi | Le marché | L'association | Fils RSS | |
---|---|---|---|---|---|---|
Forum Blogs Wiki Planet Carte des membres Sites amis |
Annuaire Agenda Biblio Motif À River Island PetiteCombishort Et Foulard Montante Encolure UMGLpSzVq Netvibes Fiches AMO-CNIG Paris PCGIS Téléchargements |
Offres d'emploi Banque de CVMotif À River Island PetiteCombishort Et Foulard Montante Encolure UMGLpSzVq Carte des CV Formations Démarche Métiers |
Geo-Entreprises Geo-Communiqué Appels d'offres |
L'association Qui sommes-nous ? Nous aider Bienfaiteurs Partenaires Historique Statuts |
Tout le site Job Géomatique Services GeoBlogs ... |
Faire un don Mentions légales |