Batch przekonwertować GeoTIFF na pliki KMZ


11

Mam około 600 plików map GeoTIFF, każdy o wielkości około 140 mb, które chciałbym przekonwertować na pliki KMZ, aby ludzie mogli je pobrać i używać z urządzeniami GPS Garmin, Google Earth itp.

Czy ktoś zna łatwy sposób przetwarzania wsadowego, najlepiej przekształcając obraz tiff na znacznie mniejszy obraz JPEG w ramach tego procesu?

Natknąłem się na gdal_translate, które, jak sądzę, może być przydatne w optymalizacji obrazów do czegoś mniejszego przy użyciu opcji „-co COMPRESS = JPEG”.


Wygląda na to, że G-Raster może pozwolić mi wykonać proces plik po pliku.
Gavin

Global Mapper też wygląda na zdolny, ale jest trochę drogi, ponieważ nie zamierzam czerpać korzyści z ludzi pobierających pliki KMZ.
Gavin

OkMap zapewnia dobrą wydajność, ale ponownie brakuje tej przydatnej opcji przetwarzania wsadowego.
Gavin

1
jeśli obrazy są tak duże, musisz nie tylko ułożyć je w kafelki maksymalnie w 1 megapikselach, ale nie możesz też przekroczyć 100 kafelków w obrębie tego samego KMZ, aby urządzenia mobilne Garmin mogły zaakceptować je jako mapę niestandardową. Musi także mieć długość WGS84 lat. Zobacz forum Garmin, aby uzyskać więcej informacji na temat obsługi Garmin KMZ.
Stefan

Na koniec ukończyłem proces ręcznie za pomocą OkMap. Dzięki za wkład wszystkich.
Gavin,

Odpowiedzi:


15

Najnowsze wersje gdal_translate obsługują KML Superoverlay. Chociaż nie jest to jeszcze udokumentowane na stronie GDAL, można użyć następujących opcji:

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

Spowoduje to zapisanie wersji sąsiadująco w pliku kmz przy użyciu kompresji JPEG.

W systemie Windows można zautomatyzować za pomocą

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

Zakłada się, że pliki wejściowe są w WGS84.


1
Niestety właśnie odkryłem, że produkowane KMZ nie są plikami KMZ zgodnymi z mapą niestandardową Garmin.
Gavin,

Czy wiesz, dlaczego nie jest kompatybilny?
Adam Mills,

Struktura SuperOverlay jest inna. Ma kmz z całą masą kmz w nim. Format Garmin to kmz z folderem jpg i plikiem doc.kml, który opisuje zakres jpg. Nie mam pojęcia, dlaczego istnieją alternatywne struktury, ale osobiście uważam, że czyścicie format Garmin ... Co jest dziwne, ponieważ nienawidzę większości struktur danych Garmin.
Mike

@Gavin Czy kiedykolwiek znalazłeś rozwiązanie? Wpadam na to, co według mnie jest tym samym problemem, zobacz to pytanie .
gerrit

@gerrit Przepraszamy, nie. Na mojej liście rzeczy do zobaczenia wkrótce.
Gavin

0

Jeśli pliki Geotiff mają rozmiar 140 MB, powstałe pliki jpg mogą nadal być dość duże. Interesujące może być podzielenie plików na mniejsze pliki, aby można je było łatwiej wyświetlać. Możesz spróbować z jednym plikiem przy użyciu http://www.maptiler.org/, który ma opcję wygenerowania superplay KML. MapTiler może nie być przystosowany do przetwarzania wsadowego wszystkich plików, ale jest łatwy w użyciu, dlatego dobrze jest przeprowadzić wstępne testy.

Jeśli działa tak, jak chcesz, możesz spróbować przetworzyć wsadowo wszystkie pliki za pomocą GDAL2Tiles . Nie próbowałem tego, ale myślę, że powinno to być możliwe, ponieważ MapTiler jest oparty na GDAL2Tiles.


OkMap robi to - pobiera GeoTIFF, a następnie dzieli go na wiele mniejszych obrazów do wykorzystania w pliku KMZ. gdal2tiles to przydatne narzędzie - po prostu jeszcze nie wymyśliłem, jak z niego wytwarzać kmz. Zagra trochę więcej.
Gavin

OkMap jest dla mnie nowy. Będzie na to spojrzeć, wydaje się być interesującym programem.
Imię

gdal2tiles jest już blisko, ale OkMap daje znacznie bardziej eleganckie wyniki. Rozmiary kafelków są obliczane przez OkMap w celu skutecznego podziału oryginalnego obrazu, umożliwiając stosowanie prostokątnych kafelków zamiast kwadratowych, co pozwala uniknąć dodatkowych przezroczystych obszarów. Zastanawiam się, czy mogę w jakiś sposób zautomatyzować / OkMap z wiersza poleceń, aby wsadowo przetwarzać moje pliki.
Gavin

0

Nigdy nie używałem obrazów w KML, choć wygląda na to, że gdal2tiles.py może pomóc. W zależności od systemu operacyjnego konwersję wsadową można wykonać na wiele sposobów. W Windows z CMD użyj polecenia: ścieżka DIR > twój plik .txt (generuj listę swoich plików), zaimportuj .txt do Excela / OpenOffice, wyczyść go i dodaj swoją składnię dla GDAL. Zapisz jako plik.bat i uruchom go z wiersza poleceń.


Znam i regularnie używam gdal2tiles, ale nie jestem pewien, jakich ustawień powinienem użyć, aby wypluć kmz. Jakieś pomysły?
Gavin

1
Myślę, że to tylko przypadek skompresowania danych wyjściowych i obrazów kml, a następnie zmiany nazwy pliku zip na rozszerzenie kmz.
Gavin

Otóż ​​to. Jeśli chcesz skompresować swoje zdjęcia, powinieneś sprawdzić, jaki to typ danych i być może zmienić go na coś bardziej wydajnego pod względem pamięci.
Tomek

gdal2tiles jest już blisko, ale OkMap daje znacznie bardziej eleganckie wyniki. Rozmiary kafelków są obliczane przez OkMap w celu skutecznego podziału oryginalnego obrazu, umożliwiając stosowanie prostokątnych kafelków zamiast kwadratowych, co pozwala uniknąć dodatkowych przezroczystych obszarów. Zastanawiam się, czy mogę w jakiś sposób zautomatyzować / OkMap z wiersza poleceń, aby wsadowo przetwarzać moje pliki.
Gavin


0

Tutaj opublikowałem skrypt Pythona do użycia z ArcGIS:

Eksportujesz 3 GB ArcGIS Raster do KML bez utraty rozdzielczości?

Różne modele obsługują różną liczbę płytek. Musisz spojrzeć na to ograniczenie, zakres zdjęć, których chcesz użyć, i minimalną rozdzielczość, której chcesz użyć. Następnie należy utworzyć wiele plików z oryginalnych zdjęć, przetworzyć każdą sekcję zdjęć za pomocą narzędzia skryptowego i przesłać pliki z laptopa do GPS w razie potrzeby (Garmin obsługuje tylko 1 „mapę niestandardową” na raz) . Wiele * modeli map obsługuje tylko 100 kafelków 1024x1024. Colorado i Montana obsługują więcej. Eksperymentowałem ze zmianą rozmiaru kafelka na 2048 x 2048 i wydawało się, że nadal działa i pozwala na uzyskanie nieco więcej danych na raz.

W twoim przypadku poskładałbym mozaikę na kilka zdjęć z wieloma gigami i przetworzyłem te duże obszary zdjęć i pozwoliłem użytkownikom podzbijać je w Google Earth i oszczędzać stamtąd własnych kmz. Mapy niestandardowe są celowo bardzo ograniczające, ponieważ Garmin wolałby obsługiwać ich format jnx i sprzedawać subskrypcję Birdseye ... Lub zmusić cię do zhakowania ich urządzeń.


0

OkMap Desktop (pełny, płatny za wersję) zawiera teraz funkcję wsadową do generowania plików KMZ zgodnych z Garmin Custom Map, więc teraz go używam.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.