Converti in batch i file GeoTIFF in KMZ


11

Ho circa 600 file di mappe GeoTIFF, ciascuno di circa 140 mb di dimensioni che vorrei convertire in file KMZ in modo che le persone possano scaricarli e usarli con le unità GPS Garmin, Google Earth, ecc.

Qualcuno conosce un modo semplice per elaborare in batch questi, preferibilmente convertendo l'immagine tiff in un'immagine jpeg molto più piccola come parte del processo?

Mi sono imbattuto in gdal_translate che credo possa essere utile per ottimizzare le immagini in qualcosa di più piccolo usando l'opzione "-co COMPRESS = JPEG".


Sembra che G-Raster potrebbe lasciarmi fare il processo file per file.
Gavin,

Anche Global Mapper sembra capace, ma è un po 'costoso in quanto non trarrò profitto dalle persone che scaricano i file KMZ.
Gavin,

OkMap produce un buon output, ma manca ancora quella utile opzione di elaborazione batch.
Gavin,

1
se le immagini sono così grandi, non devi solo affiancarle in un massimo di 1 megapixel, ma non devi superare le 100 tessere all'interno dello stesso KMZ affinché i palmari Garmin possano accettarlo come mappa personalizzata. Deve anche essere in lat lat WGS84. Vedi il forum di Garmin per maggiori dettagli sul supporto Garmin KMZ.
Stefan

Alla fine ho completato il processo manualmente usando OkMap. Grazie per il contributo di tutti.
Gavin,

Risposte:


15

Le versioni recenti di gdal_translate supportano Kero Superoverlay. Sebbene non sia ancora documentato sul sito Web GDAL, è possibile utilizzare quanto segue:

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

Ciò salverà una versione affiancata in un file kmz usando la compressione jpeg.

Su Windows puoi automatizzare usando

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

Ciò presuppone che i file di input siano in WGS84.


1
Purtroppo ho appena scoperto che i KMZ prodotti non sono file KMZ compatibili con Garmin Custom Map.
Gavin,

Sai perché non compatibile?
Adam Mills,

La struttura di SuperOverlay è diversa. Ha un kmz con un sacco di kmz al suo interno. Il formato Garmin è un kmz con una cartella di jpg e un file doc.kml che descrive l'estensione del jpg. Non ho idea del perché ci siano strutture alternative, ma personalmente trovo il pulitore del formato Garmin ... Il che è strano perché odio la maggior parte delle strutture dati Garmin.
Mike,

@Gavin Hai mai trovato una soluzione? Sto incontrando quello che credo sia lo stesso problema, vedi questa domanda .
Gerrit,

@gerrit Siamo spiacenti, no. È sulla mia lista di cose da rivedere presto.
Gavin,

0

Se i file Geotiff hanno una dimensione di 140 mb ciascuno, i file jpg risultanti potrebbero comunque essere abbastanza grandi. Potrebbe essere interessante dividere i file in file più piccoli, in modo che possano essere visualizzati più facilmente. Puoi provare con un file usando http://www.maptiler.org/ che ha un'opzione per generare un supereroverlay KML. MapTiler potrebbe non essere appropriato per elaborare in batch tutti i file, ma è facile da usare, quindi è bene fare alcuni test preliminari.

Se funziona come desideri, puoi quindi provare a elaborare in batch tutti i file utilizzando GDAL2Tiles . Non l'ho provato, ma penso che dovrebbe essere possibile in quanto MapTiler si basa su GDAL2Tiles.


OkMap fa questo: prende GeoTIFF e poi lo divide in più immagini più piccole da usare nel file KMZ. gdal2tiles è uno strumento utile - non ho ancora capito come produrre il kmz da esso. Giocherà ancora.
Gavin,

OkMap è nuovo per me. Lo guarderà, sembra essere un programma interessante.
Nome

gdal2tiles è quasi arrivato ma OkMap produce risultati molto più eleganti. Le dimensioni delle piastrelle sono calcolate da OkMap per dividere l'immagine originale in modo efficiente, consentendo piastrelle rettangolari anziché quadrate evitando così aree extra trasparenti. Mi chiedo se posso in qualche modo automatizzare / riga di comando OkMap per elaborare in batch i miei file.
Gavin,

0

Non ho mai usato immagini in KML, anche se sembra che gdal2tiles.py possa essere d'aiuto. A seconda del sistema operativo è possibile eseguire la conversione batch in vari modi. In Windows con CMD usa il comando: percorso DIR > yourfile .txt (genera l'elenco dei tuoi file), importa .txt in Excel / OpenOffice, puliscilo e aggiungi la sintassi per GDAL. Salva come nomefile.bat ed eseguilo dalla riga di comando.


Sono familiare e uso regolarmente gdal2tiles, ma non sono sicuro di quali impostazioni dovrei usare per sputare kmz. Qualche idea?
Gavin,

1
Immagino sia solo un caso di zippare l'output e le immagini di kml, quindi rinominare il file zip nell'estensione kmz.
Gavin,

Questo è tutto. Se vuoi comprimere le tue immagini, dovresti dare un'occhiata al tipo di tipo di dati e magari cambiarlo in qualcosa di più efficiente della memoria.
Tomek,

gdal2tiles è quasi arrivato ma OkMap produce risultati molto più eleganti. Le dimensioni delle piastrelle sono calcolate da OkMap per dividere l'immagine originale in modo efficiente, consentendo piastrelle rettangolari anziché quadrate evitando così aree extra trasparenti. Mi chiedo se posso in qualche modo automatizzare / riga di comando OkMap per elaborare in batch i miei file.
Gavin,


0

Ho pubblicato uno script Python da utilizzare da ArcGIS qui:

Esportare ArcGIS Raster da 3 GB in KML senza perdere la risoluzione?

I diversi modelli supportano diversi numeri di tessere. Devi considerare questa limitazione, l'estensione delle immagini che desideri utilizzare e la risoluzione minima che desideri utilizzare. Quindi devi eventualmente creare più file dalle tue immagini originali, elaborare ogni sezione delle immagini con lo strumento di script e trasferire i file da un laptop al GPS quando ne hai bisogno (Garmin supporta solo 1 "Mappa personalizzata" alla volta) . Molti dei * modelli di mappe supportano solo 100 riquadri 1024x1024. Il Colorado e il Montana supportano di più. Ho provato a cambiare le dimensioni della piastrella in 2048 x 2048 e sembrava funzionare ancora e consentire un po 'più di dati alla volta.

Nel tuo caso, vorrei creare un mosaico di alcune immagini multi-Gig ed elaborare queste grandi aree di immagini e consentire agli utenti di inserirle in Google Earth e salvare i propri kmz da lì. La cosa delle mappe personalizzate è intenzionalmente molto limitante poiché Garmin preferisce supportare il loro formato jnx e venderti un abbonamento Birdseye .... O costringerti a hackerare i loro dispositivi.


0

OkMap Desktop (versione completa, a pagamento) ora include una funzione batch per la generazione di file KMZ compatibili con Garmin Custom Map, quindi ora sto usando questo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.