Spatial-Funktionen
Funktionsindex
| Funktion | Zusammenfassung |
|---|---|
DuckDB_PROJ_Compiled_Version |
Gibt eine textuelle Beschreibung der PROJ-Bibliotheksversion zurück, gegen die diese DuckDB-Instanz kompiliert wurde. |
DuckDB_Proj_Version |
Gibt eine textuelle Beschreibung der PROJ-Bibliotheksversion zurück, die von dieser DuckDB-Instanz verwendet wird. |
ST_Affine |
Wendet eine affine Transformation auf eine Geometrie an. |
ST_Area |
Berechnet die Fläche einer Geometrie. |
ST_Area_Spheroid |
Gibt die Fläche einer Geometrie in Metern zurück, unter Verwendung eines ellipsoidischen Modells der Erde |
ST_AsGeoJSON |
Gibt die Geometrie als GeoJSON-Fragment zurück |
ST_AsHEXWKB |
Gibt die Geometrie als HEXWKB-Zeichenkette zurück |
ST_AsMVTGeom |
Transformiert und schneidet eine Geometrie auf eine Kachelgrenze zu |
ST_AsSVG |
Wandelt die Geometrie in ein SVG-Fragment oder einen SVG-Pfad um |
ST_AsText |
Gibt die Geometrie als WKT-Zeichenkette zurück |
ST_AsWKB |
Gibt die Geometrie als WKB-Blob (Well-Known-Binary) zurück |
ST_Azimuth |
Gibt das Azimut (einen im Uhrzeigersinn von Norden gemessenen Winkel) zweier Punkte im Bogenmaß zurück. |
ST_Boundary |
Gibt die „Grenze“ einer Geometrie zurück |
ST_Buffer |
Gibt einen Puffer um die Eingabegeometrie im Zielabstand zurück |
ST_BuildArea |
Erzeugt eine polygonale Geometrie, indem versucht wird, die Eingabegeometrie „aufzufüllen“. |
ST_Centroid |
Gibt den Schwerpunkt einer Geometrie zurück |
ST_Collect |
Sammelt eine Liste von Geometrien zu einer Sammlungsgeometrie. |
ST_CollectionExtract |
Extrahiert Geometrien aus einer GeometryCollection in eine typisierte Multi-Geometrie. |
ST_ConcaveHull |
Gibt die ‚konkave‘ Hülle der Eingabegeometrie zurück, die alle Punkte der Quelleingabe enthält und zur Erzeugung von Polygonen aus Punkten verwendet werden kann. Der Parameter ratio bestimmt den Grad der Konkavität; 1.0 gibt die konvexe Hülle zurück; 0 bedeutet, die konkavste mögliche Hülle zurückzugeben. Setzen Sie allowHoles auf einen von null verschiedenen Wert, um Ausgabe mit Löchern zuzulassen. |
ST_Contains |
Gibt wahr zurück, wenn die erste Geometrie die zweite Geometrie enthält |
ST_ContainsProperly |
Gibt wahr zurück, wenn die erste Geometrie die zweite Geometrie "echt" enthält |
ST_ConvexHull |
Gibt die konvexe Hülle zurück, die die Geometrie umschließt |
ST_CoverageInvalidEdges |
Gibt die ungültigen Kanten in einer polygonalen Coverage zurück, also Kanten, die nicht von zwei Polygonen geteilt werden. |
ST_CoverageSimplify |
Vereinfacht die Kanten in einer polygonalen Coverage und erhält die Coverage, indem sichergestellt wird, dass zwischen den resultierenden vereinfachten Polygonen keine Nähte entstehen. |
ST_CoverageUnion |
Vereinigt alle Geometrien in einer polygonalen Coverage zu einer einzelnen Geometrie. |
ST_CoveredBy |
Gibt wahr zurück, wenn geom1 von geom2 „überdeckt wird“ |
ST_Covers |
Gibt wahr zurück, wenn geom1 geom2 „überdeckt“ |
ST_Crosses |
Gibt wahr zurück, wenn geom1 geom2 „kreuzt“ |
ST_DWithin |
Gibt zurück, ob zwei Geometrien innerhalb eines Zielabstands voneinander liegen |
ST_DWithin_GEOS |
Gibt zurück, ob zwei Geometrien innerhalb eines Zielabstands voneinander liegen |
ST_DWithin_Spheroid |
Gibt zurück, ob zwei POINT_2D innerhalb eines Zielabstands in Metern liegen, unter Verwendung eines ellipsoidischen Modells der Erdoberfläche |
ST_Difference |
Gibt die „Differenz“ zwischen zwei Geometrien zurück |
ST_Dimension |
Gibt die „topologische Dimension“ einer Geometrie zurück. |
ST_Disjoint |
Gibt wahr zurück, wenn die Geometrien disjunkt sind |
ST_Distance |
Gibt die planare Distanz zwischen zwei Geometrien zurück |
ST_Distance_GEOS |
Gibt die planare Distanz zwischen zwei Geometrien zurück |
ST_Distance_Sphere |
Gibt die Haversine-Distanz (Großkreis) zwischen zwei Geometrien zurück. |
ST_Distance_Spheroid |
Gibt die Distanz zwischen zwei Geometrien in Metern unter Verwendung eines ellipsoidischen Modells der Erdoberfläche zurück |
ST_Dump |
Zerlegt eine Geometrie in eine Liste von Teilgeometrien und deren „Pfad“ in der ursprünglichen Geometrie. |
ST_EndPoint |
Gibt den Endpunkt eines LINESTRING zurück. |
ST_Envelope |
Gibt das minimale umschließende Rechteck einer Geometrie als Polygongeometrie zurück |
ST_Equals |
Gibt wahr zurück, wenn die Geometrien „gleich“ sind |
ST_Extent |
Gibt die minimale Bounding Box zurück, die die Eingabegeometrie umschließt |
ST_Extent_Approx |
Gibt die ungefähre Bounding Box einer Geometrie zurück, sofern verfügbar. |
ST_ExteriorRing |
Gibt den äußeren Ring (die Hülle) einer Polygongeometrie zurück. |
ST_FlipCoordinates |
Gibt eine neue Geometrie zurück, bei der die Koordinaten der Eingabegeometrie „vertauscht“ sind, sodass x = y und y = x |
ST_Force2D |
Erzwingt, dass die Vertices einer Geometrie X- und Y-Komponenten haben |
ST_Force3DM |
Erzwingt, dass die Vertices einer Geometrie X-, Y- und M-Komponenten haben |
ST_Force3DZ |
Erzwingt, dass die Vertices einer Geometrie X-, Y- und Z-Komponenten haben |
ST_Force4D |
Erzwingt, dass die Vertices einer Geometrie X-, Y-, Z- und M-Komponenten haben |
ST_GeomFromGeoJSON |
Deserialisiert eine GEOMETRY aus einem GeoJSON-Fragment. |
ST_GeomFromHEXEWKB |
Deserialisiert eine GEOMETRY aus einer HEX(E)WKB-kodierten Zeichenkette |
ST_GeomFromHEXWKB |
Deserialisiert eine GEOMETRY aus einer HEX(E)WKB-kodierten Zeichenkette |
ST_GeomFromText |
Deserialisiert eine GEOMETRY aus einer WKT-kodierten Zeichenkette |
ST_GeomFromWKB |
Deserialisiert eine GEOMETRY aus einem WKB-kodierten Blob |
ST_GeometryType |
Gibt ein ‘GEOMETRY_TYPE’-Enum zurück, das den Typ der Eingabegeometrie identifiziert. Mögliche Enum-Rückgabetypen sind: POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON und GEOMETRYCOLLECTION. |
ST_HasM |
Prüft, ob die Eingabegeometrie M-Werte hat. |
ST_HasZ |
Prüft, ob die Eingabegeometrie Z-Werte hat. |
ST_Hilbert |
Kodiert die X- und Y-Werte als Hilbert-Kurvenindex für eine Kurve, die die gegebene Bounding Box abdeckt. |
ST_InterpolatePoint |
Berechnet den nächsten Punkt auf einem LINESTRING zu einem gegebenen POINT und gibt den interpolierten M-Wert dieses Punktes zurück. |
ST_Intersection |
Gibt die Schnittmenge zweier Geometrien zurück |
ST_Intersects |
Gibt wahr zurück, wenn sich die Geometrien schneiden |
ST_Intersects_Extent |
Gibt wahr zurück, wenn sich die Extents zweier Geometrien schneiden |
ST_IsClosed |
Prüft, ob eine Geometrie ‚geschlossen‘ ist |
ST_IsEmpty |
Gibt wahr zurück, wenn die Geometrie „leer“ ist. |
ST_IsRing |
Gibt wahr zurück, wenn die Geometrie ein Ring ist (sowohl ST_IsClosed als auch ST_IsSimple). |
ST_IsSimple |
Gibt wahr zurück, wenn die Geometrie einfach ist |
ST_IsValid |
Gibt wahr zurück, wenn die Geometrie gültig ist |
ST_Length |
Gibt die Länge der Eingabe-Liniengeometrie zurück |
ST_Length_Spheroid |
Gibt die Länge der Eingabegeometrie in Metern zurück, unter Verwendung eines ellipsoidischen Modells der Erde |
ST_LineInterpolatePoint |
Gibt einen Punkt zurück, der entlang einer Linie bei einem Bruchteil der gesamten 2D-Länge interpoliert wird. |
ST_LineInterpolatePoints |
Gibt einen Multi-Punkt zurück, der entlang einer Linie bei einem Bruchteil der gesamten 2D-Länge interpoliert wird. |
ST_LineLocatePoint |
Gibt die Position auf einer Linie, die einem Punkt am nächsten liegt, als Bruchteil der gesamten 2D-Länge der Linie zurück. |
ST_LineMerge |
„Verschmilzt“ die Eingabe-Liniengeometrie und berücksichtigt optional die Richtung. |
ST_LineString2DFromWKB |
Deserialisiert einen LINESTRING_2D aus einem WKB-kodierten Blob |
ST_LineSubstring |
Gibt ein Teilstück einer Linie zwischen zwei Bruchteilen der gesamten 2D-Länge zurück. |
ST_LocateAlong |
Gibt einen Punkt oder Multi-Punkt zurück, der die Punkt(e) der Geometrie mit dem angegebenen Maß enthält |
ST_LocateBetween |
Gibt eine Geometrie oder Geometriesammlung zurück, die durch Filtern und Interpolieren von Vertices innerhalb eines Bereichs von „M“-Werten erzeugt wird |
ST_M |
Gibt die M-Koordinate einer Punktgeometrie zurück |
ST_MMax |
Gibt die maximale M-Koordinate einer Geometrie zurück |
ST_MMin |
Gibt die minimale M-Koordinate einer Geometrie zurück |
ST_MakeBox2D |
Erzeugt eine BOX2D aus zwei POINT-Geometrien |
ST_MakeEnvelope |
Erzeugt ein rechteckiges Polygon aus Min-/Max-Koordinaten |
ST_MakeLine |
Erzeugt einen LINESTRING aus einer Liste von POINT-Geometrien |
ST_MakePoint |
Erzeugt einen GEOMETRY-Punkt aus einem Paar von Gleitkommazahlen. |
ST_MakePolygon |
Erzeugt ein POLYGON aus einer LINESTRING-Hülle |
ST_MakeValid |
Gibt eine gültige Darstellung der Geometrie zurück |
ST_MaximumInscribedCircle |
Gibt den größten einbeschriebenen Kreis der Eingabegeometrie zurück, optional mit einer Toleranz. |
ST_MinimumRotatedRectangle |
Gibt das minimale rotierte Rechteck zurück, das die Eingabegeometrie begrenzt, indem die umschließende Box mit der kleinsten Fläche über ein rotiertes Rechteck gefunden wird, statt die niedrigsten und höchsten Koordinatenwerte wie bei ST_Envelope() zu verwenden. |
ST_Multi |
Wandelt eine einzelne Geometrie in eine Multi-Geometrie um. |
ST_NGeometries |
Gibt die Anzahl der Teilgeometrien in einer Sammlungsgeometrie zurück. |
ST_NInteriorRings |
Gibt die Anzahl der inneren Ringe eines Polygons zurück |
ST_NPoints |
Gibt die Anzahl der Vertices in einer Geometrie zurück |
ST_Node |
Gibt einen „noded“ MultiLinestring zurück, der durch das Kombinieren einer Sammlung von Eingabe-Linestrings und das Hinzufügen zusätzlicher Vertices an ihren Schnittpunkten entsteht. |
ST_Normalize |
Gibt die „normalisierte“ Darstellung der Geometrie zurück |
ST_NumGeometries |
Gibt die Anzahl der Teilgeometrien in einer Sammlungsgeometrie zurück. |
ST_NumInteriorRings |
Gibt die Anzahl der inneren Ringe eines Polygons zurück |
ST_NumPoints |
Gibt die Anzahl der Vertices in einer Geometrie zurück |
ST_Overlaps |
Gibt wahr zurück, wenn sich die Geometrien überlappen |
ST_Perimeter |
Gibt die Länge des Umfangs der Geometrie zurück |
ST_Perimeter_Spheroid |
Gibt die Länge des Umfangs in Metern unter Verwendung eines ellipsoidischen Modells der Erdoberfläche zurück |
ST_Point |
Erzeugt einen GEOMETRY-Punkt |
ST_Point2D |
Erzeugt einen POINT_2D |
ST_Point2DFromWKB |
Deserialisiert einen POINT_2D aus einem WKB-kodierten Blob |
ST_Point3D |
Erzeugt einen POINT_3D |
ST_Point4D |
Erzeugt einen POINT_4D |
ST_PointN |
Gibt den n-ten Vertex der Eingabegeometrie als Punktgeometrie zurück |
ST_PointOnSurface |
Gibt einen Punkt zurück, der garantiert auf der Oberfläche der Geometrie liegt |
ST_Points |
Sammelt alle Vertices der Geometrie in einem MULTIPOINT |
ST_Polygon2DFromWKB |
Deserialisiert ein POLYGON_2D aus einem WKB-kodierten Blob |
ST_Polygonize |
Gibt eine polygonisierte Darstellung der Eingabegeometrien zurück |
ST_QuadKey |
Berechnet den quadkey für einen gegebenen Lon/Lat-Punkt auf einer gegebenen Ebene. |
ST_ReducePrecision |
Gibt die Geometrie mit allen auf die gegebene Genauigkeit reduzierten Vertices zurück |
ST_RemoveRepeatedPoints |
Entfernt wiederholte Punkte aus einem LINESTRING. |
ST_Reverse |
Gibt die Geometrie mit umgekehrter Reihenfolge ihrer Vertices zurück |
ST_ShortestLine |
Gibt die kürzeste Linie zwischen zwei Geometrien zurück |
ST_Simplify |
Gibt eine vereinfachte Version der Geometrie zurück |
ST_SimplifyPreserveTopology |
Gibt eine vereinfachte Version der Geometrie zurück, die die Topologie erhält |
ST_StartPoint |
Gibt den Startpunkt eines LINESTRING zurück. |
ST_TileEnvelope |
Die Skalarfunktion ST_TileEnvelope erzeugt rechteckige Tile-Envelope-Polygone aus der angegebenen Zoomstufe und den Kachelindizes. |
ST_Touches |
Gibt wahr zurück, wenn sich die Geometrien berühren |
ST_Transform |
Transformiert eine Geometrie zwischen zwei Koordinatensystemen |
ST_Union |
Gibt die Vereinigung zweier Geometrien zurück |
ST_VoronoiDiagram |
Gibt das Voronoi-Diagramm der übergebenen MultiPoint-Geometrie zurück |
ST_Within |
Gibt wahr zurück, wenn die erste Geometrie innerhalb der zweiten liegt |
ST_WithinProperly |
Gibt wahr zurück, wenn die erste Geometrie von der zweiten Geometrie "echt" enthalten wird |
ST_X |
Gibt die X-Koordinate einer Punktgeometrie zurück |
ST_XMax |
Gibt die maximale X-Koordinate einer Geometrie zurück |
ST_XMin |
Gibt die minimale X-Koordinate einer Geometrie zurück |
ST_Y |
Gibt die Y-Koordinate einer Punktgeometrie zurück |
ST_YMax |
Gibt die maximale Y-Koordinate einer Geometrie zurück |
ST_YMin |
Gibt die minimale Y-Koordinate einer Geometrie zurück |
ST_Z |
Gibt die Z-Koordinate einer Punktgeometrie zurück |
ST_ZMFlag |
Gibt ein Flag zurück, das das Vorhandensein von Z- und M-Werten in der Eingabegeometrie anzeigt. |
ST_ZMax |
Gibt die maximale Z-Koordinate einer Geometrie zurück |
ST_ZMin |
Gibt die minimale Z-Koordinate einer Geometrie zurück |
| Funktion | Zusammenfassung |
|---|---|
ST_AsMVT |
Erzeugt ein Mapbox Vector Tile aus einer Menge von Geometrien und Eigenschaften |
ST_CoverageInvalidEdges_Agg |
Gibt die ungültigen Kanten einer Coverage-Geometrie zurück |
ST_CoverageSimplify_Agg |
Vereinfacht eine Menge von Geometrien und behält dabei die Coverage bei |
ST_CoverageUnion_Agg |
Vereinigt eine Menge von Geometrien und behält dabei die Coverage bei |
ST_Envelope_Agg |
Alias für ST_Extent_Agg. |
ST_Extent_Agg |
Berechnet das Minimal-Bounding-Box-Polygon, das die Menge der Eingabegeometrien enthält |
ST_Intersection_Agg |
Berechnet die Schnittmenge einer Menge von Geometrien |
ST_MemUnion_Agg |
Berechnet die Vereinigung einer Menge von Eingabegeometrien. |
ST_Union_Agg |
Berechnet die Vereinigung einer Menge von Eingabegeometrien |
| Funktion | Zusammenfassung |
|---|---|
ST_Rotate |
Alias von ST_RotateZ |
ST_RotateX |
Rotiert eine Geometrie um die X-Achse. Dies ist ein Kurzform-Makro für den Aufruf von ST_Affine. |
ST_RotateY |
Rotiert eine Geometrie um die Y-Achse. Dies ist ein Kurzform-Makro für den Aufruf von ST_Affine. |
ST_RotateZ |
Rotiert eine Geometrie um die Z-Achse. Dies ist ein Kurzform-Makro für den Aufruf von ST_Affine. |
ST_Scale |
|
ST_TransScale |
Verschiebt und skaliert anschließend eine Geometrie in X- und Y-Richtung. Dies ist ein Kurzform-Makro für den Aufruf von ST_Affine. |
ST_Translate |
| Funktion | Zusammenfassung |
|---|---|
ST_Drivers |
Gibt die Liste der unterstützten GDAL-Treiber und Dateiformate zurück |
ST_GeneratePoints |
Erzeugt eine Menge zufälliger Punkte innerhalb der angegebenen Bounding Box. |
ST_Read |
Liest und importiert verschiedene georäumliche Dateiformate mithilfe der GDAL-Bibliothek. |
ST_ReadOSM |
Die Tabellenfunktion ST_ReadOsm() ermöglicht das direkte Lesen komprimierter OpenStreetMap-Daten aus einer .osm.pbf file. |
ST_ReadSHP |
Liest ein Shapefile, ohne auf die GDAL-Bibliothek angewiesen zu sein |
ST_Read_Meta |
Liest die Metadaten aus verschiedenen georäumlichen Dateiformaten mithilfe der GDAL-Bibliothek. |
Skalarfunktionen
DuckDB_PROJ_Compiled_Version
Signatur
VARCHAR DuckDB_PROJ_Compiled_Version ()Beschreibung
Gibt eine textuelle Beschreibung der PROJ-Bibliotheksversion zurück, gegen die diese DuckDB-Instanz kompiliert wurde.
Beispiel
SELECT duckdb_proj_compiled_version();┌────────────────────────────────┐│ duckdb_proj_compiled_version() ││ varchar │├────────────────────────────────┤│ Rel. 9.1.1, December 1st, 2022 │└────────────────────────────────┘DuckDB_Proj_Version
Signatur
VARCHAR DuckDB_Proj_Version ()Beschreibung
Gibt eine textuelle Beschreibung der PROJ-Bibliotheksversion zurück, die von dieser DuckDB-Instanz verwendet wird.
Beispiel
SELECT duckdb_proj_version();┌───────────────────────┐│ duckdb_proj_version() ││ varchar │├───────────────────────┤│ 9.1.1 │└───────────────────────┘ST_Affine
Signaturn
GEOMETRY ST_Affine (geom GEOMETRY, a DOUBLE, b DOUBLE, c DOUBLE, d DOUBLE, e DOUBLE, f DOUBLE, g DOUBLE, h DOUBLE, i DOUBLE, xoff DOUBLE, yoff DOUBLE, zoff DOUBLE)GEOMETRY ST_Affine (geom GEOMETRY, a DOUBLE, b DOUBLE, d DOUBLE, e DOUBLE, xoff DOUBLE, yoff DOUBLE)Beschreibung
Wendet eine affine Transformation auf eine Geometrie an.
Für die 2D-Variante ist die Transformationsmatrix wie folgt definiert:
| a b xoff || d e yoff || 0 0 1 |Für die 3D-Variante ist die Transformationsmatrix wie folgt definiert:
| a b c xoff || d e f yoff || g h i zoff || 0 0 0 1 |Die Transformation wird auf alle Vertices der Geometrie angewendet.
Beispiel
-- Translate a point by (2, 3)SELECT ST_Affine(ST_Point(1, 1), 1, 0, -- a, b 0, 1, -- d, e 2, 3); -- xoff, yoff----POINT (3 4)
-- Scale a geometry by factor 2 in X and YSELECT ST_Affine(ST_Point(1, 1), 2, 0, 0, -- a, b, c 0, 2, 0, -- d, e, f 0, 0, 1, -- g, h, i 0, 0, 0); -- xoff, yoff, zoff----POINT (2 2)ST_Area
Signaturn
DOUBLE ST_Area (geom GEOMETRY)DOUBLE ST_Area (polygon POLYGON_2D)DOUBLE ST_Area (linestring LINESTRING_2D)DOUBLE ST_Area (point POINT_2D)DOUBLE ST_Area (box BOX_2D)Beschreibung
Berechnet die Fläche einer Geometrie.
Gibt 0.0 für jede Geometrie zurück, die kein POLYGON, MULTIPOLYGON oder eine Polygone enthaltende GEOMETRYCOLLECTION ist
geometries.
Die Fläche hat dieselben Einheiten wie das räumliche Referenzsystem der Geometrie.
Die POINT_2D- und LINESTRING_2D-Überladungen dieser Funktion geben immer 0.0 zurück, sind aber der Vollständigkeit halber enthalten.
Beispiel
select ST_Area('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'::geometry);-- 1.0ST_Area_Spheroid
Signaturn
DOUBLE ST_Area_Spheroid (geom GEOMETRY)DOUBLE ST_Area_Spheroid (poly POLYGON_2D)Beschreibung
Gibt die Fläche einer Geometrie in Metern zurück, unter Verwendung eines ellipsoidischen Modells der Erde
Die Eingabegeometrie wird im Koordinatensystem EPSG:4326 (WGS84) mit Achsenreihenfolge [latitude, longitude] angenommen; die Fläche wird in Quadratmetern zurückgegeben. Diese Funktion verwendet die Bibliothek GeographicLib und berechnet die Fläche mit einem ellipsoidischen Modell der Erde. Dies ist eine sehr genaue Methode zur Berechnung der Fläche eines Polygons unter Berücksichtigung der Erdkrümmung, aber auch die langsamste.
Gibt 0.0 für jede Geometrie zurück, die kein POLYGON, MULTIPOLYGON oder eine Polygongeometrien enthaltende GEOMETRYCOLLECTION ist.
ST_AsGeoJSON
Signatur
JSON ST_AsGeoJSON (geom GEOMETRY)Beschreibung
Gibt die Geometrie als GeoJSON-Fragment zurück
Dies gibt kein vollständiges GeoJSON-Dokument zurück, sondern nur das Geometriefragment. To construct a complete GeoJSON document or feature, look into using the DuckDB JSON extension in conjunction with this function. Diese Funktion unterstützt Geometrien mit Z-Werten, aber nicht mit M-Werten. M-Werte werden ignoriert.
Beispiel
select ST_AsGeoJSON('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'::geometry);----{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}
-- Convert a geometry into a full GeoJSON feature (requires the JSON extension to be loaded)SELECT CAST({ type: 'Feature', geometry: ST_AsGeoJSON(ST_Point(1,2)), properties: { name: 'my_point' }} AS JSON);----{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,2.0]},"properties":{"name":"my_point"}}ST_AsHEXWKB
Signatur
VARCHAR ST_AsHEXWKB (geom GEOMETRY)Beschreibung
Gibt die Geometrie als HEXWKB-Zeichenkette zurück
Beispiel
SELECT ST_AsHexWKB('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'::geometry);----01030000000100000005000000000000000000000000000...ST_AsMVTGeom
Signaturn
GEOMETRY ST_AsMVTGeom (geom GEOMETRY, bounds BOX_2D, extent BIGINT, buffer BIGINT, clip_geom BOOLEAN)GEOMETRY ST_AsMVTGeom (geom GEOMETRY, bounds BOX_2D, extent BIGINT, buffer BIGINT)GEOMETRY ST_AsMVTGeom (geom GEOMETRY, bounds BOX_2D, extent BIGINT)GEOMETRY ST_AsMVTGeom (geom GEOMETRY, bounds BOX_2D)Beschreibung
Transformiert und schneidet eine Geometrie auf eine Kachelgrenze zu
See “ST_AsMVT” for more details
ST_AsSVG
Signatur
VARCHAR ST_AsSVG (geom GEOMETRY, relative BOOLEAN, precision INTEGER)Beschreibung
Wandelt die Geometrie in ein SVG-Fragment oder einen SVG-Pfad um
Das SVG-Fragment wird als Zeichenkette zurückgegeben. Das Fragment ist ein path-Element, das in einem SVG-Dokument verwendet werden kann. Das zweite boolesche Argument gibt an, ob der Pfad relativ oder absolut sein soll. Das dritte Argument gibt die maximale Anzahl der Ziffern für die Koordinaten an.
Points are formatted as cx/cy using absolute coordinates or x/y using relative coordinates.
Beispiel
SELECT ST_AsSVG('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'::GEOMETRY, false, 15);----M 0 0 L 0 -1 1 -1 1 0 ZST_AsText
Signaturn
VARCHAR ST_AsText (geom GEOMETRY)VARCHAR ST_AsText (point POINT_2D)VARCHAR ST_AsText (linestring LINESTRING_2D)VARCHAR ST_AsText (polygon POLYGON_2D)VARCHAR ST_AsText (box BOX_2D)Beschreibung
Gibt die Geometrie als WKT-Zeichenkette zurück
Beispiel
SELECT ST_MakeEnvelope(0,0,1,1);----POLYGON ((0 0, 0 1, 1 1, 1 0, 0 0))ST_AsWKB
Signatur
WKB_BLOB ST_AsWKB (geom GEOMETRY)Beschreibung
Gibt die Geometrie als WKB-Blob (Well-Known-Binary) zurück
Beispiel
SELECT ST_AsWKB('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'::GEOMETRY)::BLOB;----\x01\x03\x00\x00\x00\x01\x00\x00\x00\x05...ST_Azimuth
Signaturn
DOUBLE ST_Azimuth (origin GEOMETRY, target GEOMETRY)DOUBLE ST_Azimuth (origin POINT_2D, target POINT_2D)Beschreibung
Gibt das Azimut (einen im Uhrzeigersinn von Norden gemessenen Winkel) zweier Punkte im Bogenmaß zurück.
Beispiel
SELECT degrees(ST_Azimuth(ST_Point(0, 0), ST_Point(0, 1)));----90.0ST_Boundary
Signatur
GEOMETRY ST_Boundary (geom GEOMETRY)Beschreibung
Gibt die „Grenze“ einer Geometrie zurück
ST_Buffer
Signaturn
GEOMETRY ST_Buffer (geom GEOMETRY, distance DOUBLE)GEOMETRY ST_Buffer (geom GEOMETRY, distance DOUBLE, num_triangles INTEGER)GEOMETRY ST_Buffer (geom GEOMETRY, distance DOUBLE, num_triangles INTEGER, cap_style VARCHAR, join_style VARCHAR, mitre_limit DOUBLE)Beschreibung
Gibt einen Puffer um die Eingabegeometrie im Zielabstand zurück
geom is the input geometry.
distance is the target distance for the buffer, using the same units as the input geometry.
num_triangles represents how many triangles that will be produced to approximate a quarter circle. The larger the number, the smoother the resulting geometry. The default value is 8.
cap_style must be one of “CAP_ROUND”, “CAP_FLAT”, “CAP_SQUARE”. This parameter is case-insensitive.
join_style must be one of “JOIN_ROUND”, “JOIN_MITRE”, “JOIN_BEVEL”. This parameter is case-insensitive.
mitre_limit only applies when join_style is “JOIN_MITRE”. It is the ratio of the distance from the corner to the mitre point to the corner radius. The default value is 1.0.
Dies ist eine planare Operation und berücksichtigt die Erdkrümmung nicht.
ST_BuildArea
Signatur
GEOMETRY ST_BuildArea (geom GEOMETRY)Beschreibung
Erzeugt eine polygonale Geometrie, indem versucht wird, die Eingabegeometrie „aufzufüllen“.
Unlike ST_Polygonize, this function does not fill in holes.
ST_Centroid
Signaturn
GEOMETRY ST_Centroid (geom GEOMETRY)POINT_2D ST_Centroid (point POINT_2D)POINT_2D ST_Centroid (linestring LINESTRING_2D)POINT_2D ST_Centroid (polygon POLYGON_2D)POINT_2D ST_Centroid (box BOX_2D)POINT_2D ST_Centroid (box BOX_2DF)Beschreibung
Gibt den Schwerpunkt einer Geometrie zurück
ST_Collect
Signatur
GEOMETRY ST_Collect (geoms GEOMETRY[])Beschreibung
Sammelt eine Liste von Geometrien zu einer Sammlungsgeometrie.
- If all geometries are
POINT’s, aMULTIPOINTis returned. - If all geometries are
LINESTRING’s, aMULTILINESTRINGis returned. - If all geometries are
POLYGON’s, aMULTIPOLYGONis returned. - Otherwise if the input collection contains a mix of geometry types, a
GEOMETRYCOLLECTIONis returned.
Empty and NULL geometries are ignored. If all geometries are empty or NULL, a GEOMETRYCOLLECTION EMPTY is returned.
Beispiel
-- With all POINT's, a MULTIPOINT is returnedSELECT ST_Collect([ST_Point(1, 2), ST_Point(3, 4)]);----MULTIPOINT (1 2, 3 4)
-- With mixed geometry types, a GEOMETRYCOLLECTION is returnedSELECT ST_Collect([ST_Point(1, 2), ST_GeomFromText('LINESTRING(3 4, 5 6)')]);----GEOMETRYCOLLECTION (POINT (1 2), LINESTRING (3 4, 5 6))
-- Note that the empty geometry is ignored, so the result is a MULTIPOINTSELECT ST_Collect([ST_Point(1, 2), NULL, ST_GeomFromText('GEOMETRYCOLLECTION EMPTY')]);----MULTIPOINT (1 2)
-- If all geometries are empty or NULL, a GEOMETRYCOLLECTION EMPTY is returnedSELECT ST_Collect([NULL, ST_GeomFromText('GEOMETRYCOLLECTION EMPTY')]);----GEOMETRYCOLLECTION EMPTY
-- Tip: You can use the `ST_Collect` function together with the `list()` aggregate function to collect multiple rows of geometries into a single geometry collection:
CREATE TABLE points (geom GEOMETRY);
INSERT INTO points VALUES (ST_Point(1, 2)), (ST_Point(3, 4));
SELECT ST_Collect(list(geom)) FROM points;----MULTIPOINT (1 2, 3 4)ST_CollectionExtract
Signaturn
GEOMETRY ST_CollectionExtract (geom GEOMETRY, type INTEGER)GEOMETRY ST_CollectionExtract (geom GEOMETRY)Beschreibung
Extrahiert Geometrien aus einer GeometryCollection in eine typisierte Multi-Geometrie.
Ist die Eingabegeometrie eine GeometryCollection, gibt die Funktion eine Multigeometrie zurück, bestimmt durch den Parameter type.
- If
type= 1, returns a MultiPoint containing all the Points in the collection. - If
type= 2, returns a MultiLineString containing all the LineStrings in the collection. - If
type= 3, returns a MultiPolygon containing all the Polygons in the collection.
Wird kein Parameter type angegeben, gibt die Funktion eine Multigeometrie mit der höchsten „Oberflächendimension“ zurück
of the contained geometries. E.g. if the collection contains only Points, a MultiPoint will be returned. But if the
collection contains both Points and LineStrings, a MultiLineString will be returned. Similarly, if the collection
contains Polygons, a MultiPolygon will be returned. Contained geometries of a lower surface dimension will be ignored.
Enthält die Eingabegeometrie verschachtelte GeometryCollections, werden deren Geometrien rekursiv extrahiert und einbezogen into the final multi geometry as well.
Ist die Eingabegeometrie keine GeometryCollection, gibt die Funktion die Eingabegeometrie unverändert zurück.
Beispiel
select st_collectionextract('MULTIPOINT(1 2,3 4)'::geometry, 1);-- MULTIPOINT (1 2, 3 4)ST_ConcaveHull
Signatur
GEOMETRY ST_ConcaveHull (geom GEOMETRY, ratio DOUBLE, allowHoles BOOLEAN)Beschreibung
Gibt die ‚konkave‘ Hülle der Eingabegeometrie zurück, die alle Punkte der Quelleingabe enthält und zur Erzeugung von Polygonen aus Punkten verwendet werden kann. Der Parameter ratio bestimmt den Grad der Konkavität; 1.0 gibt die konvexe Hülle zurück; 0 bedeutet, die konkavste mögliche Hülle zurückzugeben. Setzen Sie allowHoles auf einen von null verschiedenen Wert, um Ausgabe mit Löchern zuzulassen.
ST_Contains
Signaturn
BOOLEAN ST_Contains (geom1 POLYGON_2D, geom2 POINT_2D)BOOLEAN ST_Contains (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn die erste Geometrie die zweite Geometrie enthält
In contrast to ST_ContainsProperly, this function will also return true if geom2 is contained strictly on the boundary of geom1.
A geometry always ST_Contains itself, but does not ST_ContainsProperly itself.
ST_ContainsProperly
Signatur
BOOLEAN ST_ContainsProperly (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn die erste Geometrie die zweite Geometrie "echt" enthält
In contrast to ST_Contains, this function does not return true if geom2 is contained strictly on the boundary of geom1.
A geometry always ST_Contains itself, but does not ST_ContainsProperly itself.
ST_ConvexHull
Signatur
GEOMETRY ST_ConvexHull (geom GEOMETRY)Beschreibung
Gibt die konvexe Hülle zurück, die die Geometrie umschließt
ST_CoverageInvalidEdges
Signaturn
GEOMETRY ST_CoverageInvalidEdges (geoms GEOMETRY[], tolerance DOUBLE)GEOMETRY ST_CoverageInvalidEdges (geoms GEOMETRY[])Beschreibung
Gibt die ungültigen Kanten in einer polygonalen Coverage zurück, also Kanten, die nicht von zwei Polygonen geteilt werden. Gibt NULL zurück, wenn die Eingabe keine polygonale Coverage ist oder wenn die Eingabe gültig ist. Tolerance is 0 by default.
ST_CoverageSimplify
Signaturn
GEOMETRY ST_CoverageSimplify (geoms GEOMETRY[], tolerance DOUBLE, simplify_boundary BOOLEAN)GEOMETRY ST_CoverageSimplify (geoms GEOMETRY[], tolerance DOUBLE)Beschreibung
Vereinfacht die Kanten in einer polygonalen Coverage und erhält die Coverage, indem sichergestellt wird, dass zwischen den resultierenden vereinfachten Polygonen keine Nähte entstehen.
By default, the boundary of the coverage is also simplified, but this can be controlled with the optional third ‘simplify_boundary’ parameter.
ST_CoverageUnion
Signatur
GEOMETRY ST_CoverageUnion (geoms GEOMETRY[])Beschreibung
Vereinigt alle Geometrien in einer polygonalen Coverage zu einer einzelnen Geometrie.
Dies kann schneller sein als ST_Union, verbraucht aber möglicherweise mehr Speicher.
ST_CoveredBy
Signatur
BOOLEAN ST_CoveredBy (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn geom1 von geom2 „überdeckt wird“
ST_Covers
Signatur
BOOLEAN ST_Covers (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn geom1 geom2 „überdeckt“
ST_Crosses
Signatur
BOOLEAN ST_Crosses (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn geom1 geom2 „kreuzt“
ST_DWithin
Signatur
BOOLEAN ST_DWithin (geom1 GEOMETRY, geom2 GEOMETRY, distance DOUBLE)Beschreibung
Gibt zurück, ob zwei Geometrien innerhalb eines Zielabstands voneinander liegen
ST_DWithin_GEOS
Signatur
BOOLEAN ST_DWithin_GEOS (geom1 GEOMETRY, geom2 GEOMETRY, distance DOUBLE)Beschreibung
Gibt zurück, ob zwei Geometrien innerhalb eines Zielabstands voneinander liegen
ST_DWithin_Spheroid
Signatur
BOOLEAN ST_DWithin_Spheroid (p1 POINT_2D, p2 POINT_2D, distance DOUBLE)Beschreibung
Gibt zurück, ob zwei POINT_2D innerhalb eines Zielabstands in Metern liegen, unter Verwendung eines ellipsoidischen Modells der Erdoberfläche
Die Eingabegeometrie wird im Koordinatensystem EPSG:4326 (WGS84) mit Achsenreihenfolge [latitude, longitude] angenommen; die Distanz wird in Metern zurückgegeben. Diese Funktion verwendet die Bibliothek GeographicLib, um das inverse geodesic problem zu lösen, und berechnet die Distanz zwischen zwei Punkten mit einem ellipsoidischen Modell der Erde. Dies ist eine sehr genaue Methode zur Berechnung der Distanz zwischen zwei beliebigen Punkten unter Berücksichtigung der Krümmung der Erdoberfläche, aber auch die langsamste.
ST_Difference
Signatur
GEOMETRY ST_Difference (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt die „Differenz“ zwischen zwei Geometrien zurück
ST_Dimension
Signatur
INTEGER ST_Dimension (geom GEOMETRY)Beschreibung
Gibt die „topologische Dimension“ einer Geometrie zurück.
- For POINT and MULTIPOINT geometries, returns
0. - For LINESTRING and MULTILINESTRING, returns
1. - For POLYGON and MULTIPOLYGON, returns
2. - For GEOMETRYCOLLECTION, returns the maximum dimension of the contained geometries, or 0 if the collection is empty.
Beispiel
select st_dimension('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'::geometry);----2ST_Disjoint
Signatur
BOOLEAN ST_Disjoint (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn die Geometrien disjunkt sind
ST_Distance
Signaturn
DOUBLE ST_Distance (point1 POINT_2D, point2 POINT_2D)DOUBLE ST_Distance (point POINT_2D, linestring LINESTRING_2D)DOUBLE ST_Distance (linestring LINESTRING_2D, point POINT_2D)DOUBLE ST_Distance (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt die planare Distanz zwischen zwei Geometrien zurück
Beispiel
SELECT ST_Distance('POINT (0 0)'::GEOMETRY, 'POINT (3 4)'::GEOMETRY);----5.0
-- Z coordinates are ignoredSELECT ST_Distance('POINT Z (0 0 0)'::GEOMETRY, 'POINT Z (3 4 5)'::GEOMETRY);----5.0ST_Distance_GEOS
Signatur
DOUBLE ST_Distance_GEOS (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt die planare Distanz zwischen zwei Geometrien zurück
ST_Distance_Sphere
Signaturn
DOUBLE ST_Distance_Sphere (geom1 GEOMETRY, geom2 GEOMETRY)DOUBLE ST_Distance_Sphere (point1 POINT_2D, point2 POINT_2D)Beschreibung
Gibt die Haversine-Distanz (Großkreis) zwischen zwei Geometrien zurück.
- Only supports POINT geometries.
- Returns the distance in meters.
- The input is expected to be in WGS84 (EPSG:4326) coordinates, using a [latitude, longitude] axis order.
ST_Distance_Spheroid
Signatur
DOUBLE ST_Distance_Spheroid (p1 POINT_2D, p2 POINT_2D)Beschreibung
Gibt die Distanz zwischen zwei Geometrien in Metern unter Verwendung eines ellipsoidischen Modells der Erdoberfläche zurück
Die Eingabegeometrie wird im Koordinatensystem EPSG:4326 (WGS84) mit Achsenreihenfolge [latitude, longitude] angenommen; das Distanzlimit wird in Metern erwartet. Diese Funktion verwendet die Bibliothek GeographicLib, um das inverse geodesic problem zu lösen, und berechnet die Distanz zwischen zwei Punkten mit einem ellipsoidischen Modell der Erde. Dies ist eine sehr genaue Methode zur Berechnung der Distanz zwischen zwei beliebigen Punkten unter Berücksichtigung der Krümmung der Erdoberfläche, aber auch die langsamste.
Beispiel
-- Note: the coordinates are in WGS84 and [latitude, longitude] axis order-- What's the distance between New York and Amsterdam (JFK and AMS airport)?SELECT st_distance_spheroid(st_point(40.6446, -73.7797),st_point(52.3130, 4.7725));----5863418.7459356235-- Roughly 5863km!ST_Dump
Signatur
STRUCT(geom GEOMETRY, path INTEGER[])[] ST_Dump (geom GEOMETRY)Beschreibung
Zerlegt eine Geometrie in eine Liste von Teilgeometrien und deren „Pfad“ in der ursprünglichen Geometrie.
You can use the UNNEST(res, recursive := true) function to explode resulting list of structs into multiple rows.
Beispiel
select st_dump('MULTIPOINT(1 2,3 4)'::geometry);----[{'geom': 'POINT(1 2)', 'path': [0]}, {'geom': 'POINT(3 4)', 'path': [1]}]
select unnest(st_dump('MULTIPOINT(1 2,3 4)'::geometry), recursive := true);-- ┌─────────────┬─────────┐-- │ geom │ path │-- │ geometry │ int32[] │-- ├─────────────┼─────────┤-- │ POINT (1 2) │ [1] │-- │ POINT (3 4) │ [2] │-- └─────────────┴─────────┘ST_EndPoint
Signaturn
GEOMETRY ST_EndPoint (geom GEOMETRY)POINT_2D ST_EndPoint (line LINESTRING_2D)Beschreibung
Gibt den Endpunkt eines LINESTRING zurück.
ST_Envelope
Signatur
GEOMETRY ST_Envelope (geom GEOMETRY)Beschreibung
Gibt das minimale umschließende Rechteck einer Geometrie als Polygongeometrie zurück
ST_Equals
Signatur
BOOLEAN ST_Equals (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn die Geometrien „gleich“ sind
ST_Extent
Signaturn
BOX_2D ST_Extent (geom GEOMETRY)BOX_2D ST_Extent (wkb WKB_BLOB)Beschreibung
Gibt die minimale Bounding Box zurück, die die Eingabegeometrie umschließt
ST_Extent_Approx
Signatur
BOX_2DF ST_Extent_Approx (geom GEOMETRY)Beschreibung
Gibt die ungefähre Bounding Box einer Geometrie zurück, sofern verfügbar.
Diese Funktion wird intern verwendet und gibt die gecachte Bounding Box der Geometrie zurück, sofern vorhanden. Diese Funktion kann in Zukunft entfernt oder umbenannt werden.
ST_ExteriorRing
Signaturn
GEOMETRY ST_ExteriorRing (geom GEOMETRY)LINESTRING_2D ST_ExteriorRing (polygon POLYGON_2D)Beschreibung
Gibt den äußeren Ring (die Hülle) einer Polygongeometrie zurück.
ST_FlipCoordinates
Signaturn
GEOMETRY ST_FlipCoordinates (geom GEOMETRY)POINT_2D ST_FlipCoordinates (point POINT_2D)LINESTRING_2D ST_FlipCoordinates (linestring LINESTRING_2D)POLYGON_2D ST_FlipCoordinates (polygon POLYGON_2D)BOX_2D ST_FlipCoordinates (box BOX_2D)Beschreibung
Gibt eine neue Geometrie zurück, bei der die Koordinaten der Eingabegeometrie „vertauscht“ sind, sodass x = y und y = x
ST_Force2D
Signatur
GEOMETRY ST_Force2D (geom GEOMETRY)Beschreibung
Erzwingt, dass die Vertices einer Geometrie X- und Y-Komponenten haben
Diese Funktion verwirft vorhandene Z- und M-Werte der Eingabegeometrie. Ist die Eingabegeometrie bereits 2D, wird sie unverändert zurückgegeben.
ST_Force3DM
Signatur
GEOMETRY ST_Force3DM (geom GEOMETRY, m DOUBLE)Beschreibung
Erzwingt, dass die Vertices einer Geometrie X-, Y- und M-Komponenten haben
Es gelten die folgenden Fälle:
- If the input geometry has a Z component but no M component, the Z component will be replaced with the new M value.
- If the input geometry has a M component but no Z component, it will be returned as is.
- If the input geometry has both a Z component and a M component, the Z component will be removed.
- Otherwise, if the input geometry has neither a Z or M component, the new M value will be added to the vertices of the input geometry.
ST_Force3DZ
Signatur
GEOMETRY ST_Force3DZ (geom GEOMETRY, z DOUBLE)Beschreibung
Erzwingt, dass die Vertices einer Geometrie X-, Y- und Z-Komponenten haben
Es gelten die folgenden Fälle:
- If the input geometry has a M component but no Z component, the M component will be replaced with the new Z value.
- If the input geometry has a Z component but no M component, it will be returned as is.
- If the input geometry has both a Z component and a M component, the M component will be removed.
- Otherwise, if the input geometry has neither a Z or M component, the new Z value will be added to the vertices of the input geometry.
ST_Force4D
Signatur
GEOMETRY ST_Force4D (geom GEOMETRY, z DOUBLE, m DOUBLE)Beschreibung
Erzwingt, dass die Vertices einer Geometrie X-, Y-, Z- und M-Komponenten haben
Es gelten die folgenden Fälle:
- If the input geometry has a Z component but no M component, the new M value will be added to the vertices of the input geometry.
- If the input geometry has a M component but no Z component, the new Z value will be added to the vertices of the input geometry.
- If the input geometry has both a Z component and a M component, the geometry will be returned as is.
- Otherwise, if the input geometry has neither a Z or M component, the new Z and M values will be added to the vertices of the input geometry.
ST_GeomFromGeoJSON
Signaturn
GEOMETRY ST_GeomFromGeoJSON (geojson JSON)GEOMETRY ST_GeomFromGeoJSON (geojson VARCHAR)Beschreibung
Deserialisiert eine GEOMETRY aus einem GeoJSON-Fragment.
Beispiel
SELECT ST_GeomFromGeoJSON('{"type":"Point","coordinates":[1.0,2.0]}');----POINT (1 2)ST_GeomFromHEXEWKB
Signatur
GEOMETRY ST_GeomFromHEXEWKB (hexwkb VARCHAR)Beschreibung
Deserialisiert eine GEOMETRY aus einer HEX(E)WKB-kodierten Zeichenkette
DuckDB spatial doesn’t currently differentiate between WKB and EWKB, so ST_GeomFromHEXWKB and ST_GeomFromHEXEWKB are just aliases of each other.
ST_GeomFromHEXWKB
Signatur
GEOMETRY ST_GeomFromHEXWKB (hexwkb VARCHAR)Beschreibung
Deserialisiert eine GEOMETRY aus einer HEX(E)WKB-kodierten Zeichenkette
DuckDB spatial doesn’t currently differentiate between WKB and EWKB, so ST_GeomFromHEXWKB and ST_GeomFromHEXEWKB are just aliases of each other.
ST_GeomFromText
Signaturn
GEOMETRY ST_GeomFromText (wkt VARCHAR)GEOMETRY ST_GeomFromText (wkt VARCHAR, ignore_invalid BOOLEAN)Beschreibung
Deserialisiert eine GEOMETRY aus einer WKT-kodierten Zeichenkette
ST_GeomFromWKB
Signaturn
GEOMETRY ST_GeomFromWKB (wkb WKB_BLOB)GEOMETRY ST_GeomFromWKB (blob BLOB)Beschreibung
Deserialisiert eine GEOMETRY aus einem WKB-kodierten Blob
ST_GeometryType
Signaturn
ANY ST_GeometryType (geom GEOMETRY)ANY ST_GeometryType (point POINT_2D)ANY ST_GeometryType (linestring LINESTRING_2D)ANY ST_GeometryType (polygon POLYGON_2D)ANY ST_GeometryType (wkb WKB_BLOB)Beschreibung
Gibt ein ‘GEOMETRY_TYPE’-Enum zurück, das den Typ der Eingabegeometrie identifiziert. Mögliche Enum-Rückgabetypen sind: POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON und GEOMETRYCOLLECTION.
Beispiel
SELECT DISTINCT ST_GeometryType(ST_GeomFromText('POINT(1 1)'));----POINTST_HasM
Signaturn
BOOLEAN ST_HasM (geom GEOMETRY)BOOLEAN ST_HasM (wkb WKB_BLOB)Beschreibung
Prüft, ob die Eingabegeometrie M-Werte hat.
Beispiel
-- HasM for a 2D geometrySELECT ST_HasM(ST_GeomFromText('POINT(1 1)'));----false
-- HasM for a 3DZ geometrySELECT ST_HasM(ST_GeomFromText('POINT Z(1 1 1)'));----false
-- HasM for a 3DM geometrySELECT ST_HasM(ST_GeomFromText('POINT M(1 1 1)'));----true
-- HasM for a 4D geometrySELECT ST_HasM(ST_GeomFromText('POINT ZM(1 1 1 1)'));----trueST_HasZ
Signaturn
BOOLEAN ST_HasZ (geom GEOMETRY)BOOLEAN ST_HasZ (wkb WKB_BLOB)Beschreibung
Prüft, ob die Eingabegeometrie Z-Werte hat.
Beispiel
-- HasZ for a 2D geometrySELECT ST_HasZ(ST_GeomFromText('POINT(1 1)'));----false
-- HasZ for a 3DZ geometrySELECT ST_HasZ(ST_GeomFromText('POINT Z(1 1 1)'));----true
-- HasZ for a 3DM geometrySELECT ST_HasZ(ST_GeomFromText('POINT M(1 1 1)'));----false
-- HasZ for a 4D geometrySELECT ST_HasZ(ST_GeomFromText('POINT ZM(1 1 1 1)'));----trueST_Hilbert
Signaturn
UINTEGER ST_Hilbert (x DOUBLE, y DOUBLE, bounds BOX_2D)UINTEGER ST_Hilbert (geom GEOMETRY, bounds BOX_2D)UINTEGER ST_Hilbert (geom GEOMETRY)UINTEGER ST_Hilbert (box BOX_2D, bounds BOX_2D)UINTEGER ST_Hilbert (box BOX_2DF, bounds BOX_2DF)Beschreibung
Kodiert die X- und Y-Werte als Hilbert-Kurvenindex für eine Kurve, die die gegebene Bounding Box abdeckt. Wird eine Geometrie übergeben, wird der Mittelpunkt der ungefähren Bounding Box als zu kodierender Punkt verwendet. Wird keine Bounding Box übergeben, wird der Hilbert-Kurvenindex auf den gesamten Bereich eines Single-Precision-Floats abgebildet. Bei den Varianten BOX_2D und BOX_2DF wird der Mittelpunkt der Box als zu kodierender Punkt verwendet.
ST_InterpolatePoint
Signatur
DOUBLE ST_InterpolatePoint (line GEOMETRY, point GEOMETRY)Beschreibung
Berechnet den nächsten Punkt auf einem LINESTRING zu einem gegebenen POINT und gibt den interpolierten M-Wert dieses Punktes zurück.
First argument must be a linestring and must have a M dimension. The second argument must be a point. Neither argument can be empty.
ST_Intersection
Signatur
GEOMETRY ST_Intersection (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt die Schnittmenge zweier Geometrien zurück
ST_Intersects
Signaturn
BOOLEAN ST_Intersects (box1 BOX_2D, box2 BOX_2D)BOOLEAN ST_Intersects (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn sich die Geometrien schneiden
ST_Intersects_Extent
Signatur
BOOLEAN ST_Intersects_Extent (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn sich die Extents zweier Geometrien schneiden
ST_IsClosed
Signatur
BOOLEAN ST_IsClosed (geom GEOMETRY)Beschreibung
Prüft, ob eine Geometrie ‚geschlossen‘ ist
ST_IsEmpty
Signaturn
BOOLEAN ST_IsEmpty (geom GEOMETRY)BOOLEAN ST_IsEmpty (linestring LINESTRING_2D)BOOLEAN ST_IsEmpty (polygon POLYGON_2D)Beschreibung
Gibt wahr zurück, wenn die Geometrie „leer“ ist.
ST_IsRing
Signatur
BOOLEAN ST_IsRing (geom GEOMETRY)Beschreibung
Gibt wahr zurück, wenn die Geometrie ein Ring ist (sowohl ST_IsClosed als auch ST_IsSimple).
ST_IsSimple
Signatur
BOOLEAN ST_IsSimple (geom GEOMETRY)Beschreibung
Gibt wahr zurück, wenn die Geometrie einfach ist
ST_IsValid
Signatur
BOOLEAN ST_IsValid (geom GEOMETRY)Beschreibung
Gibt wahr zurück, wenn die Geometrie gültig ist
ST_Length
Signaturn
DOUBLE ST_Length (geom GEOMETRY)DOUBLE ST_Length (linestring LINESTRING_2D)Beschreibung
Gibt die Länge der Eingabe-Liniengeometrie zurück
ST_Length_Spheroid
Signaturn
DOUBLE ST_Length_Spheroid (geom GEOMETRY)DOUBLE ST_Length_Spheroid (line LINESTRING_2D)Beschreibung
Gibt die Länge der Eingabegeometrie in Metern zurück, unter Verwendung eines ellipsoidischen Modells der Erde
Die Eingabegeometrie wird im Koordinatensystem EPSG:4326 (WGS84) mit Achsenreihenfolge [latitude, longitude] angenommen; die Länge wird in Metern zurückgegeben. Diese Funktion verwendet die Bibliothek GeographicLib und berechnet die Länge mit einem ellipsoidischen Modell der Erde. Dies ist eine sehr genaue Methode zur Berechnung der Länge einer Liniengeometrie unter Berücksichtigung der Erdkrümmung, aber auch die langsamste.
Gibt 0.0 für jede Geometrie zurück, die kein LINESTRING, MULTILINESTRING oder eine Liniengeometrien enthaltende GEOMETRYCOLLECTION ist.
ST_LineInterpolatePoint
Signatur
GEOMETRY ST_LineInterpolatePoint (line GEOMETRY, fraction DOUBLE)Beschreibung
Gibt einen Punkt zurück, der entlang einer Linie bei einem Bruchteil der gesamten 2D-Länge interpoliert wird.
ST_LineInterpolatePoints
Signatur
GEOMETRY ST_LineInterpolatePoints (line GEOMETRY, fraction DOUBLE, repeat BOOLEAN)Beschreibung
Gibt einen Multi-Punkt zurück, der entlang einer Linie bei einem Bruchteil der gesamten 2D-Länge interpoliert wird.
if repeat is false, the result is a single point, (and equivalent to ST_LineInterpolatePoint), otherwise, the result is a multi-point with points repeated at the fraction interval.
ST_LineLocatePoint
Signatur
DOUBLE ST_LineLocatePoint (line GEOMETRY, point GEOMETRY)Beschreibung
Gibt die Position auf einer Linie, die einem Punkt am nächsten liegt, als Bruchteil der gesamten 2D-Länge der Linie zurück.
ST_LineMerge
Signaturn
GEOMETRY ST_LineMerge (geom GEOMETRY)GEOMETRY ST_LineMerge (geom GEOMETRY, preserve_direction BOOLEAN)Beschreibung
„Verschmilzt“ die Eingabe-Liniengeometrie und berücksichtigt optional die Richtung.
ST_LineString2DFromWKB
Signatur
GEOMETRY ST_LineString2DFromWKB (linestring LINESTRING_2D)Beschreibung
Deserialisiert einen LINESTRING_2D aus einem WKB-kodierten Blob
ST_LineSubstring
Signatur
GEOMETRY ST_LineSubstring (line GEOMETRY, start_fraction DOUBLE, end_fraction DOUBLE)Beschreibung
Gibt ein Teilstück einer Linie zwischen zwei Bruchteilen der gesamten 2D-Länge zurück.
ST_LocateAlong
Signaturn
GEOMETRY ST_LocateAlong (line GEOMETRY, measure DOUBLE, offset DOUBLE)GEOMETRY ST_LocateAlong (line GEOMETRY, measure DOUBLE)Beschreibung
Gibt einen Punkt oder Multi-Punkt zurück, der die Punkt(e) der Geometrie mit dem angegebenen Maß enthält
Bei LINESTRING oder MULTILINESTRING wird die Position durch Interpolation zwischen M-Werten bestimmt Bei POINT und MULTIPOINT wird der Punkt zurückgegeben, wenn das Maß dem M-Wert des Vertex entspricht, sonst eine leere Geometrie Bei POLYGON wird nur der äußere Ring berücksichtigt und wie ein LINESTRING behandelt
Wird offset angegeben, werden die resultierenden Punkte um diesen Betrag senkrecht zur Linienrichtung versetzt.
ST_LocateBetween
Signaturn
GEOMETRY ST_LocateBetween (line GEOMETRY, start_measure DOUBLE, end_measure DOUBLE, offset DOUBLE)GEOMETRY ST_LocateBetween (line GEOMETRY, start_measure DOUBLE, end_measure DOUBLE)Beschreibung
Gibt eine Geometrie oder Geometriesammlung zurück, die durch Filtern und Interpolieren von Vertices innerhalb eines Bereichs von „M“-Werten erzeugt wird
Creates a geometry or geometry collection, containing the parts formed by vertices that have an “M” value within the “start_measure” and “end_measure” range
Bei LINESTRING oder MULTILINESTRING wird ein Vertex hinzugefügt, wenn ein Segment die obere oder untere Grenze kreuzen würde, indem die Koordinaten am „Schnittpunkt“ interpoliert werden Bei POINT und MULTIPOINT wird der Punkt zur Sammlung hinzugefügt, wenn sein Vertex einen „M“-Wert im Bereich hat, sonst übersprungen Bei POLYGON wird nur der äußere Ring berücksichtigt und wie ein LINESTRING behandelt
Wird offset angegeben, werden die resultierenden Vertices um diesen Betrag senkrecht zur Linienrichtung versetzt.
ST_M
Signatur
DOUBLE ST_M (geom GEOMETRY)Beschreibung
Gibt die M-Koordinate einer Punktgeometrie zurück
Beispiel
SELECT ST_M(ST_Point(1, 2, 3, 4))ST_MMax
Signatur
DOUBLE ST_MMax (geom GEOMETRY)Beschreibung
Gibt die maximale M-Koordinate einer Geometrie zurück
Beispiel
SELECT ST_MMax(ST_Point(1, 2, 3, 4))ST_MMin
Signatur
DOUBLE ST_MMin (geom GEOMETRY)Beschreibung
Gibt die minimale M-Koordinate einer Geometrie zurück
Beispiel
SELECT ST_MMin(ST_Point(1, 2, 3, 4))ST_MakeBox2D
Signatur
BOX_2D ST_MakeBox2D (point1 GEOMETRY, point2 GEOMETRY)Beschreibung
Erzeugt eine BOX2D aus zwei POINT-Geometrien
Beispiel
SELECT ST_MakeBox2D(ST_Point(0, 0), ST_Point(1, 1));----BOX(0 0, 1 1)ST_MakeEnvelope
Signatur
GEOMETRY ST_MakeEnvelope (min_x DOUBLE, min_y DOUBLE, max_x DOUBLE, max_y DOUBLE)Beschreibung
Erzeugt ein rechteckiges Polygon aus Min-/Max-Koordinaten
ST_MakeLine
Signaturn
GEOMETRY ST_MakeLine (geoms GEOMETRY[])GEOMETRY ST_MakeLine (start GEOMETRY, end GEOMETRY)Beschreibung
Erzeugt einen LINESTRING aus einer Liste von POINT-Geometrien
Beispiel
SELECT ST_MakeLine([ST_Point(0, 0), ST_Point(1, 1)]);----LINESTRING(0 0, 1 1)ST_MakePoint
Signaturn
POINT_2D ST_MakePoint (x DOUBLE, y DOUBLE)POINT_3D ST_MakePoint (x DOUBLE, y DOUBLE, z DOUBLE)POINT_4D ST_MakePoint (x DOUBLE, y DOUBLE, z DOUBLE, m DOUBLE)Beschreibung
Erzeugt einen GEOMETRY-Punkt aus einem Paar von Gleitkommazahlen.
In geodätischen Koordinatensystemen ist x typischerweise der Längengrad und y der Breitengrad.
ST_Point ist gleichwertig. ST_MakePoint gibt es der PostGIS-Kompatibilität wegen.
Beispiel
SELECT ST_AsText(ST_MakePoint(143.3, -24.2));----POINT (143.3 -24.2)ST_MakePolygon
Signaturn
GEOMETRY ST_MakePolygon (shell GEOMETRY)GEOMETRY ST_MakePolygon (shell GEOMETRY, holes GEOMETRY[])Beschreibung
Erzeugt ein POLYGON aus einer LINESTRING-Hülle
Beispiel
SELECT ST_MakePolygon(ST_LineString([ST_Point(0, 0), ST_Point(1, 0), ST_Point(1, 1), ST_Point(0, 0)]));ST_MakeValid
Signatur
GEOMETRY ST_MakeValid (geom GEOMETRY)Beschreibung
Gibt eine gültige Darstellung der Geometrie zurück
ST_MaximumInscribedCircle
Signaturn
STRUCT(center GEOMETRY, nearest GEOMETRY, radius DOUBLE) ST_MaximumInscribedCircle (geom GEOMETRY)STRUCT(center GEOMETRY, nearest GEOMETRY, radius DOUBLE) ST_MaximumInscribedCircle (geom GEOMETRY, tolerance DOUBLE)Beschreibung
Gibt den größten einbeschriebenen Kreis der Eingabegeometrie zurück, optional mit einer Toleranz.
By default, the tolerance is computed as max(width, height) / 1000.
Der Rückgabewert ist ein Struct mit dem Mittelpunkt des Kreises, dem dem Mittelpunkt nächsten Punkt auf der Grenze der Geometrie und dem Radius des Kreises.
Beispiel
-- Find the maximum inscribed circle of a squareSELECT ST_MaximumInscribedCircle( ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));----{'center': POINT (5 5), 'nearest': POINT (5 0), 'radius': 5.0}ST_MinimumRotatedRectangle
Signatur
GEOMETRY ST_MinimumRotatedRectangle (geom GEOMETRY)Beschreibung
Gibt das minimale rotierte Rechteck zurück, das die Eingabegeometrie begrenzt, indem die umschließende Box mit der kleinsten Fläche über ein rotiertes Rechteck gefunden wird, statt die niedrigsten und höchsten Koordinatenwerte wie bei ST_Envelope() zu verwenden.
ST_Multi
Signatur
GEOMETRY ST_Multi (geom GEOMETRY)Beschreibung
Wandelt eine einzelne Geometrie in eine Multi-Geometrie um.
Ist die Geometrie bereits eine Multigeometrie, wird sie unverändert zurückgegeben.
Beispiel
SELECT ST_Multi(ST_GeomFromText('POINT(1 2)'));----MULTIPOINT (1 2)
SELECT ST_Multi(ST_GeomFromText('LINESTRING(1 1, 2 2)'));----MULTILINESTRING ((1 1, 2 2))
SELECT ST_Multi(ST_GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'));----MULTIPOLYGON (((0 0, 0 1, 1 1, 1 0, 0 0)))ST_NGeometries
Signatur
INTEGER ST_NGeometries (geom GEOMETRY)Beschreibung
Gibt die Anzahl der Teilgeometrien in einer Sammlungsgeometrie zurück. Ist die Eingabegeometrie keine Collection, gibt diese Funktion 0 oder 1 zurück, je nachdem, ob die Geometrie leer ist.
ST_NInteriorRings
Signaturn
INTEGER ST_NInteriorRings (geom GEOMETRY)INTEGER ST_NInteriorRings (polygon POLYGON_2D)Beschreibung
Gibt die Anzahl der inneren Ringe eines Polygons zurück
ST_NPoints
Signaturn
UINTEGER ST_NPoints (geom GEOMETRY)UBIGINT ST_NPoints (point POINT_2D)UBIGINT ST_NPoints (linestring LINESTRING_2D)UBIGINT ST_NPoints (polygon POLYGON_2D)UBIGINT ST_NPoints (box BOX_2D)Beschreibung
Gibt die Anzahl der Vertices in einer Geometrie zurück
ST_Node
Signatur
GEOMETRY ST_Node (geom GEOMETRY)Beschreibung
Gibt einen „noded“ MultiLinestring zurück, der durch das Kombinieren einer Sammlung von Eingabe-Linestrings und das Hinzufügen zusätzlicher Vertices an ihren Schnittpunkten entsteht.
Beispiel
-- Create a noded multilinestring from two intersecting linesSELECT ST_Node( ST_GeomFromText('MULTILINESTRING((0 0, 2 2), (0 2, 2 0))'));----MULTILINESTRING ((0 0, 1 1), (1 1, 2 2), (0 2, 1 1), (1 1, 2 0))ST_Normalize
Signatur
GEOMETRY ST_Normalize (geom GEOMETRY)Beschreibung
Gibt die „normalisierte“ Darstellung der Geometrie zurück
ST_NumGeometries
Signatur
INTEGER ST_NumGeometries (geom GEOMETRY)Beschreibung
Gibt die Anzahl der Teilgeometrien in einer Sammlungsgeometrie zurück. Ist die Eingabegeometrie keine Collection, gibt diese Funktion 0 oder 1 zurück, je nachdem, ob die Geometrie leer ist.
ST_NumInteriorRings
Signaturn
INTEGER ST_NumInteriorRings (geom GEOMETRY)INTEGER ST_NumInteriorRings (polygon POLYGON_2D)Beschreibung
Gibt die Anzahl der inneren Ringe eines Polygons zurück
ST_NumPoints
Signaturn
UINTEGER ST_NumPoints (geom GEOMETRY)UBIGINT ST_NumPoints (point POINT_2D)UBIGINT ST_NumPoints (linestring LINESTRING_2D)UBIGINT ST_NumPoints (polygon POLYGON_2D)UBIGINT ST_NumPoints (box BOX_2D)Beschreibung
Gibt die Anzahl der Vertices in einer Geometrie zurück
ST_Overlaps
Signatur
BOOLEAN ST_Overlaps (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn sich die Geometrien überlappen
ST_Perimeter
Signaturn
DOUBLE ST_Perimeter (geom GEOMETRY)DOUBLE ST_Perimeter (polygon POLYGON_2D)DOUBLE ST_Perimeter (box BOX_2D)Beschreibung
Gibt die Länge des Umfangs der Geometrie zurück
ST_Perimeter_Spheroid
Signaturn
DOUBLE ST_Perimeter_Spheroid (geom GEOMETRY)DOUBLE ST_Perimeter_Spheroid (poly POLYGON_2D)Beschreibung
Gibt die Länge des Umfangs in Metern unter Verwendung eines ellipsoidischen Modells der Erdoberfläche zurück
Die Eingabegeometrie wird im Koordinatensystem EPSG:4326 (WGS84) mit Achsenreihenfolge [latitude, longitude] angenommen; die Länge wird in Metern zurückgegeben. Diese Funktion verwendet die Bibliothek GeographicLib und berechnet den Umfang mit einem ellipsoidischen Modell der Erde. Dies ist eine sehr genaue Methode zur Berechnung des Umfangs eines Polygons unter Berücksichtigung der Erdkrümmung, aber auch die langsamste.
Gibt 0.0 für jede Geometrie zurück, die kein POLYGON, MULTIPOLYGON oder eine Polygongeometrien enthaltende GEOMETRYCOLLECTION ist.
ST_Point
Signatur
GEOMETRY ST_Point (x DOUBLE, y DOUBLE)Beschreibung
Erzeugt einen GEOMETRY-Punkt
ST_Point2D
Signatur
POINT_2D ST_Point2D (x DOUBLE, y DOUBLE)Beschreibung
Erzeugt einen POINT_2D
ST_Point2DFromWKB
Signatur
GEOMETRY ST_Point2DFromWKB (point POINT_2D)Beschreibung
Deserialisiert einen POINT_2D aus einem WKB-kodierten Blob
ST_Point3D
Signatur
POINT_3D ST_Point3D (x DOUBLE, y DOUBLE, z DOUBLE)Beschreibung
Erzeugt einen POINT_3D
ST_Point4D
Signatur
POINT_4D ST_Point4D (x DOUBLE, y DOUBLE, z DOUBLE, m DOUBLE)Beschreibung
Erzeugt einen POINT_4D
ST_PointN
Signaturn
GEOMETRY ST_PointN (geom GEOMETRY, index INTEGER)POINT_2D ST_PointN (linestring LINESTRING_2D, index INTEGER)Beschreibung
Gibt den n-ten Vertex der Eingabegeometrie als Punktgeometrie zurück
ST_PointOnSurface
Signatur
GEOMETRY ST_PointOnSurface (geom GEOMETRY)Beschreibung
Gibt einen Punkt zurück, der garantiert auf der Oberfläche der Geometrie liegt
ST_Points
Signatur
GEOMETRY ST_Points (geom GEOMETRY)Beschreibung
Sammelt alle Vertices der Geometrie in einem MULTIPOINT
Beispiel
select st_points('LINESTRING(1 1, 2 2)'::geometry);----MULTIPOINT (1 1, 2 2)
select st_points('MULTIPOLYGON Z EMPTY'::geometry);----MULTIPOINT Z EMPTYST_Polygon2DFromWKB
Signatur
GEOMETRY ST_Polygon2DFromWKB (polygon POLYGON_2D)Beschreibung
Deserialisiert ein POLYGON_2D aus einem WKB-kodierten Blob
ST_Polygonize
Signatur
GEOMETRY ST_Polygonize (geometries GEOMETRY[])Beschreibung
Gibt eine polygonisierte Darstellung der Eingabegeometrien zurück
Beispiel
-- Create a polygon from a closed linestring ringSELECT ST_Polygonize([ ST_GeomFromText('LINESTRING(0 0, 0 10, 10 10, 10 0, 0 0)')]);---GEOMETRYCOLLECTION (POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0)))ST_QuadKey
Signaturn
VARCHAR ST_QuadKey (longitude DOUBLE, latitude DOUBLE, level INTEGER)VARCHAR ST_QuadKey (point GEOMETRY, level INTEGER)Beschreibung
Berechnet den quadkey für einen gegebenen Lon/Lat-Punkt auf einer gegebenen Ebene. Die Parameterreihenfolge ist longitude, latitude.
level has to be between 1 and 23, inclusive.
Die Eingabekoordinaten werden auf die Lon/Lat-Grenzen der Erde begrenzt (Längengrad zwischen -180 und 180, Breitengrad zwischen -85.05112878 und 85.05112878).
Die Geometrie-Überladung wirft einen Fehler, wenn die Eingabegeometrie kein POINT ist
Beispiel
SELECT ST_QuadKey(st_point(11.08, 49.45), 10);----1333203202ST_ReducePrecision
Signatur
GEOMETRY ST_ReducePrecision (geom GEOMETRY, precision DOUBLE)Beschreibung
Gibt die Geometrie mit allen auf die gegebene Genauigkeit reduzierten Vertices zurück
ST_RemoveRepeatedPoints
Signaturn
LINESTRING_2D ST_RemoveRepeatedPoints (line LINESTRING_2D)LINESTRING_2D ST_RemoveRepeatedPoints (line LINESTRING_2D, tolerance DOUBLE)GEOMETRY ST_RemoveRepeatedPoints (geom GEOMETRY)GEOMETRY ST_RemoveRepeatedPoints (geom GEOMETRY, tolerance DOUBLE)Beschreibung
Entfernt wiederholte Punkte aus einem LINESTRING.
ST_Reverse
Signatur
GEOMETRY ST_Reverse (geom GEOMETRY)Beschreibung
Gibt die Geometrie mit umgekehrter Reihenfolge ihrer Vertices zurück
ST_ShortestLine
Signatur
GEOMETRY ST_ShortestLine (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt die kürzeste Linie zwischen zwei Geometrien zurück
ST_Simplify
Signatur
GEOMETRY ST_Simplify (geom GEOMETRY, tolerance DOUBLE)Beschreibung
Gibt eine vereinfachte Version der Geometrie zurück
ST_SimplifyPreserveTopology
Signatur
GEOMETRY ST_SimplifyPreserveTopology (geom GEOMETRY, tolerance DOUBLE)Beschreibung
Gibt eine vereinfachte Version der Geometrie zurück, die die Topologie erhält
ST_StartPoint
Signaturn
GEOMETRY ST_StartPoint (geom GEOMETRY)POINT_2D ST_StartPoint (line LINESTRING_2D)Beschreibung
Gibt den Startpunkt eines LINESTRING zurück.
ST_TileEnvelope
Signatur
GEOMETRY ST_TileEnvelope (tile_zoom INTEGER, tile_x INTEGER, tile_y INTEGER)Beschreibung
Die Skalarfunktion ST_TileEnvelope erzeugt rechteckige Tile-Envelope-Polygone aus der angegebenen Zoomstufe und den Kachelindizes.
Dies wird bei der MVT-Erzeugung verwendet, um die Features auszuwählen, die dem Tile-Extent entsprechen. Der Envelope liegt im Web Mercator
coordinate reference system (EPSG:3857). The tile pyramid starts at zoom level 0, corresponding to a single tile for the
world. Each zoom level doubles the number of tiles in each direction, such that zoom level 1 is 2 tiles wide by 2 tiles high,
zoom level 2 is 4 tiles wide by 4 tiles high, and so on. Tile indices start at [x=0, y=0] at the top left, and increase
down and right. For example, at zoom level 2, the top right tile is [x=3, y=0], the bottom left tile is [x=0, y=3], and
the bottom right is [x=3, y=3].
SELECT ST_TileEnvelope(2, 3, 1);Beispiel
SELECT ST_TileEnvelope(2, 3, 1);┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ st_tileenvelope(2, 3, 1) ││ geometry │├───────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ POLYGON ((1.00188E+07 0, 1.00188E+07 1.00188E+07, 2.00375E+07 1.00188E+07, 2.00375E+07 0, 1.00188E+07 0)) │└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘ST_Touches
Signatur
BOOLEAN ST_Touches (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn sich die Geometrien berühren
ST_Transform
Signaturn
BOX_2D ST_Transform (box BOX_2D, source_crs VARCHAR, target_crs VARCHAR)BOX_2D ST_Transform (box BOX_2D, source_crs VARCHAR, target_crs VARCHAR, always_xy BOOLEAN)POINT_2D ST_Transform (point POINT_2D, source_crs VARCHAR, target_crs VARCHAR)POINT_2D ST_Transform (point POINT_2D, source_crs VARCHAR, target_crs VARCHAR, always_xy BOOLEAN)GEOMETRY ST_Transform (geom GEOMETRY, source_crs VARCHAR, target_crs VARCHAR)GEOMETRY ST_Transform (geom GEOMETRY, source_crs VARCHAR, target_crs VARCHAR, always_xy BOOLEAN)Beschreibung
Transformiert eine Geometrie zwischen zwei Koordinatensystemen
Quell- und Zielkoordinatensystem können in jedem Format angegeben werden, das die PROJ library unterstützt.
Der dritte optionale Parameter always_xy kann verwendet werden, um Eingabe- und Ausgabegeometrien unabhängig von der Definition des Quell- und Zielkoordinatensystems als Achsenreihenfolge [easting, northing] zu interpretieren. Das ist besonders nützlich bei der Transformation von/nach dem Koordinatensystem WGS84/EPSG:4326 (was die meisten unter “longitude”/“latitude” oder “GPS-Koordinaten” verstehen), das als Achsenreihenfolge [latitude, longitude] definiert ist, obwohl in der Praxis üblicherweise [longitude, latitude] verwendet wird (z. B. in GeoJSON). Weitere Details finden Sie in der PROJ documentation.
DuckDB spatial vendors its own static copy of the PROJ database of coordinate systems, so if you have your own installation of PROJ on your system the available coordinate systems may differ to what’s available in other GIS software.
Beispiel
-- Transform a geometry from EPSG:4326 to EPSG:3857 (WGS84 to WebMercator)-- Note that since WGS84 is defined as having a [latitude, longitude] axis order-- we follow the standard and provide the input geometry using that axis order,-- but the output will be [easting, northing] because that is what's defined by-- WebMercator.
SELECT ST_Transform( st_point(52.373123, 4.892360), 'EPSG:4326', 'EPSG:3857' );----POINT (544615.0239773799 6867874.103539125)
-- Alternatively, let's say we got our input point from e.g. a GeoJSON file,-- which uses WGS84 but with [longitude, latitude] axis order. We can use the-- `always_xy` parameter to force the input geometry to be interpreted as having-- a [northing, easting] axis order instead, even though the source coordinate-- reference system definition (WGS84) says otherwise.
SELECT ST_Transform( -- note the axis order is reversed here st_point(4.892360, 52.373123), 'EPSG:4326', 'EPSG:3857', always_xy := true );----POINT (544615.0239773799 6867874.103539125)
-- Transform a geometry from OSG36 British National Grid EPSG:27700 to EPSG:4326 WGS84-- Standard transform is often fine for the first few decimal places before being wrong-- which could result in an error starting at about 10m and possibly much moreSELECT ST_Transform(bng, 'EPSG:27700', 'EPSG:4326', xy := true) AS without_grid_fileFROM (SELECT ST_GeomFromText('POINT( 170370.718 11572.405 )') AS bng);----POINT (-5.202992651563592 49.96007490162923)
-- By using an official NTv2 grid file, we can reduce the error down around the 9th decimal place-- which in theory is below a millimetre, and in practice unlikely that your coordinates are that precise-- British National Grid "NTv2 format files" download available here:-- https://www.ordnancesurvey.co.uk/products/os-net/for-developersSELECT ST_Transform(bng , '+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +units=m +no_defs +nadgrids=/full/path/to/OSTN15-NTv2/OSTN15_NTv2_OSGBtoETRS.gsb +type=crs' , 'EPSG:4326', xy := true) AS with_grid_fileFROM (SELECT ST_GeomFromText('POINT( 170370.718 11572.405 )') AS bng) t;----POINT (-5.203046090608746 49.96006137018598)ST_Union
Signatur
GEOMETRY ST_Union (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt die Vereinigung zweier Geometrien zurück
ST_VoronoiDiagram
Signatur
GEOMETRY ST_VoronoiDiagram (geom GEOMETRY)Beschreibung
Gibt das Voronoi-Diagramm der übergebenen MultiPoint-Geometrie zurück
ST_Within
Signaturn
BOOLEAN ST_Within (geom1 POINT_2D, geom2 POLYGON_2D)BOOLEAN ST_Within (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn die erste Geometrie innerhalb der zweiten liegt
ST_WithinProperly
Signatur
BOOLEAN ST_WithinProperly (geom1 GEOMETRY, geom2 GEOMETRY)Beschreibung
Gibt wahr zurück, wenn die erste Geometrie von der zweiten Geometrie "echt" enthalten wird
Diese Funktion arbeitet wie ST_ContainsProperly, die Argumente sind jedoch vertauscht.
ST_X
Signaturn
DOUBLE ST_X (geom GEOMETRY)DOUBLE ST_X (point POINT_2D)Beschreibung
Gibt die X-Koordinate einer Punktgeometrie zurück
Beispiel
SELECT ST_X(ST_Point(1, 2))ST_XMax
Signaturn
DOUBLE ST_XMax (geom GEOMETRY)DOUBLE ST_XMax (point POINT_2D)DOUBLE ST_XMax (line LINESTRING_2D)DOUBLE ST_XMax (polygon POLYGON_2D)DOUBLE ST_XMax (box BOX_2D)FLOAT ST_XMax (box BOX_2DF)Beschreibung
Gibt die maximale X-Koordinate einer Geometrie zurück
Beispiel
SELECT ST_XMax(ST_Point(1, 2))ST_XMin
Signaturn
DOUBLE ST_XMin (geom GEOMETRY)DOUBLE ST_XMin (point POINT_2D)DOUBLE ST_XMin (line LINESTRING_2D)DOUBLE ST_XMin (polygon POLYGON_2D)DOUBLE ST_XMin (box BOX_2D)FLOAT ST_XMin (box BOX_2DF)Beschreibung
Gibt die minimale X-Koordinate einer Geometrie zurück
Beispiel
SELECT ST_XMin(ST_Point(1, 2))ST_Y
Signaturn
DOUBLE ST_Y (geom GEOMETRY)DOUBLE ST_Y (point POINT_2D)Beschreibung
Gibt die Y-Koordinate einer Punktgeometrie zurück
Beispiel
SELECT ST_Y(ST_Point(1, 2))ST_YMax
Signaturn
DOUBLE ST_YMax (geom GEOMETRY)DOUBLE ST_YMax (point POINT_2D)DOUBLE ST_YMax (line LINESTRING_2D)DOUBLE ST_YMax (polygon POLYGON_2D)DOUBLE ST_YMax (box BOX_2D)FLOAT ST_YMax (box BOX_2DF)Beschreibung
Gibt die maximale Y-Koordinate einer Geometrie zurück
Beispiel
SELECT ST_YMax(ST_Point(1, 2))ST_YMin
Signaturn
DOUBLE ST_YMin (geom GEOMETRY)DOUBLE ST_YMin (point POINT_2D)DOUBLE ST_YMin (line LINESTRING_2D)DOUBLE ST_YMin (polygon POLYGON_2D)DOUBLE ST_YMin (box BOX_2D)FLOAT ST_YMin (box BOX_2DF)Beschreibung
Gibt die minimale Y-Koordinate einer Geometrie zurück
Beispiel
SELECT ST_YMin(ST_Point(1, 2))ST_Z
Signatur
DOUBLE ST_Z (geom GEOMETRY)Beschreibung
Gibt die Z-Koordinate einer Punktgeometrie zurück
Beispiel
SELECT ST_Z(ST_Point(1, 2, 3))ST_ZMFlag
Signaturn
UTINYINT ST_ZMFlag (geom GEOMETRY)UTINYINT ST_ZMFlag (wkb WKB_BLOB)Beschreibung
Gibt ein Flag zurück, das das Vorhandensein von Z- und M-Werten in der Eingabegeometrie anzeigt. 0 = No Z or M values 1 = M values only 2 = Z values only 3 = Z and M values
Beispiel
-- ZMFlag for a 2D geometrySELECT ST_ZMFlag(ST_GeomFromText('POINT(1 1)'));----0
-- ZMFlag for a 3DZ geometrySELECT ST_ZMFlag(ST_GeomFromText('POINT Z(1 1 1)'));----2
-- ZMFlag for a 3DM geometrySELECT ST_ZMFlag(ST_GeomFromText('POINT M(1 1 1)'));----1
-- ZMFlag for a 4D geometrySELECT ST_ZMFlag(ST_GeomFromText('POINT ZM(1 1 1 1)'));----3ST_ZMax
Signatur
DOUBLE ST_ZMax (geom GEOMETRY)Beschreibung
Gibt die maximale Z-Koordinate einer Geometrie zurück
Beispiel
SELECT ST_ZMax(ST_Point(1, 2, 3))ST_ZMin
Signatur
DOUBLE ST_ZMin (geom GEOMETRY)Beschreibung
Gibt die minimale Z-Koordinate einer Geometrie zurück
Beispiel
SELECT ST_ZMin(ST_Point(1, 2, 3))Aggregatfunktionen
ST_AsMVT
Signaturn
BLOB ST_AsMVT (col0 ANY)BLOB ST_AsMVT (col0 ANY, col1 VARCHAR)BLOB ST_AsMVT (col0 ANY, col1 VARCHAR, col2 INTEGER)BLOB ST_AsMVT (col0 ANY, col1 VARCHAR, col2 INTEGER, col3 VARCHAR)BLOB ST_AsMVT (col0 ANY, col1 VARCHAR, col2 INTEGER, col3 VARCHAR, col4 VARCHAR)Beschreibung
Erzeugt ein Mapbox Vector Tile aus einer Menge von Geometrien und Eigenschaften Die Funktion nimmt als Eingabe einen Zeilentyp (STRUCT) entgegen, der eine Geometriespalte und beliebig viele Eigenschaftsspalten enthält. It returns a single binary BLOB containing the Mapbox Vector Tile.
Die Funktion hat die folgende Signatur:
ST_AsMVT(row STRUCT, layer_name VARCHAR DEFAULT 'layer', extent INTEGER DEFAULT 4096, geom_column_name VARCHAR DEFAULT NULL, feature_id_column_name VARCHAR DEFAULT NULL) -> BLOB
- The first argument is a struct containing the geometry and properties.
- The second argument is the name of the layer in the vector tile. This argument is optional and defaults to ‘layer’.
- The third argument is the extent of the tile. This argument is optional and defaults to 4096.
- The fourth argument is the name of the geometry column in the input row. This argument is optional. If not provided, the first geometry column in the input row will be used. If multiple geometry columns are present, an error will be raised.
- The fifth argument is the name of the feature id column in the input row. This argument is optional. If provided, the values in this column will be used as feature ids in the vector tile. The column must be of type INTEGER or BIGINT. If set to negative or NULL, a feature id will not be assigned to the corresponding feature.
Das Eingabe-Struct muss genau eine Geometriespalte vom Typ GEOMETRY enthalten. Es kann beliebig viele Eigenschaftsspalten der Typen VARCHAR, FLOAT, DOUBLE, INTEGER, BIGINT oder BOOLEAN enthalten.
Beispiel:
SELECT ST_AsMVT({'geom': geom, 'id': id, 'name': name}, 'cities', 4096, 'geom', 'id') AS tileFROM cities;Dieses Beispiel erzeugt ein Vector Tile namens ‘cities’ mit einem Extent von 4096 aus der Tabelle ‘cities’, mit ‘geom’ als Geometriespalte und ‘id’ als Feature-ID-Spalte.
However, you probably want to use the ST_AsMVTGeom function to first transform and clip your geometries to the tile extent.
Das folgende Beispiel setzt voraus, dass die Geometrie in WebMercator-Koordinaten (“EPSG:3857”) vorliegt.
Replace ⟨z⟩{:.language-sql .highlight}, ⟨x⟩{:.language-sql .highlight}, and ⟨y⟩{:.language-sql .highlight} with the appropriate tile coordinates, ⟨your_table⟩{:.language-sql .highlight} with your table name, and ⟨tile_path⟩ with the path to write the tile to.
COPY ( SELECT ST_AsMVT({ "geometry": ST_AsMVTGeom( geometry, ST_Extent(ST_TileEnvelope(⟨z⟩, ⟨x⟩, ⟨y⟩)), 4096, 256, false ) }) FROM ⟨your_table⟩ WHERE ST_Intersects(geometry, ST_TileEnvelope(⟨z⟩, ⟨x⟩, ⟨y⟩))) to ⟨tile_path⟩ (FORMAT 'BLOB');ST_CoverageInvalidEdges_Agg
Signaturn
GEOMETRY ST_CoverageInvalidEdges_Agg (col0 GEOMETRY)GEOMETRY ST_CoverageInvalidEdges_Agg (col0 GEOMETRY, col1 DOUBLE)Beschreibung
Gibt die ungültigen Kanten einer Coverage-Geometrie zurück
ST_CoverageSimplify_Agg
Signaturn
GEOMETRY ST_CoverageSimplify_Agg (col0 GEOMETRY, col1 DOUBLE)GEOMETRY ST_CoverageSimplify_Agg (col0 GEOMETRY, col1 DOUBLE, col2 BOOLEAN)Beschreibung
Vereinfacht eine Menge von Geometrien und behält dabei die Coverage bei
ST_CoverageUnion_Agg
Signatur
GEOMETRY ST_CoverageUnion_Agg (col0 GEOMETRY)Beschreibung
Vereinigt eine Menge von Geometrien und behält dabei die Coverage bei
ST_Envelope_Agg
Signatur
GEOMETRY ST_Envelope_Agg (col0 GEOMETRY)Beschreibung
Alias für ST_Extent_Agg.
Berechnet das Minimal-Bounding-Box-Polygon, das die Menge der Eingabegeometrien enthält.
Beispiel
SELECT ST_Extent_Agg(geom) FROM UNNEST([ST_Point(1,1), ST_Point(5,5)]) AS _(geom);-- POLYGON ((1 1, 1 5, 5 5, 5 1, 1 1))ST_Extent_Agg
Signatur
GEOMETRY ST_Extent_Agg (col0 GEOMETRY)Beschreibung
Berechnet das Minimal-Bounding-Box-Polygon, das die Menge der Eingabegeometrien enthält
Beispiel
SELECT ST_Extent_Agg(geom) FROM UNNEST([ST_Point(1,1), ST_Point(5,5)]) AS _(geom);-- POLYGON ((1 1, 1 5, 5 5, 5 1, 1 1))ST_Intersection_Agg
Signatur
GEOMETRY ST_Intersection_Agg (col0 GEOMETRY)Beschreibung
Berechnet die Schnittmenge einer Menge von Geometrien
ST_MemUnion_Agg
Signatur
GEOMETRY ST_MemUnion_Agg (col0 GEOMETRY)Beschreibung
Berechnet die Vereinigung einer Menge von Eingabegeometrien. “Slower, but might be more memory efficient than ST_UnionAgg as each geometry is merged into the union individually rather than all at once.
ST_Union_Agg
Signatur
GEOMETRY ST_Union_Agg (col0 GEOMETRY)Beschreibung
Berechnet die Vereinigung einer Menge von Eingabegeometrien
Makrofunktionen
ST_Rotate
Signatur
GEOMETRY ST_Rotate (geom GEOMETRY, radians double)Beschreibung
Alias von ST_RotateZ
ST_RotateX
Signatur
GEOMETRY ST_RotateX (geom GEOMETRY, radians double)Beschreibung
Rotiert eine Geometrie um die X-Achse. Dies ist ein Kurzform-Makro für den Aufruf von ST_Affine.
Beispiel
-- Rotate a 3D point 90 degrees (π/2 radians) around the X-axisSELECT ST_RotateX(ST_GeomFromText('POINT Z(0 1 0)'), pi()/2);----POINT Z (0 0 1)ST_RotateY
Signatur
GEOMETRY ST_RotateY (geom GEOMETRY, radians double)Beschreibung
Rotiert eine Geometrie um die Y-Achse. Dies ist ein Kurzform-Makro für den Aufruf von ST_Affine.
Beispiel
-- Rotate a 3D point 90 degrees (π/2 radians) around the Y-axisSELECT ST_RotateY(ST_GeomFromText('POINT Z(1 0 0)'), pi()/2);----POINT Z (0 0 -1)ST_RotateZ
Signatur
GEOMETRY ST_RotateZ (geom GEOMETRY, radians double)Beschreibung
Rotiert eine Geometrie um die Z-Achse. Dies ist ein Kurzform-Makro für den Aufruf von ST_Affine.
Beispiel
-- Rotate a point 90 degrees (π/2 radians) around the Z-axisSELECT ST_RotateZ(ST_Point(1, 0), pi()/2);----POINT (0 1)ST_Scale
Signaturn
GEOMETRY ST_Scale (geom GEOMETRY, xs double, ys double, zs double)GEOMETRY ST_Scale (geom GEOMETRY, xs double, ys double)ST_TransScale
Signatur
GEOMETRY ST_TransScale (geom GEOMETRY, dx double, dy double, xs double, ys double)Beschreibung
Verschiebt und skaliert anschließend eine Geometrie in X- und Y-Richtung. Dies ist ein Kurzform-Makro für den Aufruf von ST_Affine.
Beispiel
-- Translate by (1, 2) then scale by (2, 3)SELECT ST_TransScale(ST_Point(1, 1), 1, 2, 2, 3);----POINT (4 9)ST_Translate
Signaturn
GEOMETRY ST_Translate (geom GEOMETRY, dx double, dy double, dz double)GEOMETRY ST_Translate (geom GEOMETRY, dx double, dy double)Tabellenfunktionen
ST_Drivers
Signatur
ST_Drivers ()Beschreibung
Gibt die Liste der unterstützten GDAL-Treiber und Dateiformate zurück
Bei weitem nicht alle dieser Treiber wurden gründlich getestet. Some may require additional options to be passed to work as expected. Bei Problemen lesen Sie zuerst die GDAL-Dokumentation.
Beispiel
SELECT * FROM ST_Drivers();ST_GeneratePoints
Signatur
ST_GeneratePoints (col0 BOX_2D, col1 BIGINT)ST_GeneratePoints (col0 BOX_2D, col1 BIGINT, col2 BIGINT)Beschreibung
Erzeugt eine Menge zufälliger Punkte innerhalb der angegebenen Bounding Box.
Takes a bounding box (min_x, min_y, max_x, max_y), a count of points to generate and optionally a seed for the random number generator.
Beispiel
SELECT * FROM ST_GeneratePoints({min_x: 0, min_y:0, max_x:10, max_y:10}::BOX_2D, 5, 42);ST_Read
Signatur
ST_Read (col0 VARCHAR, keep_wkb BOOLEAN, max_batch_size INTEGER, sequential_layer_scan BOOLEAN, layer VARCHAR, sibling_files VARCHAR[], spatial_filter WKB_BLOB, spatial_filter_box BOX_2D, allowed_drivers VARCHAR[], open_options VARCHAR[])Beschreibung
Liest und importiert verschiedene georäumliche Dateiformate mithilfe der GDAL-Bibliothek.
Die Tabellenfunktion ST_Read basiert auf der Übersetzungsbibliothek GDAL und ermöglicht das Lesen räumlicher Daten aus einer Vielzahl georäumlicher Vektordateiformate, als wären sie DuckDB-Tabellen.
See ST_Drivers for a list of supported file formats and drivers.
Except for the path parameter, all parameters are optional.
| Parameter | Type | Beschreibung |
|---|---|---|
path |
VARCHAR | The path to the file to read. Mandatory |
sequential_layer_scan |
BOOLEAN | If set to true, the table function will scan through all layers sequentially and return the first layer that matches the given layer name. This is required for some drivers to work properly, e.g., the OSM driver. |
spatial_filter |
WKB_BLOB | If set to a WKB blob, the table function will only return rows that intersect with the given WKB geometry. Some drivers may support efficient spatial filtering natively, in which case it will be pushed down. Otherwise the filtering is done by GDAL which may be much slower. |
open_options |
VARCHAR[] | A list of key-value pairs that are passed to the GDAL driver to control the opening of the file. E.g., the GeoJSON driver supports a FLATTEN_NESTED_ATTRIBUTES=YES option to flatten nested attributes. |
layer |
VARCHAR | The name of the layer to read from the file. If NULL, the first layer is returned. Can also be a layer index (starting at 0). |
allowed_drivers |
VARCHAR[] | A list of GDAL driver names that are allowed to be used to open the file. If empty, all drivers are allowed. |
sibling_files |
VARCHAR[] | A list of sibling files that are required to open the file. E.g., the ESRI Shapefile driver requires a .shx file to be present. Although most of the time these can be discovered automatically. |
spatial_filter_box |
BOX_2D | If set to a BOX_2D, the table function will only return rows that intersect with the given bounding box. Similar to spatial_filter. |
keep_wkb |
BOOLEAN | If set, the table function will return geometries in a wkb_geometry column with the type WKB_BLOB (which can be cast to BLOB) instead of GEOMETRY. This is useful if you want to use DuckDB with more exotic geometry subtypes that DuckDB spatial doesn’t support representing in the GEOMETRY type yet. |
GDAL ist single-threaded, daher kann diese Tabellenfunktion Parallelität nicht voll ausnutzen.
By using ST_Read, the spatial extension also provides “replacement scans” for common geospatial file formats, allowing you to query files of these formats as if they were tables directly.
SELECT * FROM './path/to/some/shapefile/dataset.shp';In practice this is just syntax-sugar for calling ST_Read, so there is no difference in performance. If you want to pass additional options, you should use the ST_Read table function directly.
Die folgenden Formate werden derzeit anhand ihrer Dateiendung erkannt:
| Format | Extension |
|---|---|
| ESRI ShapeFile | .shp |
| GeoPackage | .gpkg |
| FlatGeoBuf | .fgb |
Beispiel
-- Read a ShapefileSELECT * FROM ST_Read('some/file/path/filename.shp');
-- Read a GeoJSON fileCREATE TABLE my_geojson_table AS SELECT * FROM ST_Read('some/file/path/filename.json');ST_ReadOSM
Signatur
ST_ReadOSM (col0 VARCHAR)Beschreibung
Die Tabellenfunktion ST_ReadOsm() ermöglicht das direkte Lesen komprimierter OpenStreetMap-Daten aus einer .osm.pbf file.
Diese Funktion verwendet Multithreading und Zero-Copy-Protobuf-Parsing und ist dadurch deutlich schneller als der OSM-Treiber von ST_Read(), gibt jedoch nur die rohen OSM-Daten (Nodes, Ways, Relations) aus, ohne Geometrien zu konstruieren. Für einfache Node-Entitäten (z. B. PoIs) können Sie trivial POINT-Geometrien erzeugen; LINESTRING- und POLYGON-Geometrien lassen sich auch erzeugen, indem Sie refs und nodes in SQL manuell zusammenfügen, wobei der verfügbare Speicher meist der begrenzende Faktor ist.
Die Funktion ST_ReadOSM() stellt außerdem einen „Replacement-Scan“ bereit, um eine Datei direkt so zu lesen, als wäre sie eine Tabelle. Das ist lediglich syntaktischer Zucker für den Aufruf von ST_ReadOSM(). Beispiel:
SELECT * FROM 'tmp/data/germany.osm.pbf' LIMIT 5;Beispiel
SELECT *FROM ST_ReadOSM('tmp/data/germany.osm.pbf')WHERE tags['highway'] != []LIMIT 5;----┌──────────────────────┬────────┬──────────────────────┬─────────┬────────────────────┬────────────┬───────────┬────────────────────────┐│ kind │ id │ tags │ refs │ lat │ lon │ ref_roles │ ref_types ││ enum('node', 'way'… │ int64 │ map(varchar, varch… │ int64[] │ double │ double │ varchar[] │ enum('node', 'way', … │├──────────────────────┼────────┼──────────────────────┼─────────┼────────────────────┼────────────┼───────────┼────────────────────────┤│ node │ 122351 │ {bicycle=yes, butt… │ │ 53.5492951 │ 9.977553 │ │ ││ node │ 122397 │ {crossing=no, high… │ │ 53.520990100000006 │ 10.0156924 │ │ ││ node │ 122493 │ {TMC:cid_58:tabcd_… │ │ 53.129614600000004 │ 8.1970173 │ │ ││ node │ 123566 │ {highway=traffic_s… │ │ 54.617268200000005 │ 8.9718171 │ │ ││ node │ 125801 │ {TMC:cid_58:tabcd_… │ │ 53.070685000000005 │ 8.7819939 │ │ │└──────────────────────┴────────┴──────────────────────┴─────────┴────────────────────┴────────────┴───────────┴────────────────────────┘ST_ReadSHP
Signatur
ST_ReadSHP (col0 VARCHAR, encoding VARCHAR)Beschreibung
Liest ein Shapefile, ohne auf die GDAL-Bibliothek angewiesen zu sein
ST_Read_Meta
Signatur
ST_Read_Meta (col0 VARCHAR)ST_Read_Meta (col0 VARCHAR[])Beschreibung
Liest die Metadaten aus verschiedenen georäumlichen Dateiformaten mithilfe der GDAL-Bibliothek.
Die Tabellenfunktion ST_Read_Meta ergänzt die Tabellenfunktion ST_Read, liest aber statt des Dateiinhalts die Metadaten.
Since the data model of the underlying GDAL library is quite flexible, most of the interesting metadata is within the returned layers column, which is a somewhat complex nested structure of DuckDB STRUCT and LIST types.
Beispiel
-- Find the coordinate reference system authority name and code for the first layers first geometry column in the fileSELECT layers[1].geometry_fields[1].crs.auth_name as name, layers[1].geometry_fields[1].crs.auth_code as codeFROM st_read_meta('../../tmp/data/amsterdam_roads.fgb');