Пакетное преобразование файлов GeoTIFF в файлы KMZ

11

У меня есть около 600 файлов карт GeoTIFF, каждый размером около 140 МБ, которые я хотел бы преобразовать в файлы KMZ, чтобы люди могли загружать их и использовать их с GPS-устройствами Garmin, Google Планета Земля и т. Д.

Кто-нибудь знает простой способ их пакетной обработки, предпочтительно преобразовать изображение в формате TIFF в гораздо меньшее изображение в формате JPEG, как часть процесса?

Я наткнулся на gdal_translate, который, я думаю, может быть полезен для оптимизации изображений в нечто меньшее, используя опцию "-co COMPRESS = JPEG".

Gavin
источник
Похоже, G-Raster может позволить мне делать процесс файл за файлом.
Гэвин
Global Mapper тоже выглядит способно, но немного дороже, так как я не собираюсь получать прибыль от людей, загружающих файлы KMZ.
Гэвин
OkMap производит хороший вывод, но опять же не хватает этой полезной опции пакетной обработки.
Гэвин
1
если изображения такого размера, вы должны не только размещать их не более 1 мегапикселя, вы также не должны превышать 100 плиток в одном и том же KMZ, чтобы карманные компьютеры Garmin могли принимать их в качестве пользовательской карты. Он также должен быть в WGS84 lat long. См. Форум Garmin для получения более подробной информации о поддержке Garmin KMZ.
Стефан
В конце концов я завершил процесс вручную, используя OkMap. Спасибо за вклад каждого.
Гэвин

Ответы:

15

Последние версии gdal_translate имеют поддержку KML Superoverlay. Хотя это еще не задокументировано на веб-сайте GDAL, можно использовать следующее:

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

Это сохранит плиточную версию в файле kmz с использованием сжатия jpeg.

На окнах вы можете автоматизировать с помощью

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

Это предполагает, что входные файлы находятся в WGS84.

Мэтью Снейп
источник
1
К сожалению, я только что обнаружил, что созданные KMZ файлы не совместимы с файлами Garmin Custom Map.
Гэвин
Знаете почему не совместимо?
Адам Миллс
Структура SuperOverlay отличается. Это кмз с целой кучей кмз в нем. Формат Garmin - это kmz с папкой jpg и файлом doc.kml, который описывает экстенты jpg. Не знаю, почему существуют альтернативные структуры, но лично я нахожу очиститель формата Garmin ... Что странно, так как я ненавижу большинство структур данных Garmin.
Майк
@ Гавин Вы когда-нибудь находили решение? Я сталкиваюсь с тем, что считаю той же проблемой, см. Этот вопрос .
Gerrit
@gerrit Извините, нет. Это в моем списке вещей, чтобы посмотреть снова скоро.
Гэвин
0

Если размер каждого файла Geotiff составляет 140 МБ, результирующие файлы jpg могут быть все еще достаточно большими. Может быть интересно разбить файлы на более мелкие файлы, чтобы их было легче отображать. Вы можете попробовать использовать один файл, используя http://www.maptiler.org/, в котором есть опция для создания наложения KML. MapTiler может не подходить для пакетной обработки всех файлов, но он прост в использовании, поэтому полезно провести некоторые предварительные тесты.

Если он работает так, как вы хотите, вы можете попробовать пакетную обработку всех файлов, используя GDAL2Tiles . Я не пробовал, но думаю, что это возможно, так как MapTiler основан на GDAL2Tiles.

название
источник
OkMap делает это - берет GeoTIFF и затем разбивает его на несколько небольших изображений для использования в файле KMZ. gdal2tiles - удобный инструмент - просто еще не выяснили, как из него получить кмз. Будем играть еще.
Гэвин
OkMap является новым для меня. Это будет смотреть на это, это, кажется, интересная программа.
Имя
gdal2tiles почти на месте, но OkMap дает гораздо более элегантные результаты. OkMap рассчитывает размеры листов для эффективного разделения исходного изображения, позволяя использовать прямоугольные, а не квадратные плитки, избегая при этом лишних прозрачных областей. Интересно, могу ли я как-нибудь автоматизировать / командную строку OkMap для пакетной обработки моих файлов.
Гэвин
0

Я никогда не использовал изображения в KML, хотя похоже, что gdal2tiles.py может помочь. В зависимости от ОС вы можете выполнить пакетное преобразование различными способами. В Windows с CMD используйте команду: DIR path > yourfile .txt ( создайте список ваших файлов), импортируйте .txt в Excel / OpenOffice, очистите его и добавьте свой синтаксис для GDAL. Сохраните как filename.bat и запустите его из командной строки.

Томек
источник
Я знаком и регулярно использую gdal2tiles, но немного не уверен, какие настройки мне следует использовать, чтобы выплевывать kmz. Любые идеи?
Гэвин
1
Я предполагаю, что это всего лишь случай архивирования выходных данных kml и изображений, а затем переименование zip-файла в расширение kmz.
Гэвин
Вот и все. Если вы хотите сжать изображения, вам следует посмотреть, какой это тип данных, и, возможно, изменить его на более эффективный объем памяти.
Томек
gdal2tiles почти на месте, но OkMap дает гораздо более элегантные результаты. OkMap рассчитывает размеры листов для эффективного разделения исходного изображения, позволяя использовать прямоугольные, а не квадратные плитки, избегая при этом лишних прозрачных областей. Интересно, могу ли я как-нибудь автоматизировать / командную строку OkMap для пакетной обработки моих файлов.
Гэвин
0

Также есть плагин QGIS для создания файлов .kmz из вашего холста QGIS для устройств Garmin. Это называется GarminCustomMap

Крис Карунос
источник
0

Я разместил скрипт на Python для использования из ArcGIS здесь:

Экспорт 3GB ArcGIS Raster в KML без потери разрешения?

Различные модели поддерживают разное количество плиток. Вы должны учитывать это ограничение, объем изображений, которые вы хотите использовать, и минимальное разрешение, которое вы хотите использовать. Затем вам, возможно, потребуется создать несколько файлов из исходных изображений, обработать каждый раздел изображений с помощью инструмента-скрипта и передавать файлы с ноутбука на GPS по мере необходимости (Garmin поддерживает только 1 «пользовательскую карту» за раз) , Многие из * моделей карт поддерживают только 100 плиток 1024x1024. Колорадо и Монтана поддерживают больше. Я экспериментировал с изменением размера тайла до 2048 x 2048, и это, похоже, все еще работает и позволяет одновременно получать намного больше данных.

В вашем случае я бы использовал мозаику для нескольких изображений с несколькими гигабайтами и обрабатывал эти большие области изображений, позволяя пользователям размещать их в Google Планета Земля и сохранять оттуда свои собственные кмз. Пользовательские карты намеренно очень ограничивают, поскольку Garmin скорее поддержит их формат jnx и продаст вам подписку Birdseye .... Или заставит вас взломать их устройства.

Майк
источник
0

OkMap Desktop (полная, платная за версию) теперь включает в себя пакетную функцию для создания файлов KMZ, совместимых с пользовательской картой Garmin, поэтому я сейчас использую это.

Gavin
источник