Suite

Conseils de compression de fichiers de formes complexes

Conseils de compression de fichiers de formes complexes


Je recherche des conseils sur la façon de simplifier ce fichier de formes très détaillé pour finalement être utilisé pour le Web (comme topojson) en tant que carte thermique interactive. Il a été créé à l'origine à partir d'un fichier raster (geotiff - http://ecotope.org/antromes/v2/data/). Je pense qu'il faudra un peu plus de massage avant d'utiliser un algorithme Douglas-Peucker ou Visvalingam. je crois le meilleur moyen d'y parvenir serait de intelligemment fusionner les entités en fonction de la valeur attributaire que chacune contient. Je ne suis tout simplement pas sûr de la meilleure façon d'y parvenir. J'ai l'impression que "dissoudre" est ce dont j'ai besoin, mais QGIS se bloque à chaque fois que j'essaie.

Je travaille avec les utilitaires gdal en ligne de commande et QGIS.

J'ai joint quelques captures d'écran ci-dessous pour vous donner une meilleure idée de ce à quoi j'ai affaire.


Ce serait une énorme dissolution. Vous pouvez d'abord essayer de simplifier la version raster, puis de la convertir en vecteur et de procéder à une simplification supplémentaire. http://docs.qgis.org/2.6/en/docs/training_manual/rasters/terrain_analysis.html#moderate-fa-simplifying-the-raster

Quelques façons de simplifier les vecteurs via gdal : dans ogr2ogr, vous pouvez utiliser la commande -simplify # sur toutes les données et la commande -lco COORDINATE_PRECISION=# pour la conversion en geojson


Mettre à jour

Je voudrais juste développer un peu ma solution ici pour tous ceux qui pourraient avoir un problème similaire. @neuhausr était mort. J'ai réalisé que définir le seuil sur un nombre faible, disons 10 ou 50 n'était pas tout à fait suffisant, alors qu'un nombre plus élevé le compresserait trop tout en laissant certaines zones intactes. Curieusement, j'ai découvert que si vous le compressez avec le même seuil bas encore et encore, le résultat sera beaucoup plus cohérent. Fondamentalement, donner au fichier plusieurs passes. J'ai donc écrit un petit script bash pour m'aider et j'obtiens d'excellents résultats malgré le degré de piratage. Ajustez la COMPRESSION et le SEUIL à votre convenance.

#!/bin/bash # Quel raster compresser. ORG_FILE=./raw/antromes/1700/anthro2_a1700.tif # Où sortir le nouveau fichier. TMP_DIR=./tmp # Quantité totale de compression qui doit être effectuée. COMPRESSION=800 # Seuil pour chaque itération. THRESHOLD=50 # Processus… rm -rf $TMP_DIR mkdir -p $TMP_DIR gdal_sieve.py -st 50 -4 $ORG_FILE $TMP_DIR/output-"$THRESHOLD".tiff _CUR=$THRESHOLD while [ $_CUR -le $COMPRESSION ] ; do let _PREV=$_CUR let _CUR=$_CUR+$THRESHOLD echo "Compression de la sortie-$_PREV.tiff en $_CUR.tiff" gdal_sieve.py -st $THRESHOLD -4 "$TMP_DIR/output-$_PREV.tiff"  " $TMP_DIR/output-$_CUR.tiff" fait

Résultats ci-dessous :

Original (pas de compression) :

Tamis de base avec seuil 2100 :

Utilisation du script bash 21 passes du seuil 100 (2100) :


Voir la vidéo: TUTO:Les logiciels de compression des fichiers