Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Databricks Runtime 17.1 and above
Important
Esse recurso está em Visualização Pública.
Observação
Esse recurso não está disponível em databricks SQL Classic warehouses. Para saber mais sobre os sql warehouses do Databricks, consulte os tipos de sql warehouse.
Retorna o n-ésimo elemento indexado a partir de 1 do valor de entrada GEOMETRY como um valor GEOMETRY.
Syntax
st_geometryn ( geoExpr, nExpr )
Arguments
-
geoExpr: valor deGEOMETRY. -
nExpr: o índice baseado em 1 do elemento a ser recuperado.
Returns
Um valor de tipo GEOMETRY, representando o elemento n-th da geometria de entrada.
Se a entrada for um multiponto, uma multilinha, um multipolígono ou uma coleção de geometria, a função retornará o elemento n-th ou retornará um erro se o elemento não existir.
Se a entrada for um ponto não vazio, linhas de linha ou polígono e o valor do índice for igual a 1, a função retornará a entrada como um GEOMETRY valor, caso contrário, retornará um erro.
O valor SRID da geometria de saída é o mesmo do valor de entrada.
Observe que índices menores que 1 não têm suporte e resultarão em um erro.
A função retorna NULL se a entrada for NULL.
Condições de erro
- Se o elemento no índice n não existir, a função retornará ST_INVALID_ARGUMENT. INVALID_INDEX_VALUE.
- Se o índice for menor que 1, a função retornará ST_INVALID_ARGUMENT. INVALID_INDEX_VALUE.
- Se a entrada for um ponto não vazio, um linestring ou um polígono e o índice não for igual a 1, a função retornará ST_INVALID_ARGUMENT. INVALID_INDEX_VALUE.
Examples
-- Returns the second element of a geometry collection.
> SELECT st_astext(st_geometryn(st_geomfromtext('GEOMETRYCOLLECTION(POINT(4 5),LINESTRING(10 3,24 37,44 85))'), 2));
LINESTRING(10 3,24 37,44 85)
-- Returns the first element of a multipoint.
> SELECT st_astext(st_geometryn(st_geomfromtext('MULTIPOINT((1 2),(3 4),(5 6))'), 1));
POINT(1 2)