Mehr

Berechnung aller Entfernungen von einzelnen Punkten zu mehreren Polygonen

Berechnung aller Entfernungen von einzelnen Punkten zu mehreren Polygonen


Ich habe zwei Layer: einen Punkt-Layer, der Eigenschaften definiert (95 Objekte) und einen Polygon-Layer, der Grundstücke definiert, die den Eigenschaften zugeordnet sind (211 Objekte). Jeder Punkt bezieht sich auf ein oder mehrere Polygone. Was ich erstellen möchte, ist eine Tabelle mit den Abständen jedes Punktes zu ALLEN Polygonen, die mit diesem Punkt verbunden sind (nächste Kante oder Schwerpunkt des Polygons - beides geht). Die Berechnung der nächsten Entfernung ist in QGIS und ArcGIS relativ einfach, aber diese Berechnungen lassen alle entfernten Polygone aus, zumindest mit den Methoden, die ich verwendet habe. Idealerweise hätte ich gerne eine Ausgabe von

Punkt_ID | Abstand zum Polygon 1 | Abstand zum Polygon 2 | Abstand zum Polygon 3 | usw.

Alle Zeiger in ArcGIS 10 oder QGIS 2.2+ wären am hilfreichsten.


Du kannst den ... benutzen Entfernungsmatrix in QGIS, um dies zu erreichen. Sie müssten zuerst Ihre Polygone in umwandeln Schwerpunktpunkte von entweder Vektor > Geometriewerkzeuge > Polygon-Schwerpunkte oder über die SAGA-Version von Polygonschwerpunkten. Grund dafür ist der Entfernungsmatrix Funktion kann nur zwischen 2 Punktebenen analysieren. Außerdem wäre die Ausgabe so:

Punkt_1 | PolygonCentroid_1 | Entfernung Punkt_1 | PolygonCentroid_2 | Entfernung Punkt_1 | PolygonCentroid_3 | Entfernung Punkt_2 | PolygonCentroid_1 | Entfernung Punkt_2 | PolygonCentroid_2 | Entfernung

Die Ausgabe wäre eine CSV-Datei, sodass Sie das Layout manuell mit einer anderen Software wie Microsoft Excel bearbeiten können.


Dies ist mit QGIS (ich denke, jede Version reicht) und einer sehr einfachen SQL-Anweisung im DB-Manager ziemlich einfach zu erreichen. Aber dafür muss das in einer Art räumlicher Datenbank (Postgis oder Spatialite) sein. Da es für die meisten Leute leichter zugänglich ist, gehe ich davon aus, Spatialite zu verwenden, aber die SQL-Anweisungen sind für Postgis gleich.

  1. Erstellen Sie eine neue Spatialite-Datenbank;
  2. Importieren Sie Ihre Punkt- und Polygon-Layer in die neue Datenbank.
  3. Öffnen Sie das DB-Manager-Plugin, wählen Sie die Datenbank aus und führen Sie eine der folgenden SQL-Anweisungen aus:

Entfernung von allen Punkten zu allen Polygongrenzen

SELECT f.point_id, g.polygon_id, st_distance(g.geom, f.geom) AS distance FROM points_table AS f, polygons_table AS g

Abstand zu allen Punkten zu verwandten Polygongrenzen (vorausgesetzt, ein gemeinsames Feld existiert)

SELECT f.point_id, g.polygon_id, st_distance(g.geom, f.geom) AS distance FROM points_table AS f JOIN polygons_table AS g ON (g.common_field = f.common_field)

Abstand zu allen Punkten zu verwandten Polygon-Schwerpunkten:

SELECT f.point_id, g.polygon_id, st_distance(f.geom, st_centroid(g.geom)) AS distance FROM points_table AS f JOIN polygons_table AS g ON (g.common_field = f.common_field)

Beachten Sie, dass Sie dem Ergebnis jedes beliebige Feld aus Ihren Layern hinzufügen können:

SELECT f.point_id, f.point_number, g.polygon_id, g.parcel_name, st_distance(f.geom, st_centroid(g.geom)) AS distance FROM points_table AS f JOIN polygons_table AS g ON (g.common_field = f.common_field)

Oder sogar alle Felder:

SELECT f.*, g.*, st_distance(f.geom, st_centroid(g.geom)) AS distance FROM points_table AS f JOIN polygons_table AS g ON (g.common_field = f.common_field)

Das Werkzeug Near Table generieren in ArcGIS macht, was Sie wollen, aber es erfordert eine Advanced-Lizenz und wird es tun für alle Punkte/Polygone - nicht nur die, die miteinander verbunden sind. Dies bedeutet, dass Sie für jedes Ihrer 95 Objekte die rangierte Entfernung für alle 211 Objekte erhalten, also 20.045 Zeilen in der Tabelle. Sie müssten entweder die resultierende Tabelle filtern oder, wie Emil vorschlägt, die Aufgabe automatisieren, um Auswahlen basierend auf der Zuordnung zu erstellen und sie nur für diese Gruppen auszuführen.

Was die Filterung angeht, ja, ein Join (gefolgt von einer Definitionsabfrage oder -auswahl) ist alles, was Sie brauchen. Das Werkzeugergebnis liefert IN_FID und NEAR_FID. Abhängig davon, wie Sie das Werkzeug ausführen (Eigenschaften in der Nähe eines Punkts oder Punkt in der Nähe der Eigenschaft), bestimmen Sie, welcher FID welcher ist. Sie würden dann Ihre Punkt- und Eigenschaftstabellen (beide) basierend auf der entsprechenden FID mit dem Werkzeugergebnis verknüpfen.

Dies setzt voraus, dass jeder Ihrer 211 Eigenschaftsdatensätze ein Attribut hat, das angibt, zu welchem ​​der 95 Punkte er gehört, da der nächste Schritt darin besteht, alle Datensätze in der/den verbundenen Tabelle(n) auszuwählen (oder abzufragen), in denen zwei Felder eines Datensatzes stehen sollen match - Punktnamensfeld = mit der Eigenschaft verknüpftes Punktnamensfeld. Die Fälle, in denen sie nicht übereinstimmen, sind Polygone, die nicht mit diesem Punkt verknüpft sind, sodass Sie sich nicht um ihre Entfernung von diesem Punkt kümmern.


Berechnen Sie die Entfernung zwischen zwei geografischen Standorten in einem SQL-Server

Ich versuche, die Entfernung von einem Punkt zu einem anderen Punkt (Polygon/Multipolygon) mithilfe der folgenden Abfrage in SQL Server zu berechnen.

Die folgenden Koordinaten sind in Großbritannien,

Die Koordinaten von Polygon sind in Japan. Irgendwie ist die Entfernung, die ich erhalte, falsch, wenn ich die Abfrage ausführe.

Sie können das Ergebnis in der folgenden db-Geige überprüfen,

Nicht sicher, ob ich etwas falsch mache?


2 Antworten 2

Haben Sie versucht ?dist, die von Ihnen aufgeführte Formel ist die euklidische Distanz?

Sie können einen Self-Join verwenden, um alle Kombinationen zu erhalten, und dann Ihre Distanzformel anwenden. All dies ist mit dem Tidyverse (Kombination von Paketen von Hadley Wickham) leicht machbar:

Hinweis Mit dieser Methode berechnen Sie auch die Entfernung zwischen jedem Punkt und sich selbst (sowie mit allen anderen Punkten). Es ist jedoch einfach, diese Punkte herauszufiltern:

Für weitere Informationen über die Verwendung des Paketsets von cleanverse empfehle ich R for Data Science oder die Website von dirtyverse.


Unterstützte HTTP-Methoden

Diese Vorlagen unterstützen sowohl HTTP- als auch HTTPS-Protokolle. Um diese API verwenden zu können, benötigen Sie einen Bing Maps-Schlüssel.

Synchrone GET-Anfragen

Bei einer GET-Anfrage sollte die URL etwa so aussehen:

Asynchrone GET-Anfragen

Erstellt einen Job zum Berechnen einer Isochrone mithilfe einer asynchronen GET-Anforderung. Diese Art von Anforderung wird empfohlen, wenn der Parameter maxTime mehr als 30 Minuten beträgt oder der Parameter maxDistance mehr als 24 km beträgt.

URL zum Prüfen des Status der asynchronen Anfrage (GET)

Die anfängliche asynchrone Antwort enthält eine callbackUrl-Eigenschaft, die die URL enthält, mit der der Status des Auftrags überprüft werden kann. Alternativ kann die Callback-URL auch generiert werden, indem die requestId, die in der ersten asynchronen Anforderung zurückgegeben wird, zusammen mit dem gleichen verwendeten Bing Maps-Schlüssel an den IsochroneAsyncCallback-Endpunkt wie unten gezeigt angehängt wird. Die Antwort auf diese Anfrage zeigt an, ob die Anfrage vollständig ist oder nicht, wenn sie vollständig ist, wird ein resultUrl -Eigenschaft, bei der es sich um eine URL handelt, die zum Herunterladen der Ergebnisse verwendet werden kann.

Synchrone POST-Anfragen

Bei einer POST-Anfrage sollte die URL etwa so aussehen:

Asynchrone POST-Anfragen

Erstellt einen Job zum Berechnen einer Isochrone mithilfe einer asynchronen POST-Anforderung. Diese Art von Anfrage wird empfohlen, wenn der Parameter maxTime mehr als 30 Minuten beträgt oder der Parameter maxDistance mehr als 24 km beträgt.


1 Antwort 1

Ihr bestehender Algorithmus ist für mich etwas verwirrend. Insbesondere die returnBlobIndicesOfRelevantBlobs machen nicht wirklich viel, außer dass die Antwort gelegentlich falsch ist. Zum Beispiel verwende ich Folgendes, um Ihren Code zu steuern:

Aus Effizienzgründen können Sie die Verwendung von np.sqrt eliminieren, indem Sie einfach das Quadrat von minimumDistanceFromFocusVertex (meine das sind lange Namen!) verwenden, das Sie nur einmal berechnen müssen.

Ihre Verwendung von 4*minimumDistanceFromFocusVertex erscheint etwas willkürlich und wahrscheinlich falsch. Für dieses spezielle Beispiel bewirkt es zum Beispiel, dass der zweite Blob (mit der ersten Koordinate [12,2]) aus der weiteren Betrachtung entfernt wird, obwohl seine dritte Koordinate innerhalb des Zielbereichs liegt.

Wenn Sie Python 2.7 verwenden (wie ich), sollten Sie xrange anstelle von range verwenden. Der Unterschied besteht darin, dass range tatsächlich Speicher zuweist und ein Array auffüllt, während range dies nicht tut. (In Python 3.3 macht range jetzt das, was xrange in Python 2.7 getan hat, und xrange ist veraltet.)

Schließlich mag es gute Gründe für Ihre Bewerbung geben, mir ist jedoch überhaupt nicht klar, warum man als gewünschte endgültige Antwort ein Array von Indizes erstellen sollte. Wenn das wirklich das ist, was Sie wollten, dann ist das in Ordnung, aber wenn Sie feststellen, dass Sie vor der Verwendung einige zusätzliche Transformationen vornehmen müssen, überlegen Sie, wie dieser Code die Ergebnisse liefern könnte, ist eine direkter verwendbare Form.

Als letzte Kontrolle und Geschwindigkeitstest können Sie dies verwenden:

Als Bonus können Sie dies verwenden, um einen ungefähren Wert von $pi$ zu berechnen, der als nützlicher Gesundheitscheck dient. Das funktioniert, weil der obige Code 3 zufällige Punkte pro $n$ Blobs in einem Quadrat platziert, das $2r$ auf jeder Seite für eine Fläche von $4r^2$ misst. Der Code zählt dann die Anzahl der Punkte, die innerhalb von $r$-Einheiten des Zentrums liegen, was natürlich einen eingeschriebenen Kreis mit der Fläche $pi r^2$ beschreibt. Da alle Punkte gleichmäßig verteilt sind und $a$ die Anzahl der Punkte innerhalb des Kreises ist, wissen wir, dass $displaystyle frac <3n>approx frac <4 r^2>$ oder mit anderen Worten, dass die Wahrscheinlichkeit, dass jeder Punkt auf dem Kreis innerhalb des Quadrats landet, proportional zu den Flächen von Kreis und Quadrat ist. Also $displaystyle frac<4a> <3n>approx pi$

Wenn ich das Programm auf meinem Computer mit den oben gezeigten Werten ausführe, erhalte ich:

Ich bin sicher, dass es Möglichkeiten gibt, diese Berechnungen zu beschleunigen, für die ich später vielleicht Zeit habe.


Effiziente Berechnung aller Entfernungen zwischen einem Punkt und einer Gruppe von Punkten in R

Ich habe zwei Gruppen von Punkten, Daten und Zentren , die erste mit der Größe n und die zweite mit der Größe K (zum Beispiel n = 3823 und K = 10 ), und für jedes i in der ersten Menge muss ich j . finden im zweiten mit dem Mindestabstand.

Meine Idee ist einfach: Für jedes i sei dist[j] der Abstand zwischen i und j , ich brauche nur what.min(dist) zu verwenden, um das zu finden, wonach ich suche.

Jeder Punkt ist ein Array von 64 Doppeln, also

was extrem langsam ist (bei n = 200 dauert es mehr als 40s!!). Die schnellste Lösung, die ich geschrieben habe, ist

Selbst wenn es viele Berechnungen durchführt, die ich nicht verwende (weil dist(m) den Abstand zwischen allen Reihen von m berechnet), ist es viel schneller als das andere (kann jemand erklären, warum?), aber es ist nicht schnell genug für das, was ich brauche, weil es nicht nur einmal verwendet wird. Außerdem ist der Entfernungscode sehr hässlich. Ich habe versucht es zu ersetzen durch

aber das scheint zweimal langsamer zu sein. Ich habe auch versucht, dist für jedes Paar zu verwenden, aber es ist auch langsamer.

Ich weiß nicht, was ich jetzt tun soll. Es scheint, als ob ich etwas sehr falsch mache. Hast du eine Idee, wie man das effizienter machen kann?

ps: Ich brauche dies, um k-means von Hand zu implementieren (und ich muss es tun, es ist Teil einer Aufgabe). Ich glaube, ich brauche nur die euklidische Distanz, bin mir aber noch nicht sicher, daher werde ich es vorziehen, einen Code zu haben, bei dem die Distanzberechnung leicht ersetzt werden kann. stats::kmeans erledigt alle Berechnungen in weniger als einer Sekunde.


8 Gedanken zu &ldquo Dynamische Entfernungen in Power BI &rdquo

Neato. Es wäre cool, dem eine Art Parametrisierung hinzuzufügen, damit Sie x größte Städte mit popn über y zurückgeben können.

Hallo!
Ist es möglich, in Excel 2013 Power View zu implementieren?
Freundliche Grüße
Lukasz

Hallo,
Der obige Artikel war sehr nützlich bei der Darstellung meiner Anforderungen. Es ist jedoch eine weitere Frage, mit der ich konfrontiert bin. Wie füge ich ein Chiclet oder etwas hinzu, das mir die Kontrolle über die Auswahl von Assets innerhalb eines bestimmten Meile-Radius gibt? Ich kann dies über das Filterfeld erreichen, möchte dies jedoch auf meiner Berichtsseite selbst. Irgendwelche Ideen?

Shrey
Würde es Ihnen etwas ausmachen, zu teilen, wie Sie einen Filter und eine Karte auswählen konnten, die es mir ermöglichen, eine Postleitzahl und einen Meile-Radius auszuwählen, um alle Elemente in diesem Umkreis anzuzeigen.

Danke, ziemlich neu in den Geospatial Dax-Foren, und dieser Artikel war äußerst nützlich, wenn auch
für einen etwas anderen Anwendungsfall (Bestimmung der Entfernung von Lieferanten vom zentralen Punkt von Suburb), aber funktionierte ein Leckerbissen.

Ich versuche, es ein wenig zu optimieren und habe Schwierigkeiten, die Anzahl der Lieferanten innerhalb von X km von Vorort zu zählen, wobei der Vorort als dynamischer Filter verwendet wird.

Ich bin mir nicht sicher, ob Sie helfen können, versuchen jedoch, eine geeignete Dax-Kennzahl zu finden, um die Anzahl der Lieferanten innerhalb von Xkm des Vorortstandorts für jeden Vorort zu berechnen.

Fantastischer Artikel. Es hat mir ungemein geholfen. Mach weiter so mit dem coolen Power BI-Zeug!

Hallo, ich bin auf diesen Artikel gestoßen, als ich nach einer Idee suchte, um Transaktionsinformationen und Entfernungen von Bestellungen zu analysieren. Super cooler Artikel. Ich versuche, es für meinen Anwendungsfall zum Laufen zu bringen, aber ich habe Schwierigkeiten herauszufinden, wie ich die richtige Beziehung zwischen den vorhandenen Adressinformationen und den Städtetabellen mit Lat/Long-Werten herstellen kann. Insgesamt versuche ich zu bewerten, wie viele Transaktionen mit zunehmender Entfernung zwischen der bei einer Transaktion angegebenen Adresse und einem Abholort stattfinden. Mein aktuelles Datenmodell enthält Transaktionsdetails mit vollständiger Adresse (Stadt/Bundesland/PLZ) und Abholstandortnummer, die mit einer Ladenstandorttabelle verknüpft ist, um zu identifizieren, wo sich der Abholort befindet (Stadt/Bundesland). Muss ich Lat/Long-Informationen zu meiner Filialstandorttabelle hinzufügen? Oder sollte ich die eindeutige Stadt-ID, die oben in der Lat/Long-Tabelle oben angegeben ist, verwenden und diese zu meiner Filialstandorttabelle hinzufügen? Jede Hilfe wäre sehr dankbar!


Entfernungen von Extrempunkten zu geografischen Zentren

Extrempunkt Koordinaten Richtung von
geografische Zentren
50 Staaten*
Satzungsmeilen
49 Staaten**
Satzungsmeilen
48 Staaten***
Satzungsmeilen
Breite
(N)
Längengrad
(W.)
Punktkarre, AK 71&grad23' 156°29' Nordwest 2,507 2,509 2,940
Pochnoi-Punkt,
Semisopochnoi, AK
51&grad57' 179°52'(E.) Nordwest 3,372 3,377 3,802
West Point of
Amatignak Insel, AK
51&grad17' 179°09' Nordwest 3,352 3,357 3,780
Kap Wrangell,
Attu Island, AK
52&Grad55' 172°27'(E.) Nordwest 3,625 3,630 4,061
See des Waldes
Projektion, MN
49°23' 95°09' Nordost 507 501 1 682
Nordende, (N-S-Grenze) ME-New Brunswick, Kanada 47°04' 67°47' Nordost 1,719 1,713 1,613
West Quoddy Head, ME 44°49' 66°57' Osten 1,788 1,782 2 1,643
Key West, Florida 24°32' 81°48' Süd-Ost 1,873 1,869 1,439
Cape Sable, FL 25°07' 81°05' Süd-Ost 1,867 1,863 1,437
Log Point, Elliot Key, FL 25°29' 80°.11' Süd-Ost 1,882 1,877 1,455
East Point, St. Croix, VI 17°45' 64°34' Süd-Ost 2,938 2,932 2,540
Äußerster Südpunkt von TX 25°50' 97&Grad24' Süd 1,370 1,369 971
Schritte Punkt,
Amerika Samoa
14°23'(S.) 170°46' Südwesten 5,859 5,866 5,954
Orote Point, Guam 13°27' 144°37'(E.) Südwesten 6,579 6,584 6,974
Kure Island, HI 28°25' 178°20' Südwesten 4,142 4,148 4,486
Ka Lae, HI 18&Grad55' 155°41' Südwesten 3,463 3,470 3,664
Kap Mendocino, CA 40°26' 124&Grad24' Westen 1,091 1,098 1,361
Kap Alava, WA 48°10' 124&Grad44' Westen 1,018 1,024 1,414

*Westlich von Castle Rock, Butte County, South Dakota. 44°58' N. - 103°46' W.
**In der Nähe von Castle Rock, Butte County, South Dakota. 44°59' N. - 103°38' W.
***In der Nähe des Libanon, Smith County, Kansas. 39°50' N. - 98°35' W.

1 Allgemeine Richtung zur Lake of the Woods Projection ist Norden.
2 Allgemeine Richtung nach West Quoddy Head ist Nordosten.


Gegeben eine Distanzmatrix $D_$, definiere $M_ = frac +D^2_-D^2_> 2 ,.$ Eine Sache, die man wissen sollte, falls die Dimensionalität der Daten, die die Distanzmatrix erzeugt haben, nicht bekannt ist, ist, dass die kleinste (euklidische) Dimension, in die die Punkte eingebettet werden können, durch den Rang $k . gegeben ist $ der Matrix $M$. Wenn $M$ nicht positiv semi-definit ist, ist keine Einbettung möglich.

Die Koordinaten der Punkte erhält man nun durch Eigenwertzerlegung: schreibt man $M = USU^T$, dann gibt die Matrix $X = U sqrt S$ (man kann Element für Element die Wurzel ziehen) die Positionen von die Punkte (jede Reihe entspricht einem Punkt). Beachten Sie, dass, wenn die Datenpunkte in einen $k$-dimensionalen Raum eingebettet werden können, nur $k$-Spalten von $X$ ungleich Null sein werden (entsprechend $k$ ungleich Null-Eigenwerten von $M$).


1 Antwort 1

Vereinfachen Sie, indem Sie zu einem einfacheren Koordinatensystem wechseln. Wenn Sie das Ergebnis gefunden haben, gehen Sie umgekehrt vor.

Lassen Sie uns das Koordinatensystem drehen und verschieben (aber nicht skalieren), sodass $vec

_1$ ist am Ursprung und $vec

_2$ liegt bei $(r_<12>, 0)$ auf der positiven $x$-Achse. Die $y$-Achse steht senkrecht dazu und nimmt in Richtung $vec . zu

_3$. Die Basisvektoren sind $egin Hut_x = frac_2 - vec

_1>_2 - vec

_1 vert> hat_y = frac_3 - vec

_1 - hat_x left( (vec

_3 - vec

_1) . Hut_x ight)>_3 - vec

_1 - hat_x left( (vec

_3 - vec

_1) . Hut_x ight) vert> end$ In diesen neuen Koordinaten ist $egin vec

_1 =& (0, 0) vec

_2 =& (r_<12>, 0) vec

_3 =& (a, b) end$ wobei $a = (vec

_3 - vec

_1) . vec_x$ und $b = (vec

_3 - vec

_1) . vec_y ge 0$.

Wenn wir $vec . verwenden

_4 = (x, y)$ in diesen neuen Koordinaten, dann lauten die Gleichungen bezüglich der ersten beiden Punkte $egin x^2 + y^2 = r_1^2 (r_ <12>- x)^2 + y^2 = r_2^2 end$ Subtrahiert man letzteres von ersterem, so erhält man $2 r_<12>x - r_<12>^2 = r_1^2 - r_2^2$ was wir trivial nach $x$ auflösen können: $x = frac^2 - r_2^2><2 r_<12>>$ Wir können dann auch nach $y$ auflösen (indem wir in der ersten Gleichung des Paares nach $y$ auflösen), $y = pm sqrt< r_1 ^2 - x^2 >$

Die Gleichung für den dritten Punkt ist $(x - a)^2 + (y - b)^2 = r_3^2$ und nur das positive oder das negative $y$ sollte sie tatsächlich erfüllen, $y = b pm sqrt$

Wenn Sie sowohl $x$ als auch $y$ in diesen neuen Koordinaten gelöst haben, können Sie schließlich wieder in die ursprünglichen Koordinaten umrechnen: $vec

_4 = vec

_1 + x hat_x + y hat_y$

Das System der drei Gleichungen in zwei Dimensionen ist eigentlich überbestimmt. Das heißt, es gibt möglicherweise überhaupt keine Lösungen.

Wenn die Koordinaten und Abstände Rauschen enthalten oder Sie Berechnungen mit endlicher Genauigkeit durchführen, beeinflusst die Reihenfolge, in der Sie die drei Punkte beschriften, die Ergebnisse. Eine übliche Abschwächungstaktik besteht darin, das Ergebnis in drei möglichen Kombinationen zu berechnen – es gibt sechs mögliche Kombinationen, aber die Reihenfolge der beiden ersten Punkte beeinflusst wirklich nur das Runden – und z. ihr Schwerpunkt (Koordinatenmittelwert) als Ergebnis.

Genauer gesagt kann das Gleichungssystem mit Hilfe der linearen kleinsten Quadrate gelöst werden.

In realen Anwendungen ist die Berechnung der drei Punkte jedoch typischerweise viel schneller, und ihre Entfernungen (im Vergleich zu den bekannten Entfernungen) geben einen sehr praktisch nützlichen Hinweis auf die Größe des Rauschens oder der Fehler im System.


Abstrakt

Die Entfernung ist eine Schlüsselvariable, um ökologische, soziale und wirtschaftliche Bedingungen zu erklären und räumliche und zeitliche Muster zu definieren. Die bisherige Forschung konzentrierte sich hauptsächlich auf die Verwendung einfacher bis komplexer Algorithmen zur Berechnung von Entfernungen entlang von Straßennetzen. Im Gegensatz dazu stehen nur wenige Algorithmen für Entfernungsberechnungen entlang fluvialer Netze zur Verfügung, die oft unregelmäßiger, divergenter und transienter sind als Straßennetze. Der Flussverkehr wird weltweit genutzt, insbesondere in Entwicklungsregionen, wo Gemeinden Flussnetze für den Transport, den Zugang zu natürlichen Ressourcen und für Handel und Gewerbe nutzen. Dieses Papier stellt eine Methodik vor, die zur Kartierung komplexer fluvialer Netzwerke für die Reisedistanzanalyse entwickelt wurde. Die Methodik wurde in vier großen Flusseinzugsgebieten im westlichen Amazonasgebiet auf einer Flusslänge von etwa 35.000 km angewendet und umfasste 919 Gemeinden als Ursprungs-/Zielorte. Eine Methode zur Kostenpfad- und Netzwerkanalyse wurde unter Verwendung von Vektor- und Rasterdatensätzen in einem geografischen Informationssystem (GIS) erstellt, um die Interaktionen zwischen Gemeinden und die auf dem Fluss zurückgelegten Entfernungen zu bewerten, um Bezirkshauptstädte, große städtische Zentren und Marktplätze zu erreichen. Eine Genauigkeitsbewertung anhand von Entfernungswerten, die aus einer früheren Studie mit einem anderen methodischen Ansatz in der Region sowie Google Earth Pro berechnet wurden, ergab eine hohe Übereinstimmung der Entfernungsberechnungen. Unsere Methodik schafft einen sehr flexiblen Ansatz für komplexe Flusssysteme, mit dem sich Flussentfernungen adaptiv und effizient berechnen lassen und der auch in anderen Regionen der Welt eingesetzt werden kann, in denen ländliche Gemeinden für den Transport auf Flüsse angewiesen sind.


Schau das Video: ArcGIS - Split - Polygons into individual shapefiles