Estou procurando um algoritmo para simplificar isócronas que foram geradas usando dados OSM.
Eles geralmente são caracterizados como tendo muitos pequenos "buracos" principalmente devido à falta de dados OSM, mas também frequentemente tendo pequenas "ilhas" devido ao uso de transportes como metrôs. Eu tentei várias ferramentas para isso, mas todas são muito agressivas para diminuir o espaço - o mais crítico, para excluir as ilhas. A acessibilidade a essas ilhas de transporte público é muito importante.
Então, ao invés de me concentrar nas ferramentas, eu queria voltar um pouco e perguntar se algum algoritmo específico é adequado ou não adequado a essa tarefa? ou seja, ser agressivo na remoção de buracos, mas conservador em não remover ilhas.
As isócronas começam a vida no formato GeoJSON. Eles eventualmente serão importados para o PostGIS.
Respostas:
Talvez a resolução comece do início?
Para que lado você está criando isócronas?
Estou usando pg_routing e ele retorna um conjunto de arestas alcançáveis no tempo especificado, em vez de um polígono, para que eu possa desenhar polígonos a partir desses dados da maneira que eu quero - eu posso usar st_ConvexHull, st_ConcaveHull, st_Buffer ...
A primeira função é como colocar algo no balão de borracha, a segunda é como sugar o ar deste balão, e essa função pode ser que você esteja procurando porque ele retornará geometria representa uma geometria possivelmente côncava que inclui todas as geometrias dentro do conjunto e tem parâmetro impedindo furos na geometria retornada ...
Mas ainda não tenho certeza se é um bom caminho - você terá uma geometria que não será verdadeira, porque você não pode pular do trem enquanto ele está correndo. Talvez você precise usar ST_ExteriorRing para obter furos e depois st_simplify para simplificar as geometrias?
Adicione um comentário que me guie para o caminho certo, se você acha que essa resposta pode ser útil para que eu possa editá-la novamente para que esteja correta.
fonte