Sie sind auf Seite 1von 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

Das könnte Ihnen auch gefallen