Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks Runtime 18 a vyšší
Vrátí bod, který je zaručen, že leží na vstupní hodnotě nebo uvnitř.GEOMETRY
Syntax
st_pointonsurface ( geoExpr )
Argumenty
-
geoExpr: HodnotaGEOMETRY.
Returns
2D bodová GEOMETRY hodnota, která je zaručená, že leží na vstupní hodnotě nebo uvnitř vstupní GEOMETRY hodnoty.
Přesněji řečeno:
- Pokud je vstupní
GEOMETRYhodnota prázdná, vrátí se 2D prázdný bod. - Pokud je vstupní
GEOMETRYhodnota neprázdný bod, vrátí se 2D projekce bodu. - Pokud je vstupní
GEOMETRYhodnota neprázdnou přímkou, vrátí se medián vrcholu. - Pokud je vstupní
GEOMETRYhodnota neprázdný mnohoúhelník, vrátí se bod v interiéru mnohoúhelníku, pokud je to možné; jinak bod na hranici. - Pokud je vstupní
GEOMETRYhodnota více bodů, vrátí se neprázdný bod nejblíže ohraničujícímu středu rámečku. - Pokud je vstupní
GEOMETRYhodnota víceřádkový řetězec, vrátí se bod na povrchu přímky s největší délkou. - Pokud je vstupní
GEOMETRYhodnota multipolygon, vrátí se bod na povrchu mnohoúhelníku s největší oblastí. - Pokud je vstupní
GEOMETRYhodnotou kolekce geometrie, vrátí se bod na povrchu jednoho z maximálních dimenzionálních prvků kolekce.
Hodnota SRID výstupní GEOMETRY hodnoty je stejná jako hodnota vstupu.
Příklady
-- Example taking a 2D polygon.
> SELECT st_asewkt(st_pointonsurface(st_geomfromtext('POLYGON((0 0,10 0,10 10,0 10,0 0))')));
POINT(5 5)
-- Example taking a 2D polygon with a hole: the result lies in the donut region.
> SELECT st_asewkt(st_pointonsurface(st_geomfromtext('POLYGON((0 0,30 0,30 30,0 30,0 0),(5 5,25 5,25 25,5 25,5 5))')));
POINT(3.75 3.75)
-- Example taking a 3DZ linestring: the median vertex is returned and the Z coordinate is dropped.
> SELECT st_asewkt(st_pointonsurface(st_geomfromtext('LINESTRING Z (1 2 -1,3 4 -2,5 6 -3)')));
POINT(3 4)
-- Example taking a multipolygon: a point on the polygon with the largest area is returned.
> SELECT st_asewkt(st_pointonsurface(st_geomfromtext('MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)),((100 100,101 100,101 101,100 101,100 100)))')));
POINT(5 5)
-- Example showing that the SRID is preserved.
> SELECT st_asewkt(st_pointonsurface(st_geomfromtext('POLYGON((0 0,10 0,10 10,0 10,0 0))', 3857)));
SRID=3857;POINT(5 5)
-- Example taking a NULL input.
> SELECT st_pointonsurface(NULL);
NULL