รูปภาพขนาดยักษ์ 2.5 GB JP2: วิธีเรียงต่อกันอย่างไร


11

ฉันมีภาพขนาด 2.5 GB JP2 ของเมืองที่ฉันต้องแยกออกเป็นกระเบื้องซึ่งฉันจะประมวลผลเพื่อสร้างทิวทัศน์จำลองการบิน

Google อย่างที่ฉันอาจหาทางออกไม่ได้

เห็นได้ชัดว่า JP2 มีข้อมูล GIS XML ฝังอยู่ซึ่งไม่ส่งผลกระทบต่อฉันอย่างใดอย่างหนึ่งเนื่องจากฉันไม่ต้องการ ทั้งหมดที่ฉันพยายามทำคือแบ่งภาพให้เป็นจำนวน x มากกว่า 2048 x 2048 แผ่น

ยูทิลิตี้สำหรับการทำเช่นนี้ใน OSX หรือ Win7 นั้นยอดเยี่ยม

ไอเดีย?

ขอบคุณ!


คุณสนใจวิธีการ QGIS หรือ ArcGIS หรือไม่?
อาโรน

5
ลอง gdal2tiles.py
mdsumner

คำตอบ:


14

คุณสามารถเขียนเชลล์สคริปต์อย่างง่ายและใช้ยูทิลิตี gdal_translate เพื่อตัดส่วนต่อท้าย ใน Mac รับGDAL build จาก e ของเธอ บน Windows, วิธีที่ดีที่สุดที่จะได้รับ GDAL ผ่านทางโปรแกรมติดตั้ง OSGeo4W ในสคริปต์ต่อไปนี้คุณต้องแทนที่สิ่งต่าง ๆ ต่อไปนี้

  • XDIM และ YDIM พร้อมด้วยมิติ jp2 X และ Y ต้นทางของคุณ
  • gdal_translate ด้วยเส้นทางที่แท้จริงในระบบของคุณ
  • input.jp2 พร้อมพา ธ ไปยังไฟล์อินพุตของคุณ

บันทึกสคริปต์ในไฟล์ข้อความชื่อ script.sh เปิด Terminal และเรียกใช้ '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
อ่าไม่มีปัญหา ตัวค้นหาไม่ทราบเกี่ยวกับรูปแบบ JP2 ดังนั้นจึงไม่ช่วยได้ คุณต้องมีห้องสมุด GDAL เพื่ออ่าน JP2 หากคุณติดตั้ง GDAL จากลิงก์ในคำตอบของฉันคุณสามารถใช้คำสั่ง 'gdalinfo' เพื่อรับข้อมูลนั้น ในระบบของฉัน GDAL อยู่ที่ /Library/Frameworks/GDAL.framework/Versions/1.9/Programs/gdalinfo เรียกใช้ gdalinfo <path / to / your / jp2> แล้วมันจะรายงานขนาด ในทำนองเดียวกันเพิ่มเส้นทางแบบเต็มไปยัง gdal_translate ในสคริปต์เพื่อให้ทำงานได้
spatial Thoughts
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.