"
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