100% found this document useful (1 vote)
182 views

Postgis Spatial Functions

The document describes PostGIS functions for managing, constructing, and accessing spatial geometries in a PostgreSQL/PostGIS database. It provides examples of functions for adding/dropping geometry columns, constructing geometries from WKT/WKB, accessing geometry properties like type and boundaries, and more. The focus is on the basic spatial functionality provided by PostGIS.

Uploaded by

ced
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
182 views

Postgis Spatial Functions

The document describes PostGIS functions for managing, constructing, and accessing spatial geometries in a PostgreSQL/PostGIS database. It provides examples of functions for adding/dropping geometry columns, constructing geometries from WKT/WKB, accessing geometry properties like type and boundaries, and more. The focus is on the basic spatial functionality provided by PostGIS.

Uploaded by

ced
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

"

PostGIS Fonctions spatiales de base


"

Nicolas Ribot - Licence GNU FDL - Version 1.4

Magellium - 24 rue Herms BP12113, 31521 Ramonville Saint-Agne

"

Fonctions de gestion
"

Magellium - 24 rue Herms BP12113, 31521 Ramonville Saint-Agne

Fonction de gestion
-postgis_full_version:Affiche la version courante de
Postgis, GEOS, PROJ4 et PostgreSQL
-UpdateGeometrySRID:Met jour le SRID de toutes les entits
d'une colonne gographique, de la table gemetry_columns, et
de la contrainte sur le SRID de la table

Fonction de gestion
AddGeometryColumn
DropGeometryColumn
DropGeometryTable
PostGIS_Full_Version
PostGIS_GEOS_Version
PostGIS_LibXML_Version
PostGIS_Lib_Build_Date
PostGIS_Lib_Version
PostGIS_PROJ_Version

PostGIS_Scripts_Build_Date
PostGIS_Scripts_Installed
PostGIS_Scripts_Released
PostGIS_Version
Populate_Geometry_Columns
UpdateGeometrySRID

"

Constructeurs de gomtries
"

Magellium - 24 rue Herms BP12113, 31521 Ramonville Saint-Agne

Constructeurs de gomtries
v ST_GeomFromText :Construit une gomtrie a partir de
sa reprsentation WKT.
select st_geomFromText(

'POINT(2.5 43)', 4326);
v ST_GeometryFromText:Alias pour st_geomFromText
v ST_GeomFromWKB:Construit une gomtrie a partir de
sa reprsentation WKB.
v ST_makeBox2D, ST_makeBox3D:Construit une bbox a partir
de points.
v ST_MakePoint/ST_Point:Construit un point partir de
coordonnes
SELECT ST_MakePoint(1,2);

Constructeurs de gomtries (suite)


v ST_MakeLine:Construit une ligne a partir de points
SELECT ST_AsText(
ST_MakeLine(
ST_MakePoint(1,2),
ST_MakePoint(3,4)));

v ST_MakePolygon:Construit un polygone a partir d'une ligne


ferme

Constructeurs de gomtries (suite)


ST_BdPolyFromText
ST_GeomFromText
ST_BdMPolyFromText ST_GeomFromWKB
ST_GeogFromText
ST_LineFromMultiPoint
ST_GeographyFromText ST_LineFromText
ST_GeogFromWKB
ST_LineFromWKB
ST_GeomCollFromText ST_LinestringFromWKB
ST_GeomFromEWKB ST_MakeBox2D
ST_GeomFromEWKT ST_3DMakeBox
ST_GeometryFromText ST_MakeLine
ST_GeomFromGML
ST_MakeEnvelope
ST_GeomFromGeoJSO ST_MakePolygon
N
ST_MakePoint
ST_GeomFromKML
ST_MakePointM
ST_GMLToSQL
ST_MLineFromText

ST_MPointFromText
ST_MPolyFromText
ST_Point
ST_PointFromText
ST_PointFromWKB
ST_Polygon
ST_PolygonFromText
ST_WKBToSQL
ST_WKTToSQL

"

Accesseurs de gomtries
"

Magellium - 24 rue Herms BP12113, 31521 Ramonville Saint-Agne

