ST_PointOnSurface
Definición
ST_PointOnSurface toma un ST_Polygon o ST_MultiPolygon y devuelve un ST_Point garantizado para permanecer en su superficie.
Sintaxis
sde.st_pointonsurface (pl1 sde.st_geometry) sde.st_pointonsurface (mpl1 sde.st_geometry)
Tipo de devolución
ST_Point
Ejemplo
El ingeniero de la ciudad quiere crear un punto de etiqueta para cada huella de edificio. Las huellas de edificios se almacenan en la tabla buildingfootprints que se creó con la siguiente declaración CREATE TABLE:
CREATE TABLE buildings (building_id integer, footprint sde.st_geometry);
INSERT INTO buildings (building_id, footprint) VALUES ( 1, sde.st_polygon ('polygon ((0 0, 0 10, 10 10, 10 0, 0 0))', 0) ); INSERT INTO buildings (building_id, footprint) VALUES ( 2, sde.st_polygon ('polygon ((20 0, 20 10, 30 10, 30 0, 20 0))', 0) );
La función ST_PointOnSurface genera un punto que se asegura que debe estar en la superficie de las huellas de edificios. La función ST_PointOnSurface devuelve un punto que la función ST_AsText convierte a texto para que use la aplicación.
Oracle
SELECT sde.st_astext (sde.st_pointonsurface (footprint)) Surface_Points FROM BUILDINGS; SURFACE_POINTS POINT (5.00000000 5.00000000) POINT (25.00000000 5.00000000)
PostgreSQL
SELECT sde.st_astext (sde.st_pointonsurface (footprint)) AS Surface_Points FROM buildings; surface_points POINT (5 5) POINT (25 5)
3/6/2012