Ich habe ein scheinbar einfaches Problem, aber ich kann keine klare Methodik finden.
Ich habe die Aufgabe, "städtische Gebiete" durch vektorkonvexe Polygone unter Verwendung des Datensatzes "Gitterbevölkerung der Welt" von CIESIN abzugrenzen
Dieser Datensatz enthält Bevölkerungsdichtewerte auf der ganzen Welt als Rasterdatei. Das Problem ist, wie Sie bereits vermutet haben, dass sich die Dichtewerte sehr ändern und die Definition von "urban" ziemlich relativ ist.
Ich habe versucht, einen klassischen Ansatz zu verwenden und die Steigungen so berechnet, als ob die Dichtewerte Höhen wären, aber die Steigungswerte waren auch sehr unterschiedlich und räumlich komplex, kompliziert.
Ich habe mich mit räumlichen Clustering-Algorithmen, LISA-Tools (Local Indocators of Spatial Association), mit ArcGIS und GeoDa befasst, bin aber unter sehr spezifischen Tools ziemlich verloren. Einige der Methoden arbeiten nur mit Vektorformen, daher sind eine Neuklassifizierung und eine Vektorisierung erforderlich (lange Berechnung).
Können Sie mir helfen, die zu verwendenden Methoden und Werkzeuge zu verfeinern? Vielen Dank !
quelle
Antworten:
Ich habe einige Arbeiten für meinen MSc http://ian01.geog.psu.edu/papers/mscthesis.pdf durchgeführt - im Grunde habe ich an Verlaufsänderungen gearbeitet, aber die Diskussion kann Ihnen dabei helfen.
quelle
Unter dem Gesichtspunkt der Bevölkerungsdichte sollte ein "Stadtgebiet" im Allgemeinen nur einige axiomatische Kriterien erfüllen :
Seine Grenze sollte keine Punkte mit (relativ) hoher Dichte im Vergleich zur maximalen Dichte in seinem Inneren enthalten.
Es sollte einfach angeschlossen werden (keine "Löcher").
Die durchschnittliche Bevölkerungsdichte sollte einen bestimmten Schwellenwert überschreiten.
Axiom (1) ist das natürlichste: Wenn ein Grenzpunkt eine hohe Dichte hätte, würden wir die Grenze einfach nach außen verschieben, um diesen Punkt in das Stadtgebiet aufzunehmen. Ich möchte vorschlagen, dass "relativ" als Anteil des Maximums bedeutet , wie ein Zehntel oder ein Hundertstel oder was auch immer. Axiom (2) vermeidet den Ausschluss von Parks und anderen Regionen mit geringer Dichte, die natürlich in Städten vorkommen. Axiom (3) , das, weil es von einer Schwelle abhängt, etwas willkürlich ist, eliminiert kleine kompakte Dörfer.
Tatsächlich gibt es mindestens ein weiteres Element der Willkür: Jede Gitterkarte der Bevölkerungsdichte mittelt implizit die Populationen über lokale Nachbarschaften (in einigen Fällen gleich einer Zelle und in Kernel-Dichteschätzungen gleich einem Kernelradius). Nehmen wir diese implizite Nachbarschaftsgröße (die geändert werden kann, indem zuerst Fokusmittel oder andere Kernelglättungen über die ursprüngliche Dichtekarte ausgeführt werden), diese Populationsschwelle und das Gefühl von "relativ hoch" in Axiom 1 als vom Benutzer einstellbare Parameter , die die steuern Ergebnis.
Diese Axiome führen natürlich zu einem ziemlich einfachen Algorithmus : Man muss lokale Maxima lokalisieren, in ihre Nachbarschaften schauen, bis eine Grenze gefunden wird, die das Axiom (1) erfüllt, alle Löcher ausfüllen, um das Axiom (2) zu erfüllen, und dann alle diese Kandidatenbereiche screenen gemäß (3). Dies geschieht wie folgt:
Glätten Sie optional die Dichtekarte.
Führen Sie einen "Füll" -Algorithmus für eine dichtebezogene Karte durch (siehe unten).
RegionGruppen Sie das Ergebnis.
Entfernen Sie Löcher aus den Polygonen der RegionGrouped.
Führen Sie Zonensummen der Bevölkerungsdichte über den gefüllten Polygonen durch.
Beseitigen Sie alle Polygone mit Summen (oder mittleren Dichten) unterhalb der Populationsschwelle (Dichte).
Was bleibt, ist Ihre Lösung.
Lassen Sie mich etwas mehr zu Schritt (1) sagen, der der Schlüssel ist. Ein Füllalgorithmus identifiziert "Senken" und "füllt" sie bis zu einem konstanten Betrag über ihren Höhen. Dies ist genau das , was Axiom (1) von uns verlangt, vorausgesetzt (a) wir können "sinken" die Rolle des "lokalen Maximums" spielen lassen und (b) "konstante Menge über" die Rolle des "konstanten Bruchteils von " spielen lassen . "" Der Weg, dies zu tun, besteht darin, den negativen Logarithmus der Dichte zu fülleneher als die Dichte selbst. (Fügen Sie der Dichte zuerst eine winzige Konstante hinzu - beispielsweise etwa 0,1 Personen pro Quadratkilometer -, bevor Sie das Protokoll erstellen, damit Zellen mit Nullen keine Probleme verursachen.) Die "Seen" in der negativen Protokolldichte identifizieren Kandidaten Stadtgebieten. Sie haben noch drei unabhängige Parameter zum Spielen (Eingabe in den Schritten 0, 1 und 5); Das Einstellen erfordert einige Überlegungen darüber, was Sie wirklich unter "Stadtgebiet" verstehen, sowie einige Experimente.
quelle