Estoy buscando una manera de crear los llamados buffers unilaterales o líneas paralelas en PostGIS. Ejemplo: 1. búfer, 2. un lado, 3. ambos lados
Encontré un poco de discusión en la lista de correo de 2009 e información de que se ha implementado en GEOS , pero nada sobre el estado actual de PostGIS.
En caso de que la función aún no esté implementada, ¿conoce alguna solución alternativa? ¿Es posible cortar un lado de un búfer normal?
postgis
polyline-creation
buffer
parallel-lines
bajo oscuro
fuente
fuente
Respuestas:
Se suponía que los búferes de un solo lado debían aterrizar en 1.5 , pero me parece que si bien los estilos aterrizaron, la unilateralidad no lo logró. Sin embargo, hay un parche actual que expone
GEOSSingleSidedBuffer
y realiza el búfer de un solo lado como se esperaba , bajo el nombreST_OffsetCurve
; ver más antecedentes en el boleto # 413 . En uso:fuente
Esta muestra crea dos polígonos a cada lado de una cadena lineal. Requiere PostGIS 1.5 o superior. No estoy seguro de qué tan bien hará frente a las líneas que se cruzan.
Produce:
El código funciona de la siguiente manera:
Esto podría mejorarse para hacer frente a las líneas de cruce automático en el futuro.
fuente
Esta modificación crea dos cadenas lineales paralelas. Requiere PostGIS 1.5 o superior.
geometría requerida o wkt, y distancia en el búfer
-------------- RESULTADOS
fuente
Como todavía no puedo comentar aquí, agrego esta respuesta
SCW da la mejor respuesta,
Pero parece que la función cambia
http://postgis.refractions.net/docs/ST_OffsetCurve.html
Ahora el
'right'
parámetro no es necesario. El uso de la distancia positiva creará el lado izquierdo y la distancia negativa creará el lado derechoTampoco se necesita parche con mi postgis
fuente