Mais

Como criar um polígono a partir das coordenadas da caixa delimitadora (PostGIS / cartoDB)

Como criar um polígono a partir das coordenadas da caixa delimitadora (PostGIS / cartoDB)


Tenho dados para importar para cartoDB no formato CSV no qual há uma coluna de caixa delimitadora contendo duas coordenadas lat / long que representam os cantos de uma caixa delimitadora, como

53.113206182344,-9.15629032156; 53.119089697211,-9.141677599209

Preciso reter essas informações como texto em sua própria coluna, mas também gostaria de derivar um polígono e armazenar sua geometria como the_geom. Estou assumindo que a geometria do polígono seria criada após a importação por meio de uma atualização de SQL ... mas preciso de orientação sobre como abordar isso.


Acho que o caminho mais fácil seria usarST_MakeEnvelope(documentos) depois de fazer algumas análises básicas de seu texto. Não tenho certeza se CartoDB permite que você crie funções ou não, mas faria um pequeno para isso:

CRIAR OU SUBSTITUIR A FUNÇÃO parse_box (texto) RETORNA geometria AS $$ COM divisão AS (SELECT regexp_split_to_array ($ 1, '[^  d .-] +') AS val) SELECT ST_MakeEnvelope (val [1] :: float, val [2 ] :: float, val [3] :: float, val [4] :: float) FROM divisão; $$ LANGUAGE SQL;

E então:

ATUALIZAR minha_tabela SET geom = parse_box (caixa);

Assista o vídeo: Intersection Geometry. PostGIS