pgRouting Manual (2.0.0)

pgr_pointsAsPolygon

«  pgr_alphaShape   ::   Contenu   ::   Developers’s Functions  »

pgr_pointsAsPolygon

Nom

pgr_pointsAsPolygon — Dessine une forme alpha à partir d’un ensemble de points.

Synopsis

Retourner la forme alpha comme polygone geometry.

geometry pgr_pointsAsPolygon(text sql);

Description

sql:

text une requête SQL, qui doit retourner un ensemble de lignes avec les colonnes suivantes :

SELECT id, x, y FROM vertex_result;
id:int4 identifiant du sommet
x:coordonnée x float8
y:coordonnée y float8

Retourne une géométrie polygone.

Histoire

  • Renommé depuis la version 2.0.0

Exemples

In the following query there is not way to control which point in the polygon is the first in the list, so you may get similar but different results than the following which are also correct. Each of the pgr_pointsAsPolygon queries below is followed by one the compute the area of the polygon. This area should remain constant regardles of the order of the points making up the polygon.

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

Les requêtes utilisent le réseau Données d’échantillon.

Voir aussi

«  pgr_alphaShape   ::   Contenu   ::   Developers’s Functions  »