on Google Earth

KML e KMZ: introduzione a questi sconosciuti

tutorial kmzIn questo articolo parleremo del formato più popolare usato in Google Earth per segnalibri e quant’altro, il KMZ, e del suo fratello minore, il KML. Se apriamo un file KMZ ci rendiamo subito conto di quante informazioni esso riesca a contenere, a partire dai segnaposti (che si possono identificare con svariate icone) anche appositi layer, poligoni, percorsi e sovrapposizioni personalizzate. Ma non molti sanno che per creare un file siffatto non occorre necessariamente Google Earth, ma basta semplicemente un editor qualsiasi di testo; per capire il perché, descriviamo brevemente i due file:

KML : è un formato di file che deriva dall’ xml, il creatore di metalinguaggi per antonomasia; questo metalinguaggio è l’acronimo di  Keyhole Markup Language , appunto uno dei tanti metalinguaggi nati da xml per soddisfare le esigenze più svariate

KMZ : è un file binario che sembrerebbe ad un’ occhiata superficiale un formato proprietario come ne esistono tanti in giro, addirittura forse anche criptato; beh, niente di più sbagliato! In realtà esso è un semplice file KML, o anche numerosi file, insieme ad immagini, layer, icone, ecc. il tutto zippato con uno qualsiasi dei famosi zippatori (ne esistono sia per windows che per linux) e poi cambiato di nome da .zip a .kmz!

Soffermiamoci adesso sul KML, in questo tutorial impareremo i comandi più elementari (come mettere un segnaposto), anche perché per una referenza completa esiste già l’apposito sito. Se apriamo un kml con un semplice editor di testo vedremo una serie di comandi appositi, qualcosa simile, nella forma più semplice,  a questo listato:

 

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">

<Document>
     <Placemark>
          <name>Cari monti</name>
          <description><![CDATA[Buccheri è un piccolo paese di montagna e questa è una sua foto<img src="buccheri.jpg" width="200">]]></description>
         <Point>
              <coordinates>14.8463833,37.1254722,0 </coordinates>
         </Point>

         <LookAt>
              <longitude>-122.363</longitude>
              <latitude>37.81</latitude>
              <altitude>2000</altitude>
              <range>500</range>
              <tilt>45</tilt>
              <heading>0</heading>
              <altitudeMode>relativeToGround</altitudeMode>
         </LookAt>

    </Placemark>
</Document>

</kml>

La prima riga <?xml version="1.0" encoding="UTF-8"?> è molto comune non solo nel kml, ma in tutti i metalinguaggi derivati dal xml; essa serve ad istruire il parser (leggasi Google Earth) proprio del fatto che siamo in presenza di un metalinguaggio che deriva dall xml (<?xml ……. ?>); viene esplicitata anche la versione (nel caso ci siano cambiamenti tra una versione e l’altra), ed il tipo di codifica utilizzata (nel nostro caso o UTF-8 oppure ISO-8859-1).

Per i pochi che non conoscono l’HTML o altri metalinguaggi, solitamente essi condividono tutti la tipica struttura:

<tag1> […] </tag1> o ancora meglio <tag1 opzione1="valore1" opzione2="valore2" ……..> […] </tag> dove al posto di […] si può trovare del testo semplice o ancora sottostrutture simili a quelle di sopra. Detto questo iniziamo:

<kml xmlns="http://earth.google.com/kml/2.1"> […] </kml> indicano che tutto quello che sta fra loro due deve essere considerato come linee di codice kml. L’xmlns è invece un modo per precisare in che file (locale o remoto) si trovano le specifiche del linguaggio, il cosiddetto ‘namespace’, qualcosa di simile al DOCTYPE (anche se con talune differenze).

Il kml prevede inoltre altri tag di incapsulamento <Document> […] </Document> (occhio alle maiuscole e minuscole, sono sempre importanti in kml!).

kml kmz

