Image JP2 géante de 2,5 Go: comment la carreler?


11

J'ai une seule image JP2 de 2,5 Go d'une ville que je dois diviser en tuiles, que je traiterai ensuite pour créer un décor de simulation de vol.

Google que je pourrais, je ne trouve pas la solution.

Le JP2 a apparemment des données XML SIG intégrées, ce qui ne m'affecte en aucun cas, car je n'en ai pas besoin. Tout ce que j'essaie de faire, c'est de décomposer l'image en nombre x de tuiles de préférence 2048 x 2048.

Un utilitaire pour le faire dans OSX ou Win7 serait formidable.

Des idées?

Merci!


Êtes-vous intéressé par une approche QGIS ou ArcGIS?
Aaron

5
essayez gdal2tiles.py
mdsumner

Réponses:


14

Vous pouvez écrire un script shell simple et utiliser l'utilitaire gdal_translate pour hacher les tuiles. Sur Mac, obtenez la version GDAL de son e. Sous Windows, le meilleur moyen d'obtenir GDAL est via le programme d'installation OSGeo4W . Dans le script suivant, vous devez remplacer les éléments suivants

  • XDIM et YDIM avec vos dimensions source jp2 X et Y
  • gdal_translate avec le chemin réel sur votre système
  • input.jp2 avec le chemin vers votre fichier d'entrée.

Enregistrez le script dans un fichier texte appelé script.sh. Ouvrez un terminal et exécutez «bash script.sh». Cela créera les tuiles dans un répertoire appelé tuiles /. Le script est copié d'ici avec une petite modification à votre intention.

#!/bin/bash
mkdir tiles

XDIM=24000
YDIM=24000
BLOCKSIZE=2048
XPOS=0
YPOS=0
BLOCKNO=0
while [ $YPOS -le $YDIM ]
do
while [ $XPOS -le $XDIM ]
  do
    echo "$XPOS $YPOS : ${BLOCKNO}.tif"
    gdal_translate -of GTiff -srcwin $XPOS $YPOS $BLOCKSIZE $BLOCKSIZE input.jp2 \
      tiles/${BLOCKNO}.tif
    BLOCKNO=`echo "$BLOCKNO + 1" | bc`
    XPOS=`echo "$XPOS + $BLOCKSIZE" | bc`
  done
YPOS=`echo "$YPOS + $BLOCKSIZE" | bc`
XPOS=0
done

2
Ah, pas de problème. Le Finder ne connaîtrait pas le format JP2, donc cela n'aidera pas. Vous avez besoin de la bibliothèque GDAL pour lire les JP2. Si vous avez installé GDAL à partir du lien dans ma réponse, vous pouvez utiliser la commande 'gdalinfo' pour obtenir ces informations. Sur mon système, GDAL est à /Library/Frameworks/GDAL.framework/Versions/1.9/Programs/gdalinfo. exécutez gdalinfo <chemin / vers / votre / jp2> et il rapportera les dimensions. De même, ajoutez le chemin complet de gdal_translate dans le script pour que cela fonctionne.
spatialoughtts
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.