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)?
Réponses:
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:
Rendre le fleuve atteint "mesurable". Cela permet de trouver des distances le long de chaque tronçon.
Représentez les points comme une couche de points.
Utilisez l'outil pour créer une "table d'événements" pour les points relatifs aux itinéraires.
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.
la source
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.
la source
Utiliser à proximité (analyse)
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00080000001q000000.htm
la source
http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/QueryPointAndDistance_Method/002m00000116000000/
L'attribut DistanceAlongCurve vous donnera ce que vous recherchez. Mais seulement pour l'une des rivières.
la source
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.
la source