Hình ảnh JP2 khổng lồ 2,5 GB: Làm thế nào để xếp nó?


11

Tôi có một hình ảnh JP2 2,5 GB duy nhất của một thành phố mà tôi cần chia thành các ô, sau đó tôi sẽ xử lý để tạo cảnh quan mô phỏng chuyến bay.

Google như tôi có thể, tôi không thể tìm thấy giải pháp.

JP2 rõ ràng có nhúng dữ liệu XML XML, điều này không ảnh hưởng đến tôi, vì tôi không cần nó. Tất cả những gì tôi đang cố gắng làm là chia hình ảnh thành x-số gạch 2048 x 2048 tốt nhất.

Một tiện ích để làm điều này trong cả OSX hoặc Win7 sẽ rất tuyệt.

Ý tưởng?

Cảm ơn!


Bạn có quan tâm đến cách tiếp cận của QGIS hoặc ArcGIS không?
Aaron

5
hãy thử gdal2tiles.py
mdsumner

Câu trả lời:


14

Bạn có thể viết một tập lệnh shell đơn giản và sử dụng tiện ích gdal_translate để cắt các ô. Trên Mac, nhận bản dựng GDAL từ e. Trên Windows, cách tốt nhất để có GDAL là thông qua trình cài đặt OSGeo4W . Trong đoạn script sau, bạn cần thay thế những thứ sau

  • XDIM và YDIM với kích thước jp2 X và Y nguồn của bạn
  • gdal_translate với đường dẫn thực tế trên hệ thống của bạn
  • input.jp2 với đường dẫn đến tệp đầu vào của bạn.

Lưu tập lệnh trong tệp văn bản có tên là script.sh. Mở Terminal và chạy 'bash script.sh'. Điều đó sẽ tạo ra các ô trong một thư mục gọi là gạch /. Kịch bản được sao chép từ đây với một chút sửa đổi cho mục đích của bạn.

#!/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
À, không vấn đề gì. Finder sẽ không biết về định dạng JP2 vì vậy nó sẽ không giúp ích. Bạn cần thư viện GDAL để đọc JP2. Nếu bạn đã cài đặt GDAL từ liên kết trong câu trả lời của tôi, bạn có thể sử dụng lệnh 'gdalinfo' để lấy thông tin đó. Trên hệ thống của tôi, GDAL có tại / Thư viện / Bộ sưu tập chạy gdalinfo <path / to / your / jp2> và nó sẽ báo cáo kích thước. Tương tự thêm đường dẫn đầy đủ vào gdal_translate trong tập lệnh để nó hoạt động.
mặc dù không gian
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.