Finalmente siamo arrivati al tag più semplice di tutti: i segnaposto; nella sua struttura base esso è definito con <Placemark> e all’interno dei tag coniugati possiamo:

  • Definire un nome con l’apposito tag <name>, usato al solito così <name> NomeCheVoglio</name>
  • Darne una descrizione (che apparirà nella finestrella quando cliccheremo) con il tag <description>, sempre come abbiamo fatto con name, però con una particolarità: se sappiamo scrivere in HTML possiamo inserire righe di codice all’interno usando questa struttura speciale <![CDATA[   […]    ]]> . In questo modo possiamo anche inserire immagini (come abbiamo fatto nel file di esempio iniziale.
  • Dare un punto con le coordinate, coi tag <Point> e, figlio di questo, <coordinates> , in cui le coordinate sono 3 separate da virgola: latitudine, longitudine ed elevazione.
  • Fare tanto altro con altrettanti sottotag che qui non trattiamo (esiste già il sito apposito per questo).

Infine abbiamo messo anche un tag <LookAt> che serve a definire da che angolazione si vuole guardare il mappamondo; essendo esso figlio di Placemark, si può avere un accoppiamento bizzarro di questi tag in cui un placemark è in una certa zona, e la vista ricade su un’altra zona completamente diversa. Vediamo le caratteristiche di questo tag e cosa esso può definire:

  • per quanto riguarda i tag <longitude>, <latitude>, <altitude> penso non ci siano problemi in quanto sono autoesplicativi.
  • <range> rappresenta la distanza dell’osservatore dal punto osservato
  • <tilt> angolo fra la perpendicolare alla superficie e l’osservatore
  • <heading> rappresenta la direzione della bussola, partendo da nord
  • <altitudeMode> può essere relativeToGround oppure absolute, in caso sia da considerarsi altitudine rispetto al livello del suolo o del mare

Abbiamo capito insomma che (anche se forse un po’ laborioso) è possibile editare i nostri file kml e creare quelli kmz con semplici programmi, avendo un controllo maggiore e più incisivo rispetto a quello donato dalle relativamente poche opzioni che Google Earth ci mette a disposizione. Nella reference, creata apposta per persone che già sanno più o meno quello che fanno,  vengono a galla tutte le potenzialità offerte da un editing ‘manuale’.

scrivi un commento

Commento

Ricevi un avviso se ci sono nuovi commenti. Oppure iscriviti senza commentare.

  1. I photo-waypoint sono salvati in kml o kmz, cioè mi spiego avendo effettuato dei viaggi e scattato foto come photo waipoint-mentre con lo stesso software registravo le tracce ora devo archiviare e mi piacerebbe conservare tutto in modo da aprire le foto direttamente navigando lungo la traccia.

  2. Ciao complimenti prima di tutto per la facilità di spiegazione. Ho trovato il tuo blog nel momento in cui mi sono imbattuto nel salvataggio in “le mie mappe” su google. Non sono un fulmine di guerra informatico, vorrei solo chiederti una cosa molto semplice: Se salvo un percorso nel mio account di google, scarico sul pc il file KML (opzione che google consente), come posso fare per aprirlo senza essere on line?
    Grazie mille ciao

  3. Grazie per il post dettagliato. davvero unico!
    Adesso ho un problema che non so come risolvere e sto cercando di venirne a capo.
    ho importato il file di esempio su una installazione druapl 6.x e funziona. ma quando ho cercato di creare un layer con questo file http://geohub.jrc.ec.europa.eu/effis/wms/kml?layers=EFFIS:HotspotsAll non viene fuori nulla. nel file si fa riferimento a un link esterno e non contiene dati. cosa si fa in questi casi?
    Grazie!!!!!

    • Dovresti aprire ed estrarre il file KMZ attraverso un programma di compressione. Il risultato dovrebbe essere un file KML che, aperto con un editor di testo, ti dovrebbe dare un file leggigile e modificabile. A questo punto potresti correggere il problema a mano.

  4. Perdonami, non so il motivo, ma non riesco a scrivere il percorso pagina.
    Spero che tu possa fare pulizia.

    Il percorso, avrai capito, è questo:

    img src = ” buccheri . jpg ”

    Ciao!

  5. Ciao,

    arrivo un po’ tardi, spero che tu possa leggere questo commento. Ben spiegata la procedura per creare un file kml 😉

    Volevo sapere se esiste un tag o qualcosa del genere per rendere pubblica o privata il segnaposto creato.

    Inoltre, in description ho visto che si può inserire un’immagine

    <![CDATA[Buccheri è un piccolo paese di montagna e questa è una sua foto]]>

    ma non ho capito dove va caricata.

    Ciao.

Webmention

  • News On Net - Novità dal web luglio 24, 2007

    Dinamick.it