Szukam sposobu na utworzenie w PostGIS tak zwanych buforów jednostronnych lub linii równoległych. Przykład: 1. bufor, 2. jedna strona, 3. obie strony
Znalazłem trochę dyskusji na liście mailingowej z 2009 roku i informacje, że została ona zaimplementowana w GEOS , ale nic o aktualnym statusie PostGIS.
Jeśli funkcja nie jest jeszcze zaimplementowana, czy znasz jakieś obejścia? Czy można odciąć jedną stronę normalnego bufora?
Odpowiedzi:
Właściwe bufory jednostronne miały wylądować w wersji 1.5 , ale wydaje mi się, że chociaż style wylądowały, to po bokach się nie udało. Istnieje jednak obecny zestaw łatek, który odsłania
GEOSSingleSidedBuffer
i wykonuje bufor jednostronny zgodnie z oczekiwaniami , pod nazwąST_OffsetCurve
; patrz dalsze tło na bilecie # 413 . W użyciu:źródło
Ta próbka tworzy dwa wielokąty po obu stronach linii. Wymaga PostGIS 1.5 lub nowszego. Nie jestem pewien, jak dobrze poradzi sobie z przecinającymi się liniami.
Wyprowadza:
Kod działa w następujący sposób:
Można to poprawić w przyszłości, aby poradzić sobie z samobrzeżnymi liniami.
źródło
Ta modyfikacja tworzy dwa równoległe linie. Wymaga PostGIS 1.5 lub nowszego.
wymagana geometria lub wkt i odległość w buforze
-------------- WYNIKI
źródło
Ponieważ nadal nie mogę tutaj komentować, dodam tę odpowiedź
SCW daje najlepszą odpowiedź,
Wygląda jednak na zmianę funkcji
http://postgis.refractions.net/docs/ST_OffsetCurve.html
Teraz
'right'
parametr nie jest konieczny. Użycie odległości dodatniej utworzy lewą stronę, a odległość ujemną utworzy prawą stronęRównież moja poczta nie wymaga łatki
źródło