Namn

ST_Boundary — Returnerar gränsen för en geometri.

Synopsis

geometry ST_Boundary(geometry geomA);

Beskrivning

Returnerar den kombinatoriska gränsens slutning för denna geometri. Den kombinatoriska gränsen definieras enligt avsnitt 3.12.3.2 i OGC SPEC. Eftersom resultatet av denna funktion är en slutning och därmed topologiskt sluten kan den resulterande gränsen representeras med geometriska representationsprimitiver enligt avsnitt 3.12.2 i OGC SPEC.

Utförs av GEOS-modulen

[Notera]

Före 2.0.0 kastar denna funktion ett undantag om den används med GEOMETRYCOLLECTION. Från och med 2.0.0 returnerar den istället NULL (indata som inte stöds).

Denna metod implementerar OGC:s implementeringsspecifikation för enkla funktioner för SQL 1.1. OGC SPEC s2.1.1.1

Denna metod implementerar SQL/MM-specifikationen. SQL-MM IEC 13249-3: 5.1.17

Denna funktion stöder 3d och kommer inte att tappa z-index.

Förbättrad: 2.1.0-stöd för Triangle infördes

Ändrat: 3.2.0 stöd för TIN, använder inte geos, lineariserar inte kurvor

Exempel

LineString med överlagrade gränspunkter.

Kod
SELECT ST_Boundary(geom)
FROM (SELECT 'LINESTRING(100 150,50 60,70 80,160 170)'::geometry As geom) As f;
                
Utdata
MULTIPOINT((100 150),(160 170))
Figur
Geometry figure for visual-st-boundary-01

Polygonhål med överlagrad MultiLineString för gränsen.

Kod
SELECT ST_Boundary(geom)
FROM (SELECT
'POLYGON (( 10 130,50 190,110 190,140 150,150 80,100 10,20 40,10 130 ),
    ( 70 40,100 50,120 80,80 110,50 90,70 40 ))'::geometry As geom) As f;
                
Utdata
MULTILINESTRING((10 130,50 190,110 190,140 150,150 80,100 10,20 40,10 130),
        (70 40,100 50,120 80,80 110,50 90,70 40))
Figur
Geometry figure for visual-st-boundary-02
Kod
SELECT ST_Boundary('LINESTRING(1 1,0 0,-1 1)');
Utdata
MULTIPOINT((1 1),(-1 1))
Figur
Geometry figure for visual-st-boundary-03
Kod
SELECT ST_Boundary('POLYGON((1 1,0 0,-1 1,1 1))');
Utdata
LINESTRING(1 1,0 0,-1 1,1 1)
Figur
Geometry figure for visual-st-boundary-04

Det här exemplet använder en 3D-polygon.

Kod
SELECT ST_Boundary('POLYGON((1 1 1,0 0 1,-1 1 1,1 1 1))');
Utdata
LINESTRING(1 1 1,0 0 1,-1 1 1,1 1 1)
Figur
Geometry figure for visual-st-boundary-05

Det här exemplet använder en 3D-MultiLineString.

Kod
SELECT ST_Boundary('MULTILINESTRING((1 1 1,0 0 0.5,-1 1 1),(1 1 0.5,0 0 0.5,-1 1 0.5,1 1 0.5) )');
Utdata
MULTIPOINT(1 1 1,-1 1 1)
Figur
Geometry figure for visual-st-boundary-06