Preciso determinar o tipo de coluna geométrica e fazendo isso com a seguinte query:
SELECT type
FROM geometry_columns
WHERE f_table_schema = 'public'
AND f_table_name = 'table_name'
AND f_geometry_column = 'col_name'
Funciona bem para geometrias regulares, como Ponto ou Polígono. Mas também existem algumas geometrias extravagantes como PointZ. Como faço para determinar se a coluna tem isso? A consulta acima mencionada retorna apenas PONTO para ela.
A
geometry_columns
visualização toma o cuidado de remover quaisquer sufixos Z/M.Você pode procurar o modificador de tipo PostGIS diretamente nas tabelas do sistema:
(O mesmo pode ser feito com
postgis_typmod_srid()
.)Descobri que
geometry_columns
armazena informações de dimensão em outra coluna -coord_dimension
:É ainda melhor, pois contém várias dimensões diretamente!