Es gibt viele Möglichkeiten, damit umzugehen, aber einige sind allgemein und effektiv. Um dies zu verstehen, führen wir einige der Probleme auf, die möglicherweise behandelt werden müssen:
Es kann Lücken zwischen den Polen geben, die so groß sind, dass der Algorithmus die Lücken als tatsächliche Unterbrechungen im Übertragungssystem betrachtet.
Es kann einige kurze Straßensegmente geben, die für die Verbindung der Straßen zu einem Netz von entscheidender Bedeutung sind und dennoch keine Masten in der Nähe haben. Diese Segmente würden nicht durch die Nähe zu Polen ausgewählt, sondern sind ein notwendiger Bestandteil der Lösung.
Es kann Masten geben, die vom zentralen Punkt aus nicht über die Straße erreichbar sind. Diese Pole können Teile anderer Übertragungsnetze sein, die von anderen zentralen Punkten stammen.
Ich gehe auch davon aus, dass es, da Sie bereits ein Polyliniennetz (die Straßen) haben, vorteilhaft wäre, es auszunutzen, anstatt die Polpunkte mit einer völlig neuen Polylinie zu verbinden, die wahrscheinlich nicht sehr gut parallel zu den Straßen verläuft.
Diese Überlegungen legen nahe, dass die Inhaltsstoffe einer guten Lösung einige wichtige Schritte umfassen würden:
Berechnen Sie die Straßenentfernungen vom Mittelpunkt zu allen Polen.
Identifizieren Sie die Pole mit lokal maximalen Entfernungen entlang ihres jeweiligen Straßensegments : Das heißt, keiner ihrer Nachbarn entlang desselben Segments hat größere Entfernungen.
Bilden Sie die kürzesten Wege zurück von diesen lokalen Maxima zum Mittelpunkt.
Die Vereinigung dieser kürzesten Wege würde das Übertragungsnetz aufspüren. (Schritt 2 ist zwar nicht wirklich notwendig, würde jedoch die in Schritt 3 erforderliche Berechnung erheblich reduzieren.)
Die Schritte 1 und 3 können mithilfe einer Netzwerkdarstellung (in Network Analyst) oder einer Rasterdarstellung (in Spatial Analyst mithilfe einer CostDistance- oder FlowAccumulation-Berechnung) ausgeführt werden. Schritt 2 ist eine einfache Datenbankzusammenfassung: Nach Schritt 1 hat jeder Pol sein Straßensegment und seine Entfernung als Attribute. Finden Sie die maximale Entfernung nach Straßensegment und wählen Sie die Pole aus, die diese maximalen Entfernungen erreichen.
Es gibt einige mögliche Problemsituationen:
Einige Masten befinden sich möglicherweise nicht in der Nähe von Straßen. Die Problemstellung enthält nichts, was uns sagt, was dagegen zu tun ist. Sie können automatisch mit Rasterberechnungen behandelt werden (ein geeignetes Kostenraster weist Nicht-Straßenzellen hohe Impedanzen zu, jedoch keine unendlichen Impedanzen, sodass isolierte Pole mit den nächstgelegenen Straßen verbunden werden können, aber leider nicht miteinander). Zumindest können Sie nach Erhalt der Lösung in Schritt 3 alle Pole auswählen, die sich nicht in diesem Netzwerk befinden, und überlegen, wie sie behandelt werden sollen (möglicherweise durch manuelles Erstellen von Verbindungen für sie oder möglicherweise mit einer euklidischen Minimum-Spanning-Tree-Lösung).
Wenn einige Straßensegmente Schleifen bilden, sollten Sie Schritt 2 überspringen, da sonst Teile dieser Schleifen verloren gehen können.
Die Straßenpolylinien bilden möglicherweise kein verbundenes Netzwerk. Es kann winzige Lücken zwischen Straßensegmenten geben (manchmal nur Millimeter groß), die ein Netzwerk aufteilen, das visuell verbunden erscheint. Dies ist ein Problem mit der Datenqualität, das jede Lösung plagen würde, mit Ausnahme einiger rasterbasierter Probleme.
An einer Stelle erwähnte ich nebenbei FlowAccumulation . Dies mag die Menschen überraschen: Was hat dieses Problem mit Bächen und Wassereinzugsgebieten zu tun? Starren Sie eine Weile auf das Bild. Stellen Sie sich den Ursprungspunkt als Tiefpunkt in einer Landschaft und die Straßen mit Telefonmasten als Spuren von Bächen vor, die zu diesem Tiefpunkt fließen. Wenn wir eine Oberfläche schaffen können, für die die Straßen wirklich sinddie Bäche, dann können wir ein wenig "Regen" an der Stelle jedes Pols fallen lassen und bergab fließen. Die Punkte, die nass werden, sind die Lösung, die wir suchen: Sie verbinden die Pole effizient zu einem Netzwerk, das den Straßen folgt. Eine geeignete CostDistance-Berechnung - mit einer niedrigen Impedanz ungleich Null entlang der Straßen und einer extrem hohen, aber nicht unendlichen Impedanz außerhalb der Straßen - erzeugt genau diese Art von Oberfläche. Eine andere Möglichkeit, diese Oberfläche zu erstellen, ist das euklidische Entfernungsraster für die Straßen. Das ist perfekt, außer dass die Straßen eben sind. Sie müssen gekippt werden; Fügen Sie dazu dem euklidischen Entfernungsraster ein extrem kleines Vielfaches der Entfernungen entlang der Straßen hinzu. (Die Straßenentfernung erfordert immer noch eine CostDistance-Berechnung, die teuer ist, diesmal jedoch nur für Straßenzellen durchgeführt werden muss. eher als alle Gitterzellen, die es um Größenordnungen beschleunigen. Dies ermöglicht es uns, ein extrem hochauflösendes Gitter zu verwenden, wenn wir möchten, wodurch mögliche Diskretisierungsfehler bei groben Gittern vermieden werden.)