자이언트 2.5GB JP2 이미지 : 타일링 방법?


11

타일로 분할 해야하는 도시의 단일 2.5GB JP2 이미지가 있으며 비행 시뮬레이션 풍경을 만들기 위해 처리합니다.

Google은 해결책을 찾을 수 없습니다.

JP2에는 분명히 GIS XML 데이터가 내장되어 있으므로 필요하지 않기 때문에 어느 쪽에도 영향을 미치지 않습니다. 내가하려고하는 것은 이미지를 바람직하게는 2048 x 2048 타일의 x 숫자로 나누는 것입니다.

OSX 또는 Win7에서이 작업을 수행하는 유틸리티가 좋습니다.

아이디어?

감사!


QGIS 또는 ArcGIS 접근 방식에 관심이 있습니까?
Aaron

5
시도 gdal2tiles.py
mdsumner

답변:


14

간단한 쉘 스크립트를 작성하고 gdal_translate 유틸리티를 사용하여 타일을자를 수 있습니다. Mac에서는 e 에서 GDAL 빌드를 가져옵니다 . Windows에서 GDAL을 얻는 가장 좋은 방법은 OSGeo4W 설치 프로그램을 사용하는 것 입니다. 다음 스크립트에서 다음 사항을 교체해야합니다.

  • 소스 jp2 X 및 Y 치수가있는 XDIM 및 YDIM
  • gdal_translate 시스템의 실제 경로
  • 입력 파일의 경로가있는 input.jp2

script.sh라는 텍스트 파일에 스크립트를 저장하십시오. 터미널을 열고 'bash script.sh'를 실행하십시오. 타일 ​​/ 디렉토리에 타일을 만듭니다. 스크립트는 여기 에서 약간 수정하여 여기에 복사됩니다 .

#!/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.