Sei in: Articoli: Cartografia e Open Data:

KML e KMZ: introduzione a questi sconosciuti

//www.dynamick.it/kml-e-kmz-introduzione-a-questi-sconosciuti-837.html



In 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:







Cari monti
]]>

14.8463833,37.1254722,0


-122.363
37.81
2000
500
45
0
relativeToGround





La prima riga è 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 ( ); 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:


[...] o ancora meglio [...] dove al posto di [...] si può trovare del testo semplice o ancora sottostrutture simili a quelle di sopra. Detto questo iniziamo:


[...] 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 [...] (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 e all’interno dei tag coniugati possiamo:


  • Definire un nome con l’apposito tag , usato al solito così NomeCheVoglio
  • Darne una descrizione (che apparirà nella finestrella quando cliccheremo) con il tag , 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 . In questo modo possiamo anche inserire immagini (come abbiamo fatto nel file di esempio iniziale.
  • Dare un punto con le coordinate, coi tag e, figlio di questo, , 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 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 , , penso non ci siano problemi in quanto sono autoesplicativi.
  • rappresenta la distanza dell’osservatore dal punto osservato
  • angolo fra la perpendicolare alla superficie e l’osservatore
  • rappresenta la direzione della bussola, partendo da nord
  • 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’.