Estoy buscando un algoritmo para simplificar las isócronas que se generaron utilizando datos de OSM.
En general, se caracterizan por tener muchos "agujeros" pequeños, principalmente debido a la falta de datos OSM, pero también con frecuencia tienen "islas" pequeñas debido al uso del transporte como el metro. He intentado una serie de herramientas para esto, pero todas son demasiado agresivas para reducir el espacio, lo más crítico es eliminar las islas. La accesibilidad a estas islas de transporte público es muy importante.
Entonces, en lugar de centrarme en las herramientas, quería retroceder un poco y preguntar si algún algoritmo en particular es adecuado o no para esa tarea. es decir, ser agresivo para eliminar agujeros pero conservador para no eliminar islas.
Las isócronas comienzan su vida en formato GeoJSON. Eventualmente serán importados a PostGIS.
Respuestas:
Tal vez la resolución es comenzar desde el principio?
¿De qué manera estás creando isócronas?
Estoy usando pg_routing y devuelve un conjunto de bordes alcanzables en un tiempo especificado en lugar de un polígono para poder dibujar polígonos a partir de estos datos de la manera que quiero: puedo usar st_ConvexHull, st_ConcaveHull, st_Buffer ...
La primera función es como colocar algo en el globo de goma, la segunda es como aspirar aire de este globo, y esta función podría pensarse que está buscando porque devolverá la geometría representa una geometría posiblemente cóncava que encierra todas las geometrías dentro del conjunto y tengo parámetros que evitan agujeros en la geometría devuelta ...
Pero aún no estoy seguro de si es una buena manera: obtendrá una geometría que no será cierta, porque no puede saltar del tren mientras está en funcionamiento. ¿Quizás tenga que usar ST_ExteriorRing para sacar agujeros y luego st_simplify para simplificar las geometrías?
Agregue un comentario que me guíe de la manera correcta si cree que esta respuesta podría ser útil para que pueda volver a editarla para que sea correcta.
fuente