Wir müssen den Abstand einer Reihe von Punkten entlang einer gegebenen Polylinie finden.
Wir haben einen Polyliniendatensatz, der Flüsse in einem Einzugsgebiet darstellt, das in Flussmündungen unterteilt ist (z. B. FID 1 bis 35).
Wir haben auch einen Punktdatensatz von Entnahmelizenzen in diesem Einzugsgebiet, von denen sich einige entlang von Flüssen befinden - wir können anhand der Attributtabelle erkennen, welche dies sind, da sie als Grundwasser- oder Oberflächenwasserlizenzen definiert sind.
Die beiden sind nicht verwandt - dh eines wurde nicht vom anderen abgeleitet. Daher liegen nicht alle Oberflächenwasserlizenzen genau über den Flusspolylinien, obwohl sie sich in Wirklichkeit auf diesen Flüssen befinden.
Wir müssen in der Lage sein zu sehen, welche Punkte "stromaufwärts / stromabwärts" voneinander liegen, und wir möchten daher eine Liste darüber haben, auf welchem Fluss der Punkt erreicht wird, gefolgt von der Entfernung stromabwärts vom Beginn dieser Reichweite. Wir können dann die stromabwärtigen Abstände von zwei Punkten vergleichen, um zu sehen, welcher stromaufwärtig und welcher stromabwärtig ist - das gewünschte Ergebnis!
Um das Problem des Findens von Punkten an / in der Nähe von Flüssen zu lösen, wurde uns empfohlen, einen (kleinen) Puffer um jeden Flussbereich zu verwenden und dann den Puffer abzufragen, um die Punkte darin zu finden.
Das ist in Ordnung, aber wir haben dann einen Bereich (Puffer), keine Linie, also können wir keinen Abstand entlang / innerhalb dieses Bereichs messen.
Können wir einen Puffer wie beschrieben verwenden, um die fraglichen Punkte auf / in der Nähe der Flussreichweite herauszufinden und diese Punkte dann auf irgendeine Weise (?!) Nach der Entfernung entlang der Flussreichweite abzufragen (Polyliniensegment)?
Antworten:
Dies ist eine perfekte Aufgabe für die Funktionen zur linearen Referenzierung in ArcGIS. Weitere Informationen zum Auffinden von Features entlang von Routen und zum Prüfen von Features von dort finden Sie in der Hilfe . Zu den Werkzeugen gehört die Möglichkeit, eine Ebene von Punkten in der Nähe einer Route (die Flussreichweite) in "Punktereignis" -Deskriptoren umzuwandeln, die die Route (die Reichweite) und die Entfernung vom Routenanfang benennen. Genau das wollen Sie. Darüber hinaus ermöglichen diese Tools eine vom Benutzer einstellbare "Toleranz": Die Punkte müssen nicht genau auf den Routen liegen.
Der Workflow ist:
Machen Sie den Fluss "messbar". Dies ermöglicht das Auffinden von Entfernungen entlang jeder Reichweite.
Stellen Sie die Punkte als Punktebene dar.
Verwenden Sie das Tool, um eine "Ereignistabelle" für die Punkte in Bezug auf die Routen zu erstellen.
Überprüfen Sie Ihre Arbeit, da Sie möglicherweise die Richtung einiger Flussabschnitte umkehren müssen, je nachdem, wie konsistent sie digitalisiert wurden.
quelle
Ich habe es noch nie versucht, aber Sie könnten in Betracht ziehen, dies als umgekehrtes Geokodierungsproblem zu behandeln. Dazu müssen Sie einen Adressfinder für Ihre Flüsse erstellen und die Kennzahl als Von- und Bis-Adresse behandeln.
quelle
Verwenden Sie in der Nähe (Analyse)
http://help.arcgis.com/de/arcgisdesktop/10.0/help/index.html#//00080000001q000000.htm
quelle
http://help.arcgis.com/de/sdk/10.0/arcobjects_net/componenthelp/index.html#/QueryPointAndDistance_Method/002m00000116000000/
Das Attribut DistanceAlongCurve gibt an, was Sie suchen. Aber nur für einen der Flüsse.
quelle
http://resources.arcgis.com/de/help/main/10.1/index.html#//004800000006000000
Dieses Tool nimmt Netzwerkdaten (Sie müssen Network Analyst haben) und Punkte auf. Nach dem Anwenden des Werkzeugs erhalten Sie den t-Wert (Wert zwischen 0 und 1) als PosAlong. Die Werte werden in der Eingabepunkttabelle gespeichert. Da 0 der Startpunkt der Polylinie und 1 der Endpunkt ist, müssen Sie ihn mit der Länge der Polylinie multiplizieren. Sie haben auch SourceOID, die die Polylinien-ID in derselben Tabelle ist.
quelle