Làm cách nào để tạo tập tin thế giới cho raster X?


8

Đưa ra một danh sách các raster tham chiếu địa lý, khoảng một trăm, phương pháp đơn giản nhất để tạo các tệp thế giới cho mỗi là gì?

Trong trường hợp này, các trình quét nguồn là trình duyệt địa lý với hội nghị địa lý nhúng hoặc .BIL có kèm theo .PRJ, nhưng giải pháp lý tưởng không nên quan tâm định dạng là gì. Tôi hy vọng sẽ tránh trùng lặp dữ liệu.

Tôi có sẵn Arcgis 10 (Arcinfo & Spatial Analyst), Tiện ích GDAL (gdal v1.8.0) và Quantum GIS 1.8.


việc tạo các tệp thế giới sẽ không phải lúc nào cũng đảm bảo rằng một phần mềm có thể / không đọc tệp thế giới cho hội nghị địa lý. Geotiff là những gì tôi đã có may mắn nhất trong các phần mềm khác nhau.
Brad Nesom

bạn đang cố đọc định dạng EHdr ?? gdal.org/frmt_various.html
falcacibar

1
phần mềm tôi đang chuẩn bị để không hiểu các tệp hội thảo nhúng hoặc các tệp .prj (proj4 hoặc wkt) bên ngoài. Nó chỉ nhìn vào .wld (hoặc .blw, .jpw, ... vv).
matt wilkie

Câu trả lời:


12

Nếu bạn đang sử dụng bản dựng QGIS gần đây, bạn có thể đã có quyền truy cập vào công cụ Trích xuất trích dẫn được đề cập ở đây .

Từ bài viết: "Điều này cho phép bạn làm là tìm ra trình chiếu của trình quét của bạn. Nó sẽ xuất tệp này sang tệp .WLD. Nó cũng cho phép bạn tạo các tệp .PRJ. Nếu bạn đã cài đặt Công cụ GDAL (và được kích hoạt ), bạn sẽ tìm thấy công cụ mới này trong Raster> Dự đoán> Trích xuất dự báo. "

Nó bao gồm một tùy chọn xử lý hàng loạt là tốt, đó là tuyệt vời cho mục đích của bạn.


Vì vậy, nếu tôi chờ đợi, tôi có thể tiết kiệm cho mình một vài giờ làm việc! nhưng tôi sẽ không học được gì, vì vậy tôi sẽ gọi nó ngay cả. ;-) Từ việc đọc nhật ký cam kết, ngoài tất cả các ưu điểm của giao diện người dùng, công cụ qgis này làm tốt hơn tôi là xử lý tên tệp unicode và ghi tệp .prj kiểu esri bên ngoài. Nó không làm theo quy ước đặt tên phần mở rộng sau đầu vào, ví dụ như đối với jpeg nó ghi .wld chứ không phải .jgw, điều này có thể hoặc không quan trọng với người khác. Chấp nhận đây là câu trả lời chính xác mặc dù tôi không sử dụng nó, vì đây là giải pháp hoàn chỉnh nhất.
matt wilkie

7

Được tạo ra bởi con trỏ Mike Toews cho GetGeoTransform , tôi đã quản lý để tạo một tập lệnh python gdal nhỏ để xây dựng các tệp thế giới cho bất kỳ raster tham chiếu địa lý được hỗ trợ (tôi nghĩ). Mã đầy đủ ở đây : gdal-makeworld.py. Các bit thiết yếu là:

geotransform = dataset.GetGeoTransform()

if geotransform is not None:
    x, x_size, x_rot, y, y_rot, y_size = geotransform
    # correct for centre vs corner of pixel
    x = x_size/2+x
    y = y_size/2+y
    world_file.write('%s\n' % x_size)
    world_file.write('%s\n' % x_rot)
    world_file.write('%s\n' % y_rot)
    world_file.write('%s\n' % y_size)
    world_file.write('%s\n' % x)
    world_file.write('%s\n' % y)
    world_file.close()

''' geotransform tuple key:
    [0] /* top left x */
    [1] /* w-e pixel resolution */
    [2] /* rotation, 0 if image is "north up" */
    [3] /* top left y */
    [4] /* rotation, 0 if image is "north up" */
    [5] /* n-s pixel resolution */
'''

Cảm ơn thêm đến Schuyler Erle vì đã viết gdalcopyproj.pymà tôi đã sử dụng như một điểm khởi đầu.

Mẹo mũ @AlisterH cho "chính xác cho trung tâm so với góc của pixel" , 2019-05-30

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.