Outil gratuit pour simplifier les fichiers de formes de colis?


16

Existe-t-il un outil qui me permet d'exécuter des millions de fichiers de formes de colis et de les simplifier?


1
qu'entendez-vous par simplifier, le bord?
artwork21

1
Je pense que je serais préoccupé par l'exécution de simplifier sur des polygones sans un certain type de topologie. Je ne pense même pas qu'esri gérera deux bords simultanément en simultané afin qu'ils restent cohérents. J'ai peut-être tort.
Brad Nesom

Réponses:


6

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

14

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


6

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


5

Vous pouvez essayer Mapshaper . Il existe peut-être des limitations en raison de la taille de votre fichier.


4

J'ai fait quelques tests et à partir d'aujourd'hui, toutes les méthodes suggérées ici et s'appuyant sur GEOS (ogr2ogr avec -simplify, shapely, la fonction ST_SimplifyPreserveTopology de PostGIS) produisent des anomalies topologiques (c.-à-d. Trous / chevauchements entre les polygones). Ce n'est qu'avec GRASS que j'ai eu de bons résultats.
capooti

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.