Гігантське зображення в форматі JP2 розміром 2,5 Гб: як це зробити?


11

У мене є одне зображення в форматі JP2 міста розміром 2,5 ГБ, яке мені потрібно розділити на плитки, які я потім обробляю, щоб створити декорацію моделювання польоту.

Google, як я міг, не можу знайти рішення.

JP2, мабуть, має вбудовані дані GIS XML, що ніяк не впливає на мене, оскільки мені це не потрібно. Все, що я намагаюся зробити, - це розбити зображення на х-кількість, бажано, 2048 х 2048 плиток.

Утиліта для цього в OSX або Win7 була б чудовою.

Ідеї?

Дякую!


Вас цікавить підхід QGIS або ArcGIS?
Аарон

5
спробуйте gdal2tiles.py
mdsumner

Відповіді:


14

Ви можете написати простий скрипт оболонки і використовувати утиліту gdal_translate для подрібнення плиток. На Mac отримайте збірку GDAL від її е. У Windows найкращий спосіб отримати GDAL через інсталятор OSGeo4W . У наступному сценарії вам потрібно замінити наступні речі

  • XDIM та YDIM з розмірами джерела jp2 X та Y
  • gdal_translate з фактичним шляхом у вашій системі
  • input.jp2 з шляхом до вхідного файлу.

Збережіть скрипт у текстовому файлі, який називається script.sh. Відкрийте термінал і запустіть 'bash script.sh'. Це створить плитки в каталозі, який називається tile /. Сценарій копіюється звідси з невеликою модифікацією для вашої мети.

#!/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
Ах, жодних проблем. Finder не знає про формат JP2, тому це не допоможе. Для читання файлів JP2 вам потрібна бібліотека GDAL. Якщо ви встановили GDAL за посиланням у моїй відповіді, ви можете скористатися командою 'gdalinfo', щоб отримати цю інформацію. У моїй системі GDAL знаходиться за адресою /Library/Frameworks/GDAL.framework/Versions/1.9/Programs/gdalinfo. запустіть gdalinfo <шлях / до / ваш / jp2>, і він повідомить про параметри. Аналогічно додайте повний шлях до gdal_translate в сценарій, щоб він працював.
spatialthoughts
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.