Accesseurs de gomtries
v GeometryType/ST_GeometryType:Retourne le type de la
gomtrie ('POINT', 'POLYGONE'), respectivement
('ST_POINT', 'ST_POLYGONE')
v ST_Boundary:Retourne l'ensemble formant la frontire d'un
object
select st_boundary(st_point(0, 0));
select st_boundary(

st_geomFromText('LINESTRING(0 0, 1 1, 2 2)', -1));
select astext (

st_boundary (


st_polygonFromText ('POLYGON((0 0, 6 0, 6 6,
0 6, 0 0), (1 1, 5 1, 5 5, 1 5, 1 1))')));

Accesseurs de gomtries (suite)


v st_CoordDim:Retourne la dimension des coordonnes
de la gomtrie
v ST_EndPoint/ST_StartPoint:Retourne le dernier,
respectivement le premier point d'une LINESTRING
v ST_Envelope:Retourne une gomtrie reprsentant
lenveloppe englobant la gomtrie.
v ST_ExteriorRing:Retourne une LINESTRING reprsentant
l'extrieur du POLYGONE
v ST_GeometryN:Retourne la Nieme gomtrie (commenant
1) d'une collection (GeomCol, MULTI*)
v ST_InteriorRingN:Retourne la Nieme LINESTRING
reprsentant l'intrieur d'un POLYGONE

Accesseurs de gomtries (suite)


v ST_IsClosed:Vrai si le premier et le dernier point dune
LINESTRING sont les mmes
v ST_IsEmpty:Vrai si cette gomtrie est vide
(GEOMETRYCOLLECTION(EMPTY))
v ST_IsRing:Retourne vrai si la gomtrie est un ring
(linestring ferme)
v ST_IsSimple:Retourne vrai si la gomtrie est simple (ligne
ne se croisant pas, par exemple)
v ST_IsValid:Vrai si cette gomtrie est bien forme
v ST_IsValidReason:Retourne la raison de l'invalidit de la
gomtrie.

Accesseurs de gomtries (suite)


v ST_NPoints:Retourne le nombre total de sommets
dans la gomtrie.
v ST_NRings:Si la gomtrie est un POLYGONE ou
MULTIPOLYGONR, retourne le nombre total de rings.
v ST_NumGeometries:Si la gomtrie est une
GEOMETRYCOLLECTION ou un MULTI*, retourne le
nombre total de gomtries dans la collection.
v ST_NumInteriorRings:Si la gomtrie est un
POLYGONE ou un MULTIPOLYGON, retourne le
nombre de rings intrieurs dans le premier
polygone de la gomtrie.

Accesseurs de gomtries (suite)


v ST_PointN:Retourne le Nieme point dans une
ST_LINESTRING ou ST_CIRCULARSTRING.
v ST_Summary:Retourne un rsum de la gomtrie
select st_summary(the_geom)
from departements;
v ST_X, ST_Y, ST_Z:Retourne les coordonnes X, Y, Z,
respectivement, du POINT

Accesseurs de gomtries (suite)


GeometryType
ST_Boundary
ST_CoordDim
ST_Dimension
ST_EndPoint
ST_Envelope
ST_ExteriorRing
ST_GeometryN
ST_GeometryType
ST_InteriorRingN
ST_IsClosed
ST_IsCollection
ST_IsEmpty
ST_IsRing
ST_IsSimple
ST_IsValid

ST_IsValidReason
ST_IsValidDetail
ST_M
ST_NDims
ST_NPoints
ST_NRings
ST_NumGeometries
ST_NumInteriorRings
ST_NumInteriorRing
ST_NumPatches
ST_NumPoints
ST_PatchN
ST_PointN
ST_SRID
ST_StartPoint
ST_Summary

ST_X
ST_XMax
ST_XMin
ST_Y
ST_YMax
ST_YMin
ST_Z
ST_ZMax
ST_Zmflag
ST_ZMin

"

Editeurs de gomtries
"

Magellium - 24 rue Herms BP12113, 31521 Ramonville Saint-Agne

Editeurs de gomtries
v ST_AddPoint/ST_RemovePoint:Ajoute/supprime un
point une LINESTRING avant le/au point de position
donne (0-based index).
v ST_Affine, ST_Rotate, ST_RotateX, ST_RotateY,
ST_Scale, ST_Transcale:Effectue des oprations
math. de transformation affine, rotation mise
l'chelle, translation, etc.
v ST_Force2D, ST_Force3D, ST_Force3DM:Force la
dimension de la gomtrie
v ST_ForceRHR:Force l'orientation des sommets du
POLYGONE selon la rgle de la main droite (sens
horaire)

Editeurs de gomtries (suite)


ST_rotate
select st_rotate(
'POLYGON((1.4 3.2,0.9 2.1,1.3 2.5,1.6 2,1.4
3.2))'::geometry, 3.149);

Editeurs de gomtries (suite)


v ST_LineMerge:Assemble des LINESTRING entre elles
provenant d'une MULTILINESTRING
v ST_Multi:Force la gomtrie tre de la forme
MULTI*.
v ST_Force2D, ST_Force3D, ST_Force3DM:Force la
dimension de la gomtrie
v ST_ForceRHR:Force l'orientation des sommets du
POLYGONE selon la rgle de la main droite (sens
horaire)
v ST_Reverse:Inverse l'ordre les sommets de la
gomtrie

Editeurs de gomtries (suite)


v ST_Tranform:Change le systme de coordonnes de la
gomtrie passe en argument et retourne une
nouvelle gomtrie
ST_Transform(geometry geom, integer srid)
SELECT ST_Transform(the_geom, 4326) FROM ma_table;

v ST_SetSRID:Met jour le SRID de la gomtrie


v ST_Segmentize:Retourne la geometry modifie de telle
sorte que la longueur maximum d'un segment soit
infrieur ou gale la distance donne: des points
seront alors ajouts

Editeurs de gomtries (suite)


ST_AddPoint
ST_CollectionHomog ST_SetSRID
enize
ST_Affine
ST_SnapToGrid
ST_Multi
ST_Force_2D
ST_Snap
ST_RemovePoint
ST_Force_3D
ST_Transform
ST_Reverse
ST_Force_3DZ
ST_Translate
ST_Rotate
ST_Force_3DM
ST_TransScale
ST_RotateX
ST_Force_4D
ST_Force_Collection ST_RotateY
ST_RotateZ
ST_ForceRHR
ST_Scale
ST_LineMerge
ST_CollectionExtract ST_Segmentize
ST_SetPoint

"

Sorties en diffrents formats


"

Magellium - 24 rue Herms BP12113, 31521 Ramonville Saint-Agne

Sorties en diffrents formats


v ST_Binary:Retourne la reprsentation WKB de la gomtrie
v ST_AsGeoJson:Retourne la reprsentation GeoJson de la
gomtrie
v ST_AsGML:Retourne la reprsentation GML 2 ou 3 de la
gomtrie
v ST_AsKML:Retourne la reprsentation KML de la gomtrie,
avec controle de la sortie (prcision, version)
v ST_AsSVG:Retourne la reprsentation SVG (data path) de la
gomtrie
v ST_AsGeoHash:Retourne la reprsentation GeoHash de la
gomtrie

Sorties en diffrents formats


ST_AsBinary
ST_AsEWKB
ST_AsEWKT
ST_AsGeoJSON
ST_AsGML
ST_AsHEXEWKB
ST_AsKML
ST_AsSVG
ST_AsX3D
ST_GeoHash
ST_AsText

ST_AsLatLonText

"

Relations spatiales et mesures


"

Magellium - 24 rue Herms BP12113, 31521 Ramonville Saint-Agne

Relations spatiales et mesures


v ST_Azimuth:Retourne l'angle en radian form par le vecteur
compos des deux POINTs
v ST_LineCrossingDirection:Etant donnes deux
LINESTRING, retourne un nombre entre -3 et 3 donnant le
type de croisement, 0 voulant dire pas de croisement:
v 0: LINE NO CROSS
v-1: LINE CROSS LEFT
v 1: LINE CROSS RIGHT
v-2: LINE MULTICROSS END LEFT
v 2: LINE MULTICROSS END RIGHT
v-3: LINE MULTICROSS END SAME FIRST LEFT
v 3: LINE MULTICROSS END SAME FIRST RIGHT

Relations spatiales et mesures (suite)


- ST_Distance:Retourne la distance cartsienne minimale
entre deux gomtries.
- ST_MaxDistance:Retourne la distance cartsienne
maximale entre deux gomtries.
- ST_DistanceSphere:Retourne la distance en mtres de
deux points situs sur la sphre terrestre (rayon 6370986 m)
- ST_DistanceSpheroid:Retourne la distance en mtres de
deux points situs sur le sphrode donn
- ST_DWithin:Retourne vrai si deux gomtries sont plus
proche que la distance donne.

Relations spatiales et mesures (suite)


v ST_OrderingEquals:Retourne vrai si les deux gomtries
sont gales et leurs poins sont dans le mme ordre
v ST_Relate:
v Retourne vrai si les deux gomtries ont une relation spatiale entre
leurs intrieurs, extrieurs, frontires correspondant la dfinition
donnes dans la matrice d'intersection.
v Si aucune matrice d'intersection n'est passe, retourne la matrice
d'intersection maximale qui relie les deux gomtries

ST_Area
v Renvoie la surface en units carres (*) d'une
gomtrie polygonale
v Prototype:
ST_Area(geometry geom)
SELECT ST_Area(the_geom) FROM ma_table;

v Voir aussi:
v ST_Perimeter

(*) Surface en unit des donnes, dpendant du systme de projection.

ST_Centroid
v Renvoie la gomtrie du centrode d'une gomtrie
polygonale
v Prototype:
ST_Centroid(geometry geom)
SELECT ST_Centroid(the_geom) FROM ma_table;

v Attention, le centrode n'est pas toujours situ sur la surface


v Voir aussi:
v ST_PointOnSurface

ST_Length
v Renvoie la longueur(*) d'une gomtrie linaire
v Prototype:
ST_Length(geometry geom)
SELECT ST_Length(the_geom) FROM ma_table;

v Voir aussi:
v ST_Length_Sphere/spheroid (distance en mtres)
v ST_Perimeter

(*) Distance en unit des donnes, dpendant du systme de projection.

ST_Extent
v Renvoie la BBOX agrge d'un ensemble de
gomtries
v Prototype:
ST_Extent(geometry_set geom)
SELECT ST_Extent(the_geom) FROM ma_table;

v Voir aussi:
v ST_Box2D et ST_Box3D
v ST_Expand
v ST_Enveloppe
v ST_Estimated_Extent

Relations spatiales et mesures (suite)


ST_3DClosestPoint
ST_3DDistance
ST_3DDWithin
ST_3DDFullyWithin
ST_3DIntersects
ST_3DLongestLine
ST_3DMaxDistance
ST_3DShortestLine
ST_Area
ST_Azimuth

ST_Crosses
ST_LineCrossingDirection
ST_Disjoint
ST_Distance
ST_HausdorffDistance
ST_MaxDistance
ST_Distance_Sphere
ST_Distance_Spheroid
ST_DFullyWithin
ST_DWithin

ST_Length_Spheroid
ST_Length2D_Spheroid
ST_3DLength_Spheroid
ST_LongestLine
ST_OrderingEquals
ST_Overlaps
ST_Perimeter
ST_Perimeter2D
ST_3DPerimeter
ST_PointOnSurface

ST_Centroid
ST_ClosestPoint
ST_Contains
ST_ContainsProperly
ST_Covers
ST_CoveredBy

ST_Equals
ST_HasArc
ST_Intersects
ST_Length
ST_Length2D
ST_3DLength

ST_Project
ST_Relate
ST_RelateMatch
ST_ShortestLine
ST_Touches
ST_Within

"

Fonction de traitement gomtrique


"

Magellium - 24 rue Herms BP12113, 31521 Ramonville Saint-Agne

ST_Simplify
v Renvoie une gomtrie gnralise (algo: Douglas
Peuker)
v Prototype:
ST_Simplify(geometry geom, integer tolerance)
SELECT ST_Simplify(the_geom, 100) FROM ma_table;

v Voir aussi:
v ST_SnapToGrid
v ST_SimplifyPreserveTopology

ST_Simplify

SELECT ST_Simplify(the_geom, 0.5) FROM pays;

ST_Intersection
v Renvoie la gomtrie rsultant de l'intersection entre
deux gomtries donnes
v Prototype:
ST_Intersection(geometry geom_A, geometry geom_B)
SELECT ST_Intersection(
(SELECT the_geom FROM ma_table WHERE gid='4'),
(SELECT the_geom FROM ma_table WHERE gid='2')
);

v Voir aussi:
v ST_Union
v ST_Difference, ST_sym_difference

ST_Intersection
SELECT ST_intersection(pays.geometry,
etoiles.geometry) as geom
FROM pays, etoiles
where pays.country='France';

ST_Buffer
v Renvoie une gomtrie reprsentant un buffer de X
units(*) autour d'une gomtrie donne. (units des
donnes)
v Prototype:
ST_Buffer(geometry geom, double buffer_distance,
[integer number_of_segments])
SELECT ST_Buffer(the_geom, 30) FROM ma_table;

v Nota:
vLa valeur du buffer peut tre ngative (buffer inverse)

*Unit des donnes, dpendant du systme de projection.

ST_Buffer

SELECT ST_buffer(pays.geometry, 0.1) as geom


FROM pays
where pays.country='France;

Fonction de traitement gomtrique


v ST_Collect:Retourne une gomtrie de type collection
(GeometryCollection ou MULTI*) a partir de la liste de
gomtries donne (fonctionne avec une colonne, deux
gomtries ou un tableau de gomtries).
v ST_ConvexHull:Retourne l'enveloppe convexe de la
gomtries donne
v ST_Dump:Retourne un ensemble de gomtries constituant
la gomtrie donne (Collection)
v ST_Polygonize:Retourne une GEOMETRYCOLLECTION
contenant des polygones possiblement forms a partir du
rseau de lignes constitu par la gomtrie donne.

ConvexHull
SELECT ST_convexHull(geometry) as geom
FROM metro;

Fonction de traitement gomtrique


ST_Buffer
ST_BuildArea
ST_Collect
ST_ConcaveHull
ST_ConvexHull
ST_CurveToLine
ST_Difference
ST_Dump
ST_DumpPoints
ST_DumpRings
ST_FlipCoordinates
ST_Intersection
ST_LineToCurve

ST_MakeValid
pology
ST_MemUnion
ST_Split
ST_MinimumBoundingC ST_SymDifference
ircle
ST_Union
ST_Polygonize
ST_UnaryUnion
ST_Node
ST_OffsetCurve
ST_RemoveRepeatedP
oints
ST_SharedPaths
ST_Shift_Longitude
ST_Simplify
ST_SimplifyPreserveTo

You might also like