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?

NetConstructor.com
la source
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
geographika
la source
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
Tyler Erickson
la source
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

Derek Swingley
la source
5

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

julien
la source
4

GRASS v.generalize

http://grass.osgeo.org/gdp/html_grass64/v.generalize.html

Giovanni Manghi
la source
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
3

Inspirez-vous de Mapshaper, mais directement en local, regardez sur https://github.com/migurski/Bloch

ThomasG77
la source
Merci pour votre réponse. Je suppose que le problème ici est de savoir quoi faire si aucune topologie n'est définie avec le fichier de formes
NetConstructor.com