Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja
Dotyczy:
, sprawdź, czy usługa SQL databricks
Databricks Runtime 17.1 lub nowsza
Important
Ta funkcja jest dostępna w publicznej wersji testowej.
Uwaga / Notatka
Ta funkcja nie jest dostępna w usłudze Databricks SQL Classic Warehouses. Aby dowiedzieć się więcej na temat magazynów SQL usługi Databricks, zobacz Typy usługi SQL Warehouse.
Tworzy wartość wielokąta GEOMETRY z zewnętrznej granicy wejściowej i opcjonalnej tablicy granic wewnętrznych, reprezentowanych jako zamknięte ciągi liniowe.
Syntax
st_makepolygon ( outer[, innerArray] )
Arguments
-
outer: wartośćGEOMETRY. -
innerArray: tablicaGEOMETRYwartości.
Returns
Wartość typu GEOMETRY, reprezentująca wielokąt.
Wszystkie NULL wartości w tablicy granic wewnętrznych są ignorowane.
Wartość SRID wielokąta wyjściowego jest wspólną wartością SRID geometrii wejściowych.
Wymiar wielokąta wyjściowego jest maksymalnym wspólnym wymiarem linii wejściowych.
Funkcja zwraca NULL, jeśli którekolwiek z danych wejściowych jest NULL.
Warunki błędu
- Jeśli którakolwiek z geometrii wejściowych nie jest linestring, funkcja zwraca ST_INVALID_ARGUMENT. INVALID_TYPE.
- Jeśli geometrie wejściowe nie mają tej samej wartości SRID, funkcja zwraca ST_DIFFERENT_SRID_VALUES.
- Jeśli granica zewnętrzna jest pustym ciągiem liniowym, tablica granic wewnętrznych powinna być pustą tablicą. W przeciwnym razie funkcja zwraca ST_INVALID_ARGUMENT. EMPTY_OUTER_BOUNDARY.
- Jeśli granica zewnętrzna ma mniej niż cztery wierzchołki, funkcja zwraca ST_INVALID_ARGUMENT. TOO_FEW_VERTICES_IN_OUTER_BOUNDARY.
- Jeśli granica zewnętrzna nie jest zamknięta, funkcja zwraca ST_INVALID_ARGUMENT. OUTER_BOUNDARY_NOT_CLOSED.
- Jeśli którakolwiek z granic wewnętrznych ma mniej niż cztery wierzchołki, funkcja zwraca ST_INVALID_ARGUMENT. TOO_FEW_VERTICES_IN_INNER_BOUNDARY.
- Jeśli którakolwiek z granic wewnętrznych nie jest zamknięta, funkcja zwraca ST_INVALID_ARGUMENT. INNER_BOUNDARY_NOT_CLOSED.
Examples
-- Returns a polygon constructed from the outer boundary.
> SELECT st_astext(st_makepolygon(st_geomfromtext('LINESTRING(0 0,10 0,10 10,0 10,0 0)')));
POLYGON((0 0,10 0,10 10,0 10,0 0))
-- Returns a polygon constructed from the outer boundary and an inner boundary.
> SELECT st_astext(st_makepolygon(st_geomfromtext('LINESTRING(0 0,10 0,10 10,0 10,0 0)'), array(st_geomfromtext('LINESTRING(1 1,2 1,1 2,1 1)'))));
POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,2 1,1 2,1 1))