|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Géomètre Inscription : août 2012 Messages : 1 ![]() |
Bonjour,
J'ai un shape de points sous ArcGis10, et je désire avoir un shape line contenant les lignes entre 1 point et les 12 plus proches, et ce, pour tous les points de mon shape. En fait, comme un oursin, à partir d'un seul fichier point et non deux. L'outil existe-t-il ? Faut-il passer par une programmation Python ? ou ModelBuilder ? Merci pour vos conseils Fred |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Ingénieur Inscription : janvier 2009 Messages : 494 ![]() |
Bonjour
Je ne connais pas bien ArcGIS et encore moins l'interface Python qu'il propose mais, "off-line" (hors ArcGIS), ce que tu désires faire est assez facilement réalisable via le package Shapely (voir documentation) |
|
|
00
|
|
|
#3 |
|
Membre émérite
![]() Ingénieur Inscription : janvier 2009 Messages : 494 ![]() |
Plusieurs choses.
Déjà, hier, j'ai dit une (demie) bêtise : pas la peine de partir sur une solution basée sur Shapely. L'apport est minime. On n'a, ici, qu'à calculer des distances entre points. Le jeu n'en vaut pas la chandelle et t'obligerait à te familiariser avec son API pour, finalement, pas grand chose. Ensuite, la solution ArcGIS reste la meilleure si tu as l'habitude de travailler avec. Je ne fais que répondre au post dans la mesure où personne ne t'a proposé de solution dans ce contexte. Par contre, tu n'échapperas pas, dans une approche hors ArcGis, à lire et écrire des shapefiles. Il y a différentes possibilités. J'ai choisi celle qui demandait le moins d'installation possible avec un module en pur Python (pyshp) bien suffisant pour ce que tu as à faire ici. En pièce jointe, un script oursins.py qui, à partir d'un shapefile de type point (chemin du fichier .shp passé en argument), crée, dans le répertoire courant :
La distance (horizontale) est calculée pour des coordonnées cartos (même si j'ai testé avec un shapefile que j'avais sous la main qui, lui, est en coordonnées géos, bien suffisant pour tester). J'ai travaillé/testé sous Linux. Je ne vois aucune raison pour qu'il y ait des problèmes sous Windows. C'est du python 2.7. ![]() ![]() ![]()
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com