Follow us on Facebook

banner image
banner image

Gerar um poligono a partir da união de outros com Postgis

Olá galera,
Há tempos me deparei com a seguinte situação:
A cidade em que moro é dividida em setores, esses setores nada mais são que a união de determinados bairros, como não tínhamos essa tabela de setores, ela foi criada e o insert desses setores ficou da seguinte forma:

INSERT INTO setores_op(descricao, the_geom) VALUES ('Setor 6', (SELECT ST_Union(ARRAY(SELECT the_geom FROM bairros WHERE gid IN (22,23)))));

Nesse caso, estou unindo os bairros de gid = 22 e 23, gerando um polígono que vai ser denominado Setor 6, poderia unir quantos polígonos fosse necessário acrescentando o gid na cláusula IN do nosso SQL. O problema desse código é que as vezes ficam alguns buracos no meio do polígono criado, caso isso aconteça pode-se executar o seguinte SQL:

UPDATE setores_op SET the_geom=(SELECT ST_Polygon(ST_ExteriorRing(the_geom), 29193) FROM setores_op WHERE gid = 10)WHERE gid = 10;


A função St_ExteriorRing() vai levar em consideração apenas os vértices exteriores, descartando os vértices que se encontram no interior do polígono.

Espero que a dica tenha sido útil.

Um grande abraço a todos e até a próxima !
Gerar um poligono a partir da união de outros com Postgis Gerar um poligono a partir da união de outros com Postgis Reviewed by Unknown on 13:15 Rating: 5

Nenhum comentário:

Stay Connected

Tecnologia do Blogger.