巨大な2.5 GB JP2イメージ:タイル化する方法


11

タイルに分割する必要がある都市の2.5 GB JP2イメージが1つあり、それを処理してフライトシミュレーションシーナリーを作成します。

Googleかもしれませんが、解決策が見つかりません。

JP2にはGIS XMLデータが埋め込まれているようです。これは必要ないので、どちらにも影響しません。私がやろうとしているのは、画像をできれば2048 x 2048タイルのx番号に分解することです。

OSXまたはWin7でこれを行うユーティリティは素晴らしいでしょう。

アイデア?

ありがとう!


QGISまたはArcGISのアプローチに興味がありますか?
アーロン

5
gdal2tiles.pyを試してください
mdsumner

回答:


14

単純なシェルスクリプトを記述し、gdal_translateユーティリティを使用してタイルを切り刻むことができます。Macでは、彼女からGDALビルドを取得します。Windowsでは、GDALを取得する最良の方法はOSGeo4Wインストーラーを使用することです。次のスクリプトでは、次のものを置き換える必要があります

  • ソースjp2 XおよびY寸法のXDIMおよびYDIM
  • gdal_translateとシステム上の実際のパス
  • input.jp2と入力ファイルへのパス。

script.shというテキストファイルにスクリプトを保存します。ターミナルを開き、「bash script.sh」を実行します。これにより、tiles /というディレクトリにタイルが作成されます。スクリプトは、目的に合わせて少し変更してここからコピーされます。

#!/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 <path / to / your / jp2>を実行すると、寸法が報告されます。同様に、スクリプトでgdal_translateへのフルパスを追加して機能させます。
空間思考
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.