Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Homme Profil pro
    Géomètre
    Inscrit en
    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

  2. #2
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur
    Inscrit en
    janvier 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    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 : 561
    Points : 1 020
    Points
    1 020

    Par défaut

    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)

  3. #3
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur
    Inscrit en
    janvier 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    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 : 561
    Points : 1 020
    Points
    1 020

    Par défaut

    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 Fichiers attachés

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •