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!).
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’.