Ich versuche, die Regierungsgrenzen auf oberer und unterer Ebene des US-Bundesstaates so zu vereinen, dass für jede Form eine PostGIS-Tabelle mit den Namen der oberen und unteren Ebene generiert wird.
In meinem Beispiel unten U
ist ein Datensatz und hat eine Spalte mit Zeilen UA
und UB
. L
und ist ein weiterer Datenmenge hat LA
, LB
und LC
. Wenn ich die Formen zusammenführe, sollte ich die gleichen Formen erhalten, L
aber das neue, zusammengeschlossene Dataset enthält beide Datenspalten.
Bearbeiten : Mein Beispielbild oben ist ziemlich mies. Die bisherigen Antworten beziehen sich auf die Abfrage der Daten unter der Annahme, dass die Geometrie verfügbar ist. Dies ist wichtig, überspringt aber den verwirrenderen Teil meiner Frage. Ein besseres Beispiel:
Die gelbe Form ist von U
, die orange Form ist von L
. Beachten Sie, dass sie sich überlappen, aber einige Teile der Polygone nicht vollständig in einer anderen Form enthalten sind (wie in meinem Beispiel, wo LB
und LC
vollständig innerhalb UB
).
Die Frage, die ich stellen wollte, betrifft das korrekte Zerlegen der beiden Ebenen, damit der resultierende Datensatz keine Überlappungen aufweist. Siehe zum Beispiel diesen Mailinglisten-Beitrag , der nahe kommt, aber nicht ganz funktioniert.
Antworten:
Ohne Ihre Spaltennamen zu kennen, ist dies meine beste Vermutung. (Ich hatte noch keine Gelegenheit zum Testen, daher ist es möglicherweise nicht genau richtig.) Hoffentlich können Sie die von mir verwendeten Spaltennamen herausfinden. Angenommen, L ist eine Teilmenge von U:
quelle
Die Antwort hängt davon ab, wie sauber und konsistent Ihre Daten sind. Wenn Sie davon ausgehen können, dass sich der Schwerpunkt der Tabelle L innerhalb des übereinstimmenden Polygons in Tabelle U befindet, können Sie Folgendes schreiben:
Dann sollten Sie bekommen, was Sie wollen. Wenn Sie die gesamte Geometrie anstelle des Schwerpunkts von L verwenden, erhalten Sie viele seltsame Übereinstimmungen.
HTH
Nicklas
quelle