Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Funções para trabalhar com Geometry

Geometry

As funções de Geometry permitem calcular o perímetro e a área de tipos geométricos como POLYGON, LINESTRING, MULTIPOLYGON, MULTILINESTRING, RING e POINT. Use geometrias no tipo Geometry. Se o valor de entrada for NULL, todas as funções abaixo retornarão 0.

perimeterCartesian

Calcula o perímetro do objeto Geometry especificado no sistema de coordenadas cartesianas (plano).

Sintaxe

perimeterCartesian(geom)

Argumentos

  • geom — Objeto do tipo Geometry. Geometry.

Valores retornados

  • Número — Perímetro do objeto nas unidades do sistema de coordenadas. Float64.

Exemplo

Querysql
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('POLYGON((0 0,1 0,1 1,0 1,0 0))');
SELECT perimeterCartesian(geom) FROM geo_dst;
Responseresponse
┌─perimeterCartesian(geom)─┐
│ 4.0                      │
└──────────────────────────┘

areaCartesian

Calcula a área do objeto Geometry especificado no sistema de coordenadas cartesianas.

Sintaxe

areaCartesian(geom)

Argumentos

  • geom — Objeto do tipo Geometry. Geometry.

Valores retornados

  • Número — Área do objeto em unidades do sistema de coordenadas. Float64.

Exemplo

Querysql
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('POLYGON((0 0,1 0,1 1,0 1,0 0))');
SELECT areaCartesian(geom) FROM geo_dst;
Responseresponse
┌─areaCartesian(geom)─┐
│ -1                  │
└─────────────────────┘

perimeterSpherical

Calcula o perímetro de um objeto do tipo Geometry na superfície de uma esfera.

Sintaxe

perimeterSpherical(geom)

Argumentos

  • geom — Objeto do tipo Geometry. Geometry.

Valores retornados

Exemplo

Querysql
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('LINESTRING(0 0,1 0,1 1,0 1,0 0)');
SELECT perimeterSpherical(geom) FROM geo_dst;
Responseresponse
┌─perimeterSpherical(geom)─┐
│ 0                        │
└──────────────────────────┘

areaSpherical

Calcula a área de um objeto do tipo Geometry na superfície de uma esfera.

Sintaxe

areaSpherical(geom)

Argumentos

Valores retornados

Exemplo

Querysql
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('POLYGON((0 0,1 0,1 1,0 1,0 0))');
SELECT areaSpherical(geom) FROM geo_dst;
Responseresponse
┌─areaSpherical(geom)────┐
│ -0.0003046096848622019 │
└────────────────────────┘
Navigation