Sie suchen nach Verallgemeinerungsstrategien für die Erstellung von Umrissen in PostGIS?


22

Ich habe einen Datensatz mit Gebäudefußabdrücken, die aus einem Raster-Dataset vektorisiert wurden. Das Dataset ist derzeit nur eine Vektordarstellung der Rasterdaten. Ich hätte gerne ein Polygon-Dataset, das nur Eckpunkte an den Ecken des Gebäudes hat. Ich habe versucht, den Befehl Vereinfachen in PostGIS mit begrenztem Erfolg zu verwenden.

Gibt es einen besseren Weg?

Antworten:


17

Es gibt viele Algorithmen zur Vereinfachung von Gebäuden. Sie können sich auf dieser Website einen Überblick verschaffen. Siehe auch diese Frage . Du könntest benutzen:

  • Vereinfachung der Gebäudeumrisse: Es besteht darin, zu kurze Kanten der Umrisse rekursiv zu löschen und die Nachbarkanten zu verlängern. Beispiel:

Alt-Text

  • Algorithmus für das kleinste umgebende Rechteck: Ersetzt die Gebäudegeometrie durch das kleinste umgebende Rechteck. Dieses Rechteck kann auch auf den Anfangsbereich des Gebäudes skaliert werden. Beispiel:

Alt-Text

  • Quadrierungsalgorithmus: Es besteht darin, Kanten leicht zu drehen, um die Ecken perfekt zu quadrieren. Beispiel:

Alt-Text

Diese Transformationen können für Ihren Bedarf ausreichen. Es kann interessant sein, sie zu kombinieren.

Ich bin fast zu 100% sicher, dass keiner dieser Algorithmen in PostGIS implementiert ist. Einige sind in der Opencarto Java-Bibliothek implementiert, die ich gerade entwickle. Lass es mich wissen, wenn du es testen willst!


1
Können Sie kurz erläutern, auf welche Algorithmen Sie sich in Opencarto für die erwähnte "Gebäudevereinfachung" beziehen? Ich konnte keine direkten Informationen im Wiki oder Code in Opencarto finden.
Benjamin

Es ist "ShortEdgesDeletion". Sie finden es dort auf github: github.com/jgaffuri/OpenCarto/blob/master/src/main/java/org/…
julien



3

So etwas könnte den Trick machen:

"Wenn wir um einen großen Betrag puffern und dann den Puffer um den gleichen Betrag umkehren, erhalten wir etwas, das eine ähnliche Form wie das Original hat, jedoch ohne die zerknitterten Teile."

http://blog.opengeo.org/2010/11/22/removing-complexities/


Das ist ein interessanter Ansatz und scheint relativ effektiv zu sein. Vielen Dank für den Zeiger, den ich verwenden kann. Ihre Antwort wäre besser, wenn sie einen einfachen Satz enthalten würde, der die Kernidee enthält, auf die verwiesen wird, und nicht nur einen Link.
Matt Wilkie
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.