Ich suche nach einer Möglichkeit, sogenannte einseitige Puffer oder parallele Linien in PostGIS zu erstellen. Beispiel: 1. Puffer, 2. einseitig, 3. beidseitig
Ich habe einige Diskussionen über die Mailingliste von 2009 und Informationen darüber, dass sie in GEOS implementiert wurde , gefunden, aber nichts über den aktuellen PostGIS-Status.
Kennen Sie Problemumgehungen, falls die Funktion noch nicht implementiert ist? Ist es möglich, eine Seite eines normalen Puffers abzuschneiden?
postgis
polyline-creation
buffer
parallel-lines
Underdunkel
quelle
quelle
Antworten:
Richtige einseitige Puffer sollten in 1.5 gelandet sein , aber es scheint mir, dass Sidedness es nicht geschafft hat, während die Stile gelandet sind . Es gibt jedoch ein aktuelles Patchset, das
GEOSSingleSidedBuffer
den einseitigen Puffer wie erwartet verfügbar macht und ausführt unter dem NamenST_OffsetCurve
; Weitere Hintergründe finden Sie in Ticket Nr. 413 . In Benutzung:quelle
In diesem Beispiel werden zwei Polygone auf beiden Seiten einer Linienfolge erstellt. Es erfordert PostGIS 1.5 oder höher. Ich bin mir nicht sicher, wie gut es mit sich kreuzenden Linien umgehen wird.
Es gibt aus:
Der Code funktioniert folgendermaßen:
Dies könnte verbessert werden, um künftig mit sich selbst kreuzenden Leitungen fertig zu werden.
quelle
Diese Änderung erstellt zwei parallele Linienfolgen. Es erfordert PostGIS 1.5 oder höher.
erforderliche Geometrie oder Wkt und Abstand im Puffer
-------------- ERGEBNISSE
quelle
Da ich hier immer noch keinen Kommentar abgeben kann, füge ich diese Antwort hinzu
SCW geben die beste Antwort,
Sieht aber so aus, als hätte die Funktion http://postgis.refractions.net/docs/ST_OffsetCurve.html geändert
Jetzt ist der
'right'
Parameter nicht notwendig. Bei Verwendung des positiven Abstands wird die linke Seite und bei Verwendung des negativen Abstands die rechte Seite erstelltAuch kein Patch mit meinem Postgis nötig
quelle