#1 Mon 24 October 2011 16:34
- Marinedu69
- Participant occasionnel
- Date d'inscription: 1 Oct 2011
- Messages: 13
Clip avec + de 20000 shapefiles
Bonjour,
J'ai un problème avec ArcGis qui me donne bien du souci. Est-il possible de faire un clip avec un shapefile d'entrée ("input features") et au moins 20000 shapefiles ("clip features") de manière rapide sans passer par le "batch" de l'outil "clip" ? Est-ce qu'il n'y aurait pas un moyen de faire un clip avec mon shp d'entrée et une geodatabase contenant mes 20000 shps ?
Je travaille sous ArcGis 10.
Merci pour votre aide.
Marine
Hors ligne
#2 Mon 24 October 2011 18:54
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: Clip avec + de 20000 shapefiles
Bonjour
Est-ce que de faire un masque de règlerait pas votre problème?
sinon, partir le clip le soir en espérant que le tout soit fait durant la nuit!!!
Commentaire : 20 000 shape files!!!!!! J'ai déjà travaillé avec beaucoup de couches, de gros fichier mais 20 000, je suis détrôné!!!!!
Daniel
De retour à la géomatique
Hors ligne
#3 Tue 25 October 2011 10:42
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: Clip avec + de 20000 shapefiles
Bonjour,
Si le sujet fait bien suite à celui-ci, il serait peut être plus sage de discuter ici de ce que vous voulez vraiment obtenir et des différentes méthodologies envisageables, avant de se lancer tête baissée dans des problèmes techniques qui comme le souligne Daniel sont peu commun.
Personnellement, je vois difficilement comment dans une organisation logique et raisonnée des données on peut en arriver à devoir travailler avec autant de couches et j'ai tendance à penser qu'il y a surement + simple à faire.
Hors ligne
#4 Tue 25 October 2011 17:20
- Marinedu69
- Participant occasionnel
- Date d'inscription: 1 Oct 2011
- Messages: 13
Re: Clip avec + de 20000 shapefiles
Bonjour,
Merci pour vos réponses.
Je vous expose mon objectif et mes problèmes:
Ojectif : calculer la proportion d'habitat dans des zones buffer de 5 km autour de localisations GPS réels et aléatoires en vue de réaliser ensuite une analyse statistique.
Matériel : j'ai 22 shapefiles spécifiques à chaque individu. Dans un shp (donc pour un individu), j'ai les zones buffer de 5 km de plusieurs points réels et aléatoires (nb réels = nb aléatoires). Par exemple, pour l'individu 1, j'ai 732 points réels et 732 points aléatoires soient 732 x 2 = 1464 zones buffer. Les autres individus peuvent avoir un nb de points réels et aléatoires différents de l'individu 2 ou 3 dc un nb de buffer différents.
Méthodes : au début, je voulais utiliser l'outil "split" pour avoir les différents habitats dans toutes les zones buffer pour chaque individu. En fonction de ce que me donne le split, je pensais faire ensuite un "dissolve" pour regrouper les polygones d'habitat de même catégorie et ensuite utiliser l"outil "calculate area" pour le calcul d'aire de mes zones buffer sans les habitats et de mes polygones d'habitat dans les zones buffer pour avoir la proportion.
Problème de l'outil split sous ArcGis : au bout de quelques minutes (1% sur le compteur), un message d'erreur apparaît : 999998 : Unexpected Error.
J'ai recommencé plusieurs fois rien y fait. Toujours le même pb !! J'ai même réinstallé ArcGis sous mon pc. Je travaille sous ArcGis 10. J'ai aussi la possible de travailler sous ArcGis 9.3 et j'ai eu le même pb mais cette fois-ci à 0%.
J'ai cherché une autre alternative : utiliser l'outil "clip" avec shp d'habitat et mes zones buffer puis "dissolve" puis "calculate area". Mais pour utiliser l'outil "clip", je ne dois pas avoir les 1464 zones buffer (pour seulement l'individu 1) dans un même shp mais avoir 1464 shp différents. j'ai donc utilisé l'outil "split by attributes".
Problème de l'outil "clip" : chez moi, ArcGis ne supporte qu'une trentaine de données dans le "batch" sinon j'ai de nouveau un message d'erreur et j'ai environ (juste pour avoir un ordre d'idée) 1464 x 22 = 32208 shp (sachant que je peux avoir + de points pour les autres individus).
Si j'ai parlé de 20000 shp, c'est parce que j'ai bien sûr plusieurs années !!!
Voilà, on va dire que j'ai bcp de souci avec ArcGis et je n'en vois pas la fin malheureusement !!! . Donc si vous auriez quelques idées à me suggérer, je suis bien évidemment preneuse. Si il y avait moyen de calculer mes proportions pour toutes mes années rapidement. Ce serait super !
Merci pour votre aide et merci aussi d'avoir répondu à mes messages car je n'ai pas eu cette chance dans les autres forums.
Marine
Hors ligne
#5 Tue 25 October 2011 18:29
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: Clip avec + de 20000 shapefiles
Je pense que l'outil intersect devrait faire l'affaire.
Tu peux faire un intersect entre ta couche bâti et ta couche buffer. Tu obtiens alors les bâtiments découpés en fonction des buffers, et si un bâtiment est inclus dans plusieurs buffers alors tu auras autant de fois le même objet qu'il y a de buffer l'incluant. De ce fait il n'est pas nécessaire de séparer tes buffers ds des shp distincts.
La table attributaire te donne pour chaque entité ses attributs d'origine (donc le type d'habitat) et les attributs de l'objet intersectant (donc l'identifiant du buffer).
Tu calcul tes surfaces puis dans ArcMap tu peux facilement obtenir un premier résultat en faisant un clic droit sur le champs identifiant le buffer : choisis "Summarize" et dans les statistiques calcul la somme des superficies. C'est l'équivalent d'un GROUP BY en SQL. Tu obtiens la superficie de bâti pour chaque buffer mais il n'y aura pas le détail selon le type de bâti.
Pour obtenir ce détail il te faudra passer par un tableur ou une BD par exemple via une requête dont le GROUP BY porte sur 2 champs (id buffer et type bati).
Bon courage.
Hors ligne
#6 Wed 26 October 2011 10:48
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: Clip avec + de 20000 shapefiles
Tu peux même regrouper tes shp en 1 seul en les combinant (à condition auparavant de créer un champ dans chaque shp nommant à quel individu appartiennent ces buffers). tu fais un intersect avec les zones d'habitat, ce qui créera un seul et nouveau shp .
Ensuite, pour faire une analyse synthétique de cette table, il faudra passer par excel avec un tableau croisé dynamique ou par access.
Hors ligne
#7 Wed 26 October 2011 19:46
- Marinedu69
- Participant occasionnel
- Date d'inscription: 1 Oct 2011
- Messages: 13
Re: Clip avec + de 20000 shapefiles
Bonjour à tous,
Merci pour vos réponses. J'ai essayé avec l'outil "intersect" mais j'obtiens à chaque fois un message d'erreur 999998 : Unexpected Error.
Sauf erreur de ma part, l'outil "intersect" ne serait-il pas un peu comme l'outil "clip" dans le sens où j'ai besoin d'avoir 32208 shp séparés.
Car par exemple, en admettant qu'un buffer contienne 3 types de structures aquatiques (rivière, lac, fleuve) référencées sous le type d'habitat 'eau' dans mon shp d'habitat, comment arcgis va pouvoir mettre les 3 types de structures aquatiques sur une seule ligne correspondant au buffer 1 par exemple. A la suite du buffer 1, j'ai à la suite le buffer 2, 3 , 4 .... dans le même shp nommé "individu 1" ne contenant pas forcément le même nombre de structures aquatiques. Alors que si j'ai plusieurs shp séparés, ArcGis peut mettre ligne par ligne toutes les structures aquatiques trouvées dans un seul buffer. Juste pour avoir une idée, mon shp d'habitat a une cinquantaine de type d'habitats généraux (eau, routes, bâtiments, ...) et contient au moins 500000 entités faisant référence aux 50 types d'habitat.
Merci pour votre aide
Marine
Hors ligne
#8 Thu 27 October 2011 09:56
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: Clip avec + de 20000 shapefiles
Je crois qu'il faut vraiment que tu te sorte de la tête l'idée de séparer chacune de tes entités dans un shapefile indépendant. Ce n'est pas une bonne méthode, personne ne travail comme ça, garde ton organisation par couche thématique c'est bien mieux comme ça.
De toute façon, comme tu as pu t'en rendre compte les outils de géotraitement généraux ne sont pas conçus pour traiter autant de shp, et un simple intersect entre tes 2 couches répondra à ton problème. Pour t'en convaincre fait un essais sur un extrait seulement de tes données et analyse ce que tu obtiens, tu verras que la table contient toutes les infos nécessaires pour retrouver tes types d'habitat et tes structures aquatiques pour chacun des buffers.
Avant de lancer ton calcul sur toutes tes données (ce qui sera long) et de vouloir régler ton problème d'erreur il faut absolument que ta méthodologie soit définie, comprise (les différentes étapes, les résultats intermédiaires, la façon de les traiter...) et évaluée (pertinence, alternative?, efficacité). Encore une fois fait des essais sur un petit jeu de données jusqu'à ce que tu obtiennes qqchose de satisfaisant.
Bidouiller son outil SIG c'est bien mais le gros du boulot se fait avant les clic clic. Fait moi confiance il vaut mieux être bien documenté sur les principes de traitement de information géographique que que sur les spécificités de fonctionnement d'ArcGIS.
Hors ligne
#9 Thu 27 October 2011 10:45
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: Clip avec + de 20000 shapefiles
Totalement d'accord avec toi, dominique.lys. Si on ne sait pas quoi et comment faire, Arcgis ne nous avancera pas plus...
Peux-tu nous envoyer un échantillon d'un buffer et un autre des zones d'habitat proches de ce buffer (au format ZIP...
Hors ligne
#10 Fri 28 October 2011 04:56
- Marinedu69
- Participant occasionnel
- Date d'inscription: 1 Oct 2011
- Messages: 13
Re: Clip avec + de 20000 shapefiles
Merci Dominique et conejo. Je vais suivre vos précieux conseils.
Merci encore
Hors ligne