Ich lerne, wie man PostGIS und räumliche Datenbanken für die Analyse verwendet. Ich versuche, eine Berechnung durchzuführen, um den Abstand für das nächste Polygon in einer Datei mithilfe der Kantenberechnung anstelle von Scheitelpunkten zu ermitteln.
Verwenden Sie diese Antwort von Paul Ramsey, um mithilfe von ArcGIS Desktop den Mindestabstand von Kante zu Kante von Polygonen zu ermitteln? Das ist eine ähnliche Frage:
TABELLE ERSTELLEN mytable_distances AS SELECT a.id, b.id, ST_Distance (a.geom :: geography, b.geom :: geography) als Abstand von mytable a, mytable b;
Ich versuche, es auf meine räumliche Datenbank anzuwenden. Ich verstehe die Struktur dieser Abfrage jedoch nicht. Ich denke, CREATE TABLE mytable_distances AS
erstellt eine Tabelle, um das Ergebnis zu speichern, aber nach diesem Teil bin ich verloren. Sind a
und b
Spaltennamen? Wenn ja, warum sollte ich zwei Spalten angeben, um dies zu berechnen?
Meine Tabelle wird aufgerufen TestArea
und ich habe erfolgreich mit einigen grundlegenden Abfragen experimentiert:
SELECT
"TestArea".hgt
FROM
public."TestArea"
WHERE
"TestArea".area > 100
Die Struktur der Datenbank in PGAdmin III ist wie folgt, wobei meine Tabelle aufgerufen wird TestArea
. Ich bin mir nicht sicher, wie die Berechnung des nächsten Nachbarn unter Verwendung meiner Spaltenüberschriften aussehen soll (alle diese Objekte sind Polygone).
ST_Distance
Filter in derWHERE
Klausel eingeführt, um zu sagen, dass "wir keine Entfernungen zwischen etwas anderem über eine bestimmte Entfernung hinaus finden wollen". Hatten Sie erwartet, das [eine] nächstgelegene Gebiet zu einem anderen zu finden? Dies wäre in der Tat eine etwas andere Abfrage.