Ugrás a fő tartalomra

KML és használata

KML (Keyhole Markup Language)

A nyelvet a Keyhole Inc. fejlesztette a Google Earth alkalmazáshoz.
2008. áprilisában az OGC a KML-t nyílt szabványként fogadta el.

Hol találkozhatunk vele?

https://www.google.hu/maps/preview?hl=hu
https://maps.yahoo.com/
http://www.bing.com/maps/

Mire jó?

- Földrajzi jellemzők (pontok, vonalak, 3D modellek, képek, formák, sokszögek és idomok)
leírására, tárolására és modellezésére szolgáló XML fájlformátum
(pl. Google Föld, a Google Térkép és egyéb) alkalmazásokban.
- Az kml file egy egyszerű, XML tagokkal lwier szöveges állomány, mely egyszerű szövegszerkesztővel
megnyitható, szerkeszthető menthető.
- Az így (kml-ben) leírt információkat meg oszthatja más (pl. WEB) alkalmazásoknak a több felhasználóval.
- Egy KML fájlt a Google Föld hasonlóan dolgoz fel ahhoz, ahogy a
webböngészők feldolgozzák a HTML és XML fájlokat. HTML-hez hasonlóan
a KML is névvel és attribútumokkal rendelkező jelölőket alkalmaz a
meghatározott megjelenítési céljaira. Ily módon a Google Föld a KML fájlok
böngészőjeként viselkedik.

A kml használható:

- helyhez tartozó ikonok, címkék meghatározására,
- a földfelszínhez tartozó képek csatolására,
- helyhez tartozó kamera nézetek definiálására,
- helyszín, orientáció és textúra meghatározására akár 3D objektumokhoz
- Létezik még a KMZ fájl tipus, mely a KML fájlnak a tömörített változata.

XML (Extensible Markup Language)     // Mint a kml hordozó nyelve

Fő jellemzői

  • Az XML egy kicsit olyan, mint a HTML
  • Olyan szöveg, de nem közvetlen emberi olvasgatásra való
  • Az XML technológiák egy egész családja
  • A célja az adatok strukturálása
  • Az XML bőbeszédű, terjengős mert ilyennek tervezték, jelentős modularitás jellemzi
  • Használata licenszmentes, platform-független és sokak által támogatott


A kml szintaszisa:

Megjegyzés sor: <!-- tetszőleges szöveg - ->
<Placemark> elem <description> elem támogatja a HTML jelölők egy részét a használatnál a CDATA elfedéssel kell élnünk az XML-en belül

Kml nyelvi szabályok:


  • Kis és nagybetűk megkülönböztetése
  • Sorrendiség, az információ leírási sorrend fontos
  • Sorrendiség a szülő és gyerek elemek kötött, de egyes elem akár elhagyható
  • A gyerek elem csak engedélyezett szülőhöz tartozhat

klm tag elemek:

Pont : Egy koordinátapárt jelöl (a térképen) A jelölőre kattintva további hasznos információkat tekinthetünk meg.
Vonallánc : Egy útvonalat jelöl (a térképen)
Groundoverlay : Egy külső kép a térképen, amely egy területet a megadott képpel helyettesíti.
Screenoverlay : Ezzel logókat, képeket, más hasznos információkat helyezhetünk el a térképen.
Multigeometry : Összetett alakzat, amely az ezőzőkben felsorolt alakzatok egy tetszőleges kombinációját tartalmazhatja.
Poligon : Egy tetszőleges csúccsal rendelkező alakzatot lehet kijelölni.

Kml minta:

----1.
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>MIE Minta1 T-systems.hu</name>
<description>T-Systems.hu székház 
Budapest, Budafoki út 56, Magyarország
</description>
<Point>
<coordinates>47.4542899,19.0540735,0</coordinates>
</Point>
</Placemark>
</kml>
----2
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark>
<name>MIE Minta2 T-systems.hu</name>
<description>
<![CDATA[
<h1>T-Systems.hu székház</h1>
<p><font color="red">Budapest, <i>Magyarország</i><br/> 
<b>Budafoki út 56</b> 2014.</font></p>
]]>
</description>
<Point>
<coordinates>47.4542899,19.0540735</coordinates>
</Point>
</Placemark>
</Document>
</kml>

kml file html filebe ágyazása:

---1
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>MIE kml minta</title>
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function initialize() {
var budapest = new google.maps.LatLng(47.4542899,19.0540735);
var mapOptions = {
zoom: 11,
center: budapest
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var ctaLayer = new google.maps.KmlLayer({
url: 'http://mierdekel.hu/kml/mie.kml'
/// csak internetről elérhető web cím lehet
});
ctaLayer.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>


kml használata android programozásban:


<html>
<head><title>Mie KML teszt</title></head>
<body>
<a href="geo:0,0?q=file:///sdcard/mie.kml">mie.kml</a>
</body>
</html>
 Forrás(http://mierdekel.hu/klwp/2014/05/kml-es-hasznalata/)

Megjegyzések