6 votos

Cómo dibujar el radio de una circular punto de búfer de usar PostGIS

Me han generado circular búferes de puntos en un shapefile. El generado círculos y puntos en común un conjunto de ID/clave, dicen pt_id.

Mi pregunta es

Es posible usar PostGIS para generar una tercera capa de polilíneas (líneas rectas) que representan los radios de la siguiente manera?

Necesito esto para una mejor presentación.

enter image description here

2voto

Scro Puntos 1729

Tendrás que volcar el búfer de puntos en una subconsulta. Yo creo que el orden está garantizado, por lo que sólo use LIMIT 1 a agarrar el primer punto. Algo como esto:

SELECT
  pt_id,
  ST_MakeLine(tp.geom, (
    SELECT 
      (ST_DumpPoints(the_geom)).geom "tb_geom"
    FROM
      the_buffer_table "tb"
    WHERE
      tb.pt_id = tp.pt_id
    LIMIT 1
    )
  ) "the_geom"
FROM
  the_point_table "tp"

Hay varias formas de establecer la distancia de búfer (constante, atributo, subconsulta, utilizando una función, etc.), este método debe trabajar no importa la forma en que fueron generados.

Este es un concepto útil, incluso si usted no desea dibujar las líneas, debido a que proporciona un ancla sólida de radio (o de otros) las etiquetas.

0voto

gregmac Puntos 12813

Si todos ellos pueden ser el mismo, ¿acerca de algo a lo largo de estas líneas:

 ST_MakeLine(points.geom, 
             ST_MakePoint(ST_X(points.geom)+bufferwidth, ST_Y(points.geom))
            )

Dependiendo de su SRID usted puede necesitar para envolver el punto de constructor en una ST_SetSRID de llamadas y pre-convertir el búfer de radio en un compatibles valor.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X