Pergunta

Eu tenho um banco de dados típico com milhões de polígonos como parcelas terrestres e quero dividir esses polígonos em linhas e remover as linhas que se sobrepõem. Essas linhas serão usadas puramente para renderizar no Mapnik/e//Geoserver, pois no momento todo limite de encomendas é renderizado duas vezes.

Proponho dividir os polígonos da encomenda em uma nova tabela ("Boundary_Lines") e, em seguida, pesquise e remova linhas sobrepostas. Como eu iria remover essas linhas sobrepostas no PostGis?

Foi útil?

Solução

Use St_equals:
http://postgis.refrações.net/docs/st_equals.html

Sua declaração SQL provavelmente ficará assim:

SELECT y.id, z.id 
FROM mytable y, mytable z
WHERE ST_Equals(y.the_geom,z.the_geom)

A consulta levará uma eternidade para correr, mas espero que você só precise fazer uma vez. Depois de executá -lo, tome os resultados e exclua cuidadosamente os IDs duplicados.

Observe que isso não se livra dos limites que não se sobrepõem exatamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top