- Categorias:
ST_SIMPLIFY¶
Dado um objeto de entrada GEOGRAPHY ou GEOMETRY que representa uma linha ou polígono, retorna uma aproximação mais simples do objeto. A função identifica e remove os vértices selecionados, resultando em um objeto semelhante com menos vértices.
Por exemplo, se o objeto de entrada for um polígono com 50 vértices, ST_SIMPLIFY poderá retornar um polígono mais simples com apenas 20 desses vértices.
Ao simplificar um objeto, a função remove um vértice somente se a distância entre esse vértice e a borda resultante da remoção desse vértice estiver dentro da tolerância especificada.
Sintaxe¶
Argumentos¶
Obrigatório:
geography_expression. OR .geometry_expressionO objeto GEOGRAPHY ou GEOMETRY a ser simplificado.
Dependendo do tipo do objeto GEOGRAPHY ou GEOMETRY, ST_SIMPLIFY tem o seguinte efeito:
Tipo de objeto
Efeito de ST_SIMPLIFY
LineString MultiLineString, polígono ou MultiPolygon
ST_SIMPLIFY aplica o algoritmo de simplificação
Ponto ou MultiPoint
ST_SIMPLIFY não tem nenhum efeito.
GeometryCollection ou FeatureCollection
Para objetos GEOGRAPHY, ST_SIMPLIFY aplica o algoritmo de simplificação a cada objeto da coleção. . . Para objetos GEOMETRY, ST_SIMPLIFY não oferece suporte a estes tipos.
toleranceA distância máxima usada pelo algoritmo de simplificação. Dependendo do tipo de dados do objeto, as seguintes unidades são usadas para a operação:
GEOGRAPHY - A distância é interpretada em metros.
GEOMETRY - A distância é interpretada em unidades do objeto SRID (identificador do sistema de referência espacial). Por exemplo, a distância é interpretada em graus para EPSG:4326, em metros para muitos projetados SRIDs, ou em metros para alguns locais SRIDs.
Se a distância exceder esta tolerância para um vértice candidato, ST_SIMPLIFY manterá esse vértice no objeto simplificado.
Opcional:
preserve_collapsed(Somente para objetos GEOGRAPHY) Se
TRUE, são retidos objetos que de outra forma seriam muito pequenos dada a tolerância.Por exemplo, quando
preserve_collapsedéFALSEetoleranceé10(metros), uma linha de 1m é reduzida a um ponto no objeto simplificado. Quandopreserve_collapsedéTRUE, a linha é preservada no objeto simplificado.Padrão:
FALSE.
Retornos¶
A função retorna um valor do tipo GEOGRAPHY ou GEOMETRY.
Exemplos¶
Exemplos GEOGRAPHY¶
Os exemplos nesta seção mostram a saída em formato WKT:
O exemplo a seguir retorna um LineString simplificado que tem menos vértices do que o LineString original. No objeto simplificado, um vértice é omitido se a distância entre o vértice e a borda que substitui o vértice for inferior a 1.000 metros.
Exemplos GEOMETRY¶
Os exemplos nesta seção mostram a saída em formato WKT:
O exemplo a seguir retorna um LineString simplificado que tem menos vértices do que o LineString original. No objeto simplificado, um vértice é omitido se a distância entre o vértice e a borda que substitui o vértice for inferior a 500 metros.
O exemplo a seguir simplifica uma elipse que tem 36 vértices iniciais para uma forma com 16 ou 10 vértices, dependendo do argumento tolerance: