Définition
ST_Area retourne la surface d'un objet polygon ou multipolygon.
Syntaxe
Oracle et PostgreSQL
sde.st_area (polygon sde.st_geometry) sde.st_area (multipolygon sde.st_geometry)
SQLite
st_area (polygon st_geometry) st_area (polygon st_geometry, unit_name)
Type de retour
Double précision
Exemple
L'ingénieur municipal a besoin d'une liste des zones à bâtir. Pour créer cette liste, un technicien SIG sélectionne l'identifiant de bâtiment et la surface de chaque emprise de bâtiment.
Les emprises de bâtiments sont stockées dans la table bfp.
Pour répondre à la demande de l'ingénieur municipal, le technicien sélectionne la clé unique, l'identifiant building_id et la surface de chaque emprise de bâtiment de la table bfp.
Oracle
--Create and populate table.
CREATE TABLE bfp (
building_id integer not null,
footprint sde.st_geometry);
INSERT INTO BFP (building_id, footprint) VALUES (
1,
sde.st_polygon ('polygon ((0 0, 0 10, 10 10, 10 0, 0 0))', 4326)
);
INSERT INTO BFP (building_id, footprint) VALUES (
2,
sde.st_polygon ('polygon ((20 0, 30 20, 40 0, 20 0))', 4326)
);
INSERT INTO BFP (building_id, footprint) VALUES (
3,
sde.st_polygon ('polygon ((20 30, 25 35, 30 30, 20 30))', 4326)
);
--Get area of geometries.
SELECT building_id, sde.st_area (footprint) Area
FROM BFP;
BUILDING_ID Area
1 100
2 200
3 25
PostgreSQL
--Create and populate table.
CREATE TABLE bfp (
building_id serial,
footprint sde.st_geometry);
INSERT INTO bfp (footprint) VALUES (
sde.st_polygon ('polygon ((0 0, 0 10, 10 10, 10 0, 0 0))', 4326)
);
INSERT INTO bfp (footprint) VALUES (
sde.st_polygon ('polygon ((20 0, 30 20, 40 0, 20 0))', 4326)
);
INSERT INTO bfp (footprint) VALUES (
sde.st_polygon ('polygon ((20 30, 25 35, 30 30, 20 30))', 4326)
);
--Get area of geometries.
SELECT building_id, sde.st_area (footprint)
AS Area
FROM bfp;
building_id area
1 100
2 200
3 25
SQLite
--Create table, add geometry column to it, and populate the table.
CREATE TABLE bfp (
building_id integer primary key autoincrement not null
);
SELECT AddGeometryColumn(
NULL,
'bfp',
'footprint',
4326,
'polygon',
'xy',
'null'
);
INSERT INTO bfp (footprint) VALUES (
st_polygon ('polygon ((0 0, 0 10, 10 10, 10 0, 0 0))', 4326)
);
INSERT INTO bfp (footprint) VALUES (
st_polygon ('polygon ((20 0, 30 20, 40 0, 20 0))', 4326)
);
INSERT INTO bfp (footprint) VALUES (
st_polygon ('polygon ((20 30, 25 35, 30 30, 20 30))', 4326)
);
--Get area of geometries.
SELECT building_id, st_area (footprint)
AS "area"
FROM bfp;
building_id area
1 100.0
2 200.0
3 25.0