Je recherche un algorithme pour simplifier les isochrones générés à l'aide de données OSM.
Ceux-ci sont généralement caractérisés comme ayant beaucoup de petits "trous" principalement en raison de données OSM manquantes mais aussi souvent avec de petites "îles" en raison de l'utilisation des transports comme les métros. J'ai essayé un certain nombre d'outils pour cela, mais tous sont trop agressifs pour réduire l'espace - plus important encore, pour supprimer les îles. L'accessibilité à ces îles de transport public est très importante.
Donc, plutôt que de me concentrer sur les outils, j'ai voulu prendre un peu de recul et demander si des algorithmes particuliers sont bien ou pas bien adaptés à une telle tâche? c'est-à-dire être agressif pour enlever les trous mais conservateur pour ne pas enlever les îles.
Les isochrones commencent leur vie au format GeoJSON. Ils seront finalement importés dans PostGIS.
Réponses:
Peut-être que la résolution commence à partir du début?
De quelle façon vous créez des isochrones?
J'utilise pg_routing et il retourne un ensemble d'arêtes accessibles dans le temps spécifié au lieu d'un polygone afin que je puisse dessiner un polygone à partir de ces données comme je le souhaite - je peux utiliser st_ConvexHull, st_ConcaveHull, st_Buffer ...
La première fonction est comme placer quelque chose dans un ballon en caoutchouc, la seconde est comme aspirer l'air de ce ballon, et cette fonction pourrait être que vous recherchez car elle renverra la géométrie représente une géométrie éventuellement concave qui enferme toutes les géométries dans l'ensemble et ont un paramètre empêchant les trous dans la géométrie retournée ...
Mais je ne sais toujours pas si c'est un bon moyen - vous obtiendrez une géométrie qui ne sera pas vraie, car vous ne pouvez pas sauter du train pendant qu'il roule. Peut-être que vous devez utiliser ST_ExteriorRing pour sortir les trous, puis st_simplify pour simplifier les géométries?
Veuillez ajouter un commentaire qui me guidera dans le bon sens si vous pensez que cette réponse pourrait être utile afin que je puisse la rééditer pour être correcte.
la source