Batch chuyển đổi tập tin GeoTIFF thành tập tin KMZ


11

Tôi có khoảng 600 tệp bản đồ GeoTIFF, mỗi tệp có kích thước khoảng 140 mb mà tôi muốn chuyển đổi thành các tệp KMZ để mọi người có thể tải xuống và sử dụng chúng với các đơn vị GPS của Garmin, Google Earth, v.v.

Bất cứ ai cũng biết một cách dễ dàng để xử lý hàng loạt những thứ này, tốt nhất là chuyển đổi hình ảnh tiff thành hình ảnh jpeg nhỏ hơn nhiều như một phần của quy trình?

Tôi đã tình cờ phát hiện ra gdal_translate mà tôi đoán có thể hữu ích khi tối ưu hóa hình ảnh thành một cái gì đó nhỏ hơn bằng cách sử dụng tùy chọn "-co COMPRESS = JPEG".


Có vẻ như G-Raster có thể cho phép tôi thực hiện quy trình theo từng tệp.
Gavin

Global Mapper trông cũng có khả năng, nhưng hơi tốn kém vì tôi sẽ không thu được lợi nhuận từ những người tải xuống các tệp KMZ.
Gavin

OkMap tạo ra đầu ra tốt, nhưng một lần nữa thiếu tùy chọn xử lý hàng loạt hữu ích đó.
Gavin

1
nếu hình ảnh quá lớn, bạn không chỉ xếp chúng tối đa 1 megapixel, bạn cũng không được vượt quá 100 ô trong cùng một KMZ để thiết bị cầm tay của Garmin chấp nhận nó dưới dạng bản đồ tùy chỉnh. Nó cũng phải ở trong WGS84 lat dài. Xem diễn đàn garmin để biết thêm chi tiết về hỗ trợ của Garmin KMZ.
Stefan

Cuối cùng, tôi đã hoàn thành quá trình thủ công bằng cách sử dụng OkMap. Cảm ơn cho đầu vào của mọi người.
Gavin

Câu trả lời:


15

Các phiên bản gần đây của gdal_translate có hỗ trợ cho KML Superoverlay. Mặc dù nó chưa được ghi lại trên trang web GDAL, những điều sau đây có thể được sử dụng:

gdal_translate.exe -of KMLSUPEROVERLAY c: \ in.tif c: \ out.kmz -co FORMAT = JPEG

Điều này sẽ lưu phiên bản được lát gạch trong tệp kmz bằng cách sử dụng nén jpeg.

Trên cửa sổ, bạn có thể tự động hóa bằng cách sử dụng

forfiles / m * .tif / c "cmd / c gdal_translate.exe -of KMLSUPEROVERLAY @FILE @ FNAME.kmz -co FORMAT = JPEG"

Điều này giả định rằng các tệp đầu vào nằm trong WGS84.


1
Thật không may, tôi vừa phát hiện ra rằng các tệp KMZ tương thích với Bản đồ tùy chỉnh của Garmin.
Gavin

Bạn có biết tại sao không tương thích?
Adam Mills

Cấu trúc của SuperOverlay là khác nhau. Nó có một kmz với cả đống kmz bên trong nó. Định dạng của Garmin là một kmz với một thư mục của jpg và tệp doc.kml mô tả mức độ mở rộng của jpg. Không biết tại sao lại có các cấu trúc thay thế, nhưng cá nhân tôi thấy trình dọn dẹp định dạng của Garmin ... Thật kỳ lạ vì tôi ghét hầu hết các cấu trúc dữ liệu của Garmin.
Mike

@Gavin Bạn đã bao giờ tìm thấy một giải pháp? Tôi đang gặp phải những gì tôi tin là cùng một vấn đề, hãy xem câu hỏi này .
gerrit 20/03/2016

@gerrit Xin lỗi, không. Nó nằm trong danh sách những thứ cần xem lại sớm.
Gavin

0

Nếu các tệp Geotiff có kích thước 140 mb, thì các tệp jpg kết quả có thể vẫn còn khá lớn. Có thể rất thú vị khi chia các tệp thành các tệp nhỏ hơn để chúng có thể được hiển thị dễ dàng hơn. Bạn có thể thử với một tệp bằng cách sử dụng http://www.maptiler.org/ có tùy chọn để tạo Kover Superoverlay. MapTiler có thể không được sử dụng để xử lý hàng loạt tất cả các tệp, nhưng nó rất dễ sử dụng để thực hiện một số thử nghiệm sơ bộ.

Nếu nó hoạt động như bạn muốn, thì bạn có thể thử xử lý hàng loạt tất cả các tệp bằng GDAL2Tiles . Tôi chưa thử, nhưng tôi nghĩ điều đó là có thể vì MapTiler dựa trên GDAL2Tiles.


OkMap thực hiện điều này - lấy GeoTIFF và sau đó chia nó thành nhiều hình ảnh nhỏ hơn để sử dụng trong tệp KMZ. gdal2tiles là một công cụ tiện dụng - chưa tìm ra cách sản xuất kmz từ nó. Sẽ chơi thêm một số.
Gavin

OkMap là mới đối với tôi. Nó sẽ có một cái nhìn về nó, nó dường như là một chương trình thú vị.
Tên

gdal2tiles gần như ở đó nhưng OkMap tạo ra kết quả thanh lịch hơn nhiều. Kích thước ô được tính toán bởi OkMap để phân chia hình ảnh gốc một cách hiệu quả, cho phép gạch hình chữ nhật thay vì gạch hình vuông để tránh các khu vực trong suốt thêm. Tôi tự hỏi nếu tôi bằng cách nào đó có thể tự động hóa / dòng lệnh OkMap để xử lý hàng loạt các tệp của tôi.
Gavin

0

Tôi chưa bao giờ sử dụng hình ảnh trong KML, mặc dù có vẻ như gdal2tiles.py có thể giúp ích. Tùy thuộc vào hệ điều hành, bạn có thể thực hiện chuyển đổi hàng loạt theo nhiều cách khác nhau. Trong Windows với CMD, sử dụng lệnh: đường dẫn DIR > yourfile .txt (tạo danh sách các tệp của bạn), nhập .txt vào Excel / OpenOffice, làm sạch nó và thêm cú pháp của bạn cho GDAL. Lưu dưới dạng filename.bat và chạy nó từ dòng lệnh.


Tôi quen thuộc và thường xuyên sử dụng gdal2tiles nhưng tôi không chắc chắn nên sử dụng cài đặt nào để nhổ kmz. Có ý kiến ​​gì không?
Gavin

1
Tôi đoán đó chỉ là một trường hợp nén đầu ra kml và hình ảnh sau đó đổi tên tập tin zip thành phần mở rộng kmz.
Gavin

Đó là nó. Nếu bạn muốn nén hình ảnh của mình, bạn nên xem loại dữ liệu đó là gì và có thể thay đổi nó thành một bộ nhớ hiệu quả hơn.
Tomek

gdal2tiles gần như ở đó nhưng OkMap tạo ra kết quả thanh lịch hơn nhiều. Kích thước ô được tính toán bởi OkMap để phân chia hình ảnh gốc một cách hiệu quả, cho phép gạch hình chữ nhật thay vì gạch hình vuông để tránh các khu vực trong suốt thêm. Tôi tự hỏi nếu tôi bằng cách nào đó có thể tự động hóa / dòng lệnh OkMap để xử lý hàng loạt các tệp của tôi.
Gavin

0

Ngoài ra, còn có một plugin QGIS để tạo các tệp .kmz từ khung hình QGIS của bạn cho các thiết bị Garmin. Nó được gọi là GarminCustomMap


0

Tôi đã đăng một tập lệnh python để sử dụng từ ArcGIS tại đây:

Xuất khẩu 3GB ArcGIS Raster sang KML mà không mất độ phân giải?

Các mô hình khác nhau hỗ trợ số lượng gạch khác nhau. Bạn phải xem xét giới hạn này, mức độ hình ảnh bạn muốn sử dụng và độ phân giải tối thiểu bạn muốn sử dụng. Sau đó, bạn cần có thể tạo nhiều tệp từ hình ảnh gốc của mình, xử lý từng phần hình ảnh bằng công cụ tập lệnh và chuyển các tệp từ máy tính xách tay sang GPS khi bạn cần chúng (mỗi lần Garmin chỉ hỗ trợ 1 "Bản đồ tùy chỉnh") . Nhiều mô hình bản đồ * chỉ hỗ trợ 100 gạch 1024x1024. Colorado và Montana hỗ trợ nhiều hơn. Tôi đã thử nghiệm thay đổi kích thước gạch thành 2048 x 2048 và dường như nó vẫn hoạt động và cho phép thêm một chút dữ liệu tại một thời điểm.

Trong trường hợp của bạn, tôi sẽ khảm vào một vài hình ảnh đa Gig và xử lý các hình ảnh của khu vực lớn này và cho phép người dùng đặt chúng trong google earth và lưu kmz của riêng họ từ đó. Điều tùy chỉnh trên Bản đồ tùy chỉnh rất hạn chế vì Garmin muốn hỗ trợ định dạng jnx của họ và bán cho bạn đăng ký Birdseye .... Hoặc buộc bạn hack thiết bị của họ.


0

Máy tính để bàn OkMap (đầy đủ, trả phí cho phiên bản) hiện bao gồm chức năng bó để tạo các tệp KMZ tương thích với Bản đồ tùy chỉnh của Garmin, vì vậy tôi hiện đang sử dụng tính năng này.

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.