Viết tập tin thế giới khi xuất TIFF bằng ArcPy Mapping?


8

Theo tài liệu, các tùy chọn là: Cú pháp

Xuất khẩuTIFF

Tuy nhiên, điều này hoạt động:

import arcpy.mapping
mxd = arcpy.mapping.MapDocument("CURRENT")
arcpy.mapping.ListDataFrames(mxd)
arcpy.mapping.ExportToTIFF(mxd,r"D:\out2.tif","PAGE_LAYOUT",640,480,96)

nhưng điều này:

arcpy.mapping.ExportToTIFF(mxd,r"D:\out2.tif","PAGE_LAYOUT",640,480,96,True)

sản lượng: Runtime error <type 'exceptions.TypeError'>: PageLayoutObject: Error in executing ExportToTIFF

Tôi có làm gì sai với Boolean đó cho world_file không?

Câu trả lời:


11

Tôi tin rằng tùy chọn tệp Thế giới chỉ khả dụng nếu bạn xuất từ ​​khung dữ liệu, không phải bố cục trang.

Từ xuất bản đồ của bạn

Tùy chọn dành riêng cho TIFF

Định dạng tệp TIFF có khả năng bổ sung để lưu trữ thông tin hội nghị địa phương trong nội bộ. Đây là một GeoTIFF. Để tạo GeoTIFF, nhấp vào mũi tên thả xuống Lưu dưới dạng và nhấp vào TIFF, nhấp vào mũi tên Tùy chọn để mở rộng các tùy chọn, sau đó nhấp vào tab Định dạng và kiểm tra Viết Thẻ GeoTIFF. Tùy chọn này chỉ khả dụng khi bạn xuất trong khi đang xem dữ liệu .

Mặc dù thông tin này liên quan đến xuất từ ​​UI, logic tương tự có thể áp dụng cho ArcPy.

Tôi vừa thử nghiệm điều này và tùy chọn tệp thế giới hoạt động với khung dữ liệu, trong khi "PAGE_LAYOUT" gây ra lỗi. Điều này có ý nghĩa bởi vì bố cục trang nằm trong tọa độ trang tức là (0,0) đến (page_ thong, page_height) không phải là tọa độ trong thế giới thực.

Cảnh báo , công cụ này không hoạt động như bạn mong đợi. (Tôi đang sử dụng ArcGIS Desktop 10.0 SP1). Nếu kích thước hình ảnh được chỉ định không có cùng tỷ lệ khung hình với khung dữ liệu, phần không nhìn thấy của khung dữ liệu sẽ được xuất để lấp đầy hình ảnh. Tuy nhiên, tỷ lệ pixel x và y trong tệp thế giới dựa trên phạm vi của khung dữ liệu được hiển thị, không được mở rộng cho hình ảnh.

Nếu bạn sử dụng công cụ UI (Tệp-> Xuất bản đồ ...), bạn sẽ thấy rằng kích thước hình ảnh được đặt sẵn theo tỷ lệ khung hình của khung dữ liệu và bạn không thể thay đổi kích thước hình ảnh trừ khi thay đổi độ phân giải hình ảnh.

Một công việc xung quanh là lấy các phạm vi của khung dữ liệu và sau đó tính tỷ lệ khung hình ảnh cho phù hợp. Thích như vậy:

import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd)[0]
ar = df.extent.height / df.extent.width
arcpy.mapping.ExportToTIFF(mxd,r"C:\out.tif",df,1024,1024*ar,96,True)

chỉ chính xác từ Khung dữ liệu (tọa độ trong thế giới thực)
Mapperz

0

Tôi tin rằng những gì bạn đang tìm kiếm là: mxd.pageSize.height * (convert_factor * DPI)

Bạn có thể kết hợp convert_factor * DPI thành một hằng số hoặc tách chúng ra và chuyển đổi giữa bất kỳ đơn vị nào được chỉ định trong phần Kích thước trang bản đồ của cửa sổ Cài đặt trang và in.


0

Hãy để ExportToTIFF tạo một geotiff. Sau đó, sử dụng ExportRasterWorldFile_man quản lý (thuộc tính data_man Quản lý \ raster \ raster) để tạo tệp thế giới. Công cụ này có giá trị ở tất cả các cấp giấy phép.

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.