pgRouting Manual (2.0.0)

pgr_pointsAsPolygon

«  pgr_alphaShape   ::   Contents   ::   Funciones para Desarrolladores  »

pgr_pointsAsPolygon

Nombre

pgr_pointsAsPolygon — Dibuja un figura Alfa alrededor de un conjunto de puntos dado.

Sinopsis

Devuelve la forma alfa con geometría de polígono.

geometry pgr_pointsAsPolygon(text sql);

Descripción

sql:

text una consulta SQL la cual debe proporcionar un conjunto de registros con los siguientes campos:

SELECT id, x, y FROM vertex_result;
id:int4 Identificador del vértice
x:float8 coordenada x
y:float8 coordenada y

Devuelve una geometría polígonal.

Historia

  • Renombrado en la versión 2.0.0

Ejemplos

En la siguiente consulta no hay manera de controlar cúal punto del polígono es el primero en la lista, así obtendrá resultados similares pero diferentes en orden, pero que también es correctos. Cada una de las consultas de pgr_pointsAsPolygon en los ejemplos es seguida por una consulta para calcular el área del polígono. Esta área debe permanecer constante independientemente del orden de los puntos que componen el polígono.

SELECT ST_AsText(pgr_pointsAsPolygon('SELECT id, x, y FROM vertex_table'));

               st_astext
----------------------------------------
 POLYGON((2 0,4 1,4 2,4 3,2 4,0 2,2 0))
(1 row)

SELECT round(ST_Area(pgr_pointsAsPolygon('SELECT id, x, y FROM vertex_table'))::numeric, 2) as st_area;

 st_area
---------
   10.00
(1 row)


SELECT ST_ASText(pgr_pointsASPolygon('SELECT id::integer, st_x(the_geom)::float as x, st_y(the_geom)::float as y
                                      FROM edge_table_vertices_pgr'));
                    st_astext
----------------------------------------------------------
 POLYGON((0.5 3.5,0 2,2 0,4 1,4 2,4 3,3.5 4,2 4,0.5 3.5))
(1 row)

SELECT round(ST_Area(pgr_pointsASPolygon('SELECT id::integer, st_x(the_geom)::float as x, st_y(the_geom)::float as y
     FROM edge_table_vertices_pgr'))::numeric, 2) as st_area;

 st_area
---------
   11.75

Las consulta usa la red de ejemplo Datos Muestra

Véase también

«  pgr_alphaShape   ::   Contents   ::   Funciones para Desarrolladores  »