Zum Inhalt springen

Spatial-Funktionen

Funktionsindex

Skalarfunktionen

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

Aggregatfunktionen

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

Makrofunktionen

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

Tabellenfunktionen

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 Y
SELECT 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.0

ST_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 Z

ST_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.0

ST_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, a MULTIPOINT is returned.
  • If all geometries are LINESTRING’s, a MULTILINESTRING is returned.
  • If all geometries are POLYGON’s, a MULTIPOLYGON is returned.
  • Otherwise if the input collection contains a mix of geometry types, a GEOMETRYCOLLECTION is 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 returned
SELECT ST_Collect([ST_Point(1, 2), ST_Point(3, 4)]);
----
MULTIPOINT (1 2, 3 4)
-- With mixed geometry types, a GEOMETRYCOLLECTION is returned
SELECT 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 MULTIPOINT
SELECT 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 returned
SELECT 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);
----
2

ST_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 ignored
SELECT ST_Distance('POINT Z (0 0 0)'::GEOMETRY, 'POINT Z (3 4 5)'::GEOMETRY);
----
5.0

ST_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)'));
----
POINT

ST_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 geometry
SELECT ST_HasM(ST_GeomFromText('POINT(1 1)'));
----
false
-- HasM for a 3DZ geometry
SELECT ST_HasM(ST_GeomFromText('POINT Z(1 1 1)'));
----
false
-- HasM for a 3DM geometry
SELECT ST_HasM(ST_GeomFromText('POINT M(1 1 1)'));
----
true
-- HasM for a 4D geometry
SELECT ST_HasM(ST_GeomFromText('POINT ZM(1 1 1 1)'));
----
true

ST_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 geometry
SELECT ST_HasZ(ST_GeomFromText('POINT(1 1)'));
----
false
-- HasZ for a 3DZ geometry
SELECT ST_HasZ(ST_GeomFromText('POINT Z(1 1 1)'));
----
true
-- HasZ for a 3DM geometry
SELECT ST_HasZ(ST_GeomFromText('POINT M(1 1 1)'));
----
false
-- HasZ for a 4D geometry
SELECT ST_HasZ(ST_GeomFromText('POINT ZM(1 1 1 1)'));
----
true

ST_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 square
SELECT 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 lines
SELECT 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 EMPTY

ST_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 ring
SELECT 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);
----
1333203202

ST_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 more
SELECT ST_Transform(bng, 'EPSG:27700', 'EPSG:4326', xy := true) AS without_grid_file
FROM (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-developers
SELECT 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_file
FROM (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 geometry
SELECT ST_ZMFlag(ST_GeomFromText('POINT(1 1)'));
----
0
-- ZMFlag for a 3DZ geometry
SELECT ST_ZMFlag(ST_GeomFromText('POINT Z(1 1 1)'));
----
2
-- ZMFlag for a 3DM geometry
SELECT ST_ZMFlag(ST_GeomFromText('POINT M(1 1 1)'));
----
1
-- ZMFlag for a 4D geometry
SELECT ST_ZMFlag(ST_GeomFromText('POINT ZM(1 1 1 1)'));
----
3

ST_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 tile
FROM 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-axis
SELECT 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-axis
SELECT 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-axis
SELECT 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 Shapefile
SELECT * FROM ST_Read('some/file/path/filename.shp');
-- Read a GeoJSON file
CREATE 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.54929519.977553 │ │ │
│ node │ 122397 │ {crossing=no, high… │ │ 53.52099010000000610.0156924 │ │ │
│ node │ 122493 │ {TMC:cid_58:tabcd_… │ │ 53.1296146000000048.1970173 │ │ │
│ node │ 123566 │ {highway=traffic_s… │ │ 54.6172682000000058.9718171 │ │ │
│ node │ 125801 │ {TMC:cid_58:tabcd_… │ │ 53.0706850000000058.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 file
SELECT
layers[1].geometry_fields[1].crs.auth_name as name,
layers[1].geometry_fields[1].crs.auth_code as code
FROM st_read_meta('../../tmp/data/amsterdam_roads.fgb');