Existe-t-il un outil qui me permet d'exécuter des millions de fichiers de formes de colis et de les simplifier?
Existe-t-il un outil qui me permet d'exécuter des millions de fichiers de formes de colis et de les simplifier?
Réponses:
Vous pouvez essayer Shapely - une API Python construite sur GEOS . Comme Shapely et GDAL ont des bibliothèques Python, vous pouvez facilement les combiner à des données provenant de nombreuses sources différentes (y compris des fichiers de formes), puis simplifier et exporter comme vous le souhaitez.
Le seul inconvénient peut être la vitesse si vous faites des millions de fonctionnalités - il pourrait être plus rapide d'utiliser directement GEOS ou JTS .
Voir la méthode simplify :
Tous les points de l'objet simplifié seront dans la distance de tolérance de la géométrie d'origine. Par défaut, un algorithme plus lent est utilisé qui préserve la topologie. Si la topologie de préservation est définie sur False, l'algorithme Douglas-Peucker est beaucoup plus rapide.
>>> p = Point(0.0, 0.0)
>>> x = p.buffer(1.0)
>>> x.area
3.1365484905459389
>>> s = x.simplify(0.05, preserve_topology=False)
>>> s.area
3.0614674589207187
La version 9.0 de GDAL / OGR a ajouté l'option -simplify à la commande ogr2ogr . La documentation indique qu'elle préserve la topologie.
-simplifier la tolérance: (à partir de GDAL 1.9.0) tolérance de distance pour simplification. Cette méthode préservera la topologie, en particulier pour les géométries de polygones.
Exemple d'utilisation:
ogr2ogr outfile.shp infile.shp -simplify 0.000001
Si vos données sont stockées dans PostGIS, essayez d'utiliser ST_SimplifyPreserveTopology .
ogr2ogr a une option "segmenter" qui semble faire ce dont vous avez besoin: GDAL ogr2ogr documentation
Depuis cette page:
-segmentize max_dist: (à partir de GDAL 1.6.0) distance maximale entre 2 nœuds. Utilisé pour créer des étendues de requête de points spatiaux intermédiaires
GRASS v.generalize
Inspirez-vous de Mapshaper, mais directement en local, regardez sur https://github.com/migurski/Bloch