Procurando estratégias de generalização para criar contornos no PostGIS?
22
Eu tenho um conjunto de dados de construção de pegadas vetorizadas de um conjunto de dados raster. Atualmente, o conjunto de dados é apenas uma representação vetorial dos dados rasterizados. Eu gostaria de um conjunto de dados de polígonos que tenha apenas vértices nos cantos do edifício. Eu tentei usar o comando Simplify no PostGIS com sucesso limitado.
Existem muitos algoritmos dedicados à construção de simplificação. Você pode dar uma olhada neste site para obter uma visão geral. Veja também esta pergunta . Você poderia usar:
Simplificação do contorno da construção: consiste em excluir recursivamente arestas muito curtas do contorno e alongar as arestas vizinhas. Exemplo:
Menor algoritmo de retângulo circundante: consiste em substituir a geometria da construção pelo menor retângulo circundante. Esse retângulo também pode ser dimensionado para a área inicial do edifício. Exemplo:
Algoritmo de esquadria: consiste em aplicar uma rotação leve às arestas para tornar os cantos perfeitamente quadrados. Exemplo:
Essas transformações podem ser suficientes para sua necessidade. Pode ser interessante combiná-los.
Tenho quase 100% de certeza de que nenhum desses algoritmos foi implementado no PostGIS. Alguns são implementados na biblioteca java Opencarto que estou desenvolvendo. Deixe-me saber se você deseja testá-lo!
Você pode dar uma breve explicação de quais algoritmos você se refere no Opencarto para a mencionada "simplificação de estrutura de tópicos". Não consegui encontrar informações diretas no wiki ou código no Opencarto.
"Se fizermos buffer em uma quantidade grande, e depois inverter o buffer na mesma quantidade, obteremos algo que tem uma forma semelhante ao original, mas sem os bits amassados".
essa é uma abordagem interessante e parece relativamente eficaz. Obrigado pelo ponteiro, é algo que poderei usar. Sua resposta seria melhor se contivesse uma frase simples que contenha a idéia principal que está sendo referenciada e não seja apenas um link.
Evitará a criação de geometrias derivadas (polígonos em particular) que são inválidas http://www.postgis.org/documentation/manual-1.5SVN/ST_SimplifyPreserveTopology.html
deve ser uma saída melhor do que simplificar
verifique sua geometria primeiro e depois com
ST_IsSimple(geometry geomA);
fonte
Algo assim pode fazer o truque:
http://blog.opengeo.org/2010/11/22/removing-complexities/
fonte