Trouver la distance du point le long de la polyligne à l'aide d'ArcGIS Desktop?

23

Nous devons trouver la distance d'une série de points le long d'une polyligne donnée.

Nous avons un ensemble de données polylignes représentant des rivières dans un bassin versant, divisé en tronçons de rivière (FID 1 à 35 par exemple).

Nous avons également un ensemble de données ponctuelles de permis de captage dans ce bassin versant, dont certains sont situés le long des rivières - nous pouvons dire à partir du tableau d'attributs que ce sont comme ils sont définis comme des permis d'eau souterraine ou d'eau de surface.

Les deux ne sont pas liés - c'est-à-dire que l'un n'a pas été dérivé de l'autre. Par conséquent, tous les permis d'utilisation des eaux de surface ne se trouvent pas exactement au-dessus des polylignes fluviales, bien qu'en réalité ils se trouvent sur ces fleuves.

Nous devons être en mesure de voir quels points sont "en amont / en aval" les uns des autres, et nous voulions donc avoir une liste des rivières qui atteignent le point, suivie de la distance en aval du début de ce tronçon. Nous pouvons alors comparer les distances en aval de deux points pour voir lequel est en amont et lequel est en aval - le résultat souhaité!

Pour résoudre le problème de trouver des points sur / très près des rivières, on nous a dit d'utiliser un (petit) tampon autour de chaque tronçon de rivière, puis d'interroger le tampon pour trouver les points à l'intérieur.

C'est bien, mais il nous reste alors une zone (tampon), pas une ligne, donc nous ne pouvons pas mesurer une distance le long / à l'intérieur de celle-ci.

Pouvons-nous utiliser un tampon comme décrit pour trouver les points sur / près du tronçon de rivière en question puis, d'une manière ou d'une autre (?!) Interroger ces points pour la distance le long du tronçon de rivière (segment de polyligne)?

PolyGeo
la source
avez-vous un champ sur votre classe de traits de polyligne contenant le FID de portée en aval?
Kirk Kuykendall
devez-vous le faire dans arcmap ou pouvez-vous utiliser des arcobjects?
Steve
RivEX peut générer ce type de sortie, regardez les outils de capture et de liaison.
Hornbydd

Réponses:

22

Il s'agit d'une tâche parfaite pour les capacités de référencement linéaire dans ArcGIS. Consultez l'aide pour localiser les entités le long des itinéraires et explorez-les à partir de là. Les outils incluent la possibilité de transformer une couche de points à proximité d'un itinéraire (le fleuve atteint) en descripteurs "événement ponctuel", qui nomment l'itinéraire (la portée) et la distance depuis le début de l'itinéraire. C'est exactement ce que tu veux. De plus, ces outils permettent une "tolérance" paramétrable par l'utilisateur: les points n'ont pas à se situer exactement sur les itinéraires.

Le workflow est le suivant:

  1. Rendre le fleuve atteint "mesurable". Cela permet de trouver des distances le long de chaque tronçon.

  2. Représentez les points comme une couche de points.

  3. Utilisez l'outil pour créer une "table d'événements" pour les points relatifs aux itinéraires.

  4. Vérifiez votre travail, car vous devrez peut-être inverser les directions de certains tronçons de la rivière, selon la cohérence avec laquelle ils ont été numérisés.

whuber
la source
+1. Ils devraient également envisager de transformer les rivières en un réseau géométrique pour utiliser des outils qui obtiendront des caractéristiques en amont / en aval, des chemins, etc.
geographika
Idem. ArcGIS peut faire tout le gros du travail pour résoudre ce problème d'interpolation en.wikipedia.org/wiki/Interpolation
Ragi Yaser Burhum
1
Il convient de noter que vous devez avoir le jeu de données de point et votre jeu de données de route dans le même système de coordonnées. L'outil Localiser les entités le long des itinéraires ne fonctionnerait pas correctement pour moi tant que je n'aurais pas re-projeté mon entité linéaire sur le même système de coordonnées que mon fichier de points, puis j'ai créé un événement d'itinéraire à partir de ladite entité linéaire re-projetée.
giski
@Matiss Merci pour ce rappel. Malgré les capacités de reprojection "à la volée" dans les SIG d'aujourd'hui, il est toujours vrai que le seul moyen fiable de mener vos analyses est de s'assurer que tous les jeux de données d'entrée sont physiquement stockés dans un système de coordonnées commun (et approprié).
whuber
@whuber vous aidez toujours.
SIslam
3

Je n'ai jamais essayé cela, mais vous pourriez envisager de traiter cela comme un problème de géocodage inversé . Pour ce faire, vous devez créer un localisateur d'adresses pour vos rivières, en traitant la mesure comme l'adresse de départ et d'arrivée.

Kirk Kuykendall
la source
1

http://resources.arcgis.com/en/help/main/10.1/index.html#//004800000006000000

Cet outil prend en réseau (vous devez avoir Network Analyst) et des points. Après avoir appliqué l'outil, vous finissez par avoir la valeur t (valeur entre 0 et 1) comme PosAlong. Les valeurs sont stockées dans la table des points d'entrée. Puisque 0 est le point de départ de la polyligne et 1 est le point d'arrivée, vous devez le multiplier par la longueur de la polyligne. Vous avez également SourceOID qui est l'ID de polyligne dans la même table.

Kalvo
la source