Précédent   Forum du club des développeurs et IT Pro > Applications > SIG : Système d'information Géographique
SIG : Système d'information Géographique Forum d'entraide SIG et outils géographiques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/08/2012, 10h58   #1
Fredtopo
Invité de passage
 
Homme
Géomètre
Inscription : août 2012
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Géomètre
Secteur : Service public

Informations forums :
Inscription : août 2012
Messages : 1
Points : 0
Points : 0
Par défaut Shape points et ces plus proches voisins

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
Fredtopo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2012, 09h24   #2
plxpy
Membre émérite
 
Avatar de plxpy
 
Homme
Ingénieur
Inscription : janvier 2009
Messages : 494
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : janvier 2009
Messages : 494
Points : 893
Points : 893
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)
plxpy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2012, 07h53   #3
plxpy
Membre émérite
 
Avatar de plxpy
 
Homme
Ingénieur
Inscription : janvier 2009
Messages : 494
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : janvier 2009
Messages : 494
Points : 893
Points : 893
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 :
  • un shapefile "oursins_multilinestring" (.shp et .shx) avec, par point, un multilinestring représentant les 12 "piquants"
  • un shapefile "oursins_linestring" (.shp et .shx) avec, cette fois, des géométries de type linestring, une par piquant

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.





Fichiers attachés
Type de fichier : py oursins.py (2,8 Ko, 6 affichages)
plxpy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h00.


 
 
 
 
Partenaires

Hébergement Web