Ad
Rôzne formáty súborov KML
Súbory KML sú uložené v XML formát a pôvodne vyvinutý pre mapovací softvér Keyhole. V roku 2004 Google kúpila spoločnosť Keyhole Inc., a preto súbory KML teraz vo veľkej miere využívajú služby súvisiace s mapovaním spoločnosti Google – Mapy Google a Google Zem.
Technické informácie o súboroch KML
Súbory KML obsahujú informácie, ktoré sú uložené vo formáte XML. Tieto informácie zahŕňajú obrázky aj jednoduchšie údaje, ako sú čiary, polygóny a body. Takéto súbory sa používajú na ukladanie informácií o konkrétnom mieste na mape. Súbor KML umožňuje používateľovi nielen označiť miesto na mape, ale aj pridať obsah (vo formáte HTML), textúru a pohľad z rôznych uhlov. Na otvorenie súborov KML v Mapách Google je potrebný iba skutočný súbor KML hostený na webe. Otvorí sa pomocou samostatného odkazu na rozšírenie vo vyhľadávacom paneli Máp Google.
Ďalšie informácie o formáte KML
Rozšírenie súboru | .kml |
Kategória súboru | |
Vzorový súbor | (2,05 kB) |
Súvisiace programy | Blender (Windows, Mac a Linux) Blue Marble Geographics Global Mapper (Windows) ESRI ArcGIS for Desktop (Windows) Google Earth (Windows, Mac a Linux) Mapy Google (web) Merkaartor (Windows, Mac a Linux) Keyhole PRO (Windows a Mac) |
KML je formát súboru používaný na zobrazenie geografických údajov v prehliadači Earth, ako je napríklad Google Earth. KML používa štruktúru založenú na značkách s vnorenými prvkami a atribútmi a je založený na štandarde XML. Všetky značky rozlišujú veľké a malé písmená a musia sa zobrazovať presne tak, ako sú uvedené v Referenčnom dokumente KML . Odkaz označuje, ktoré značky sú voliteľné. V rámci daného prvku sa značky musia objaviť v poradí uvedenom v referencii. Ak ste novým používateľom KML, preskúmajte tento dokument a sprievodné vzorové súbory ( SamplesInEarth), aby ste sa mohli oboznámiť so základnou štruktúrou súboru KML a najbežnejšie používanými značkami. Prvá časť popisuje funkcie, ktoré je možné vytvoriť pomocou používateľského rozhrania aplikácie Google Earth. Tieto funkcie zahŕňajú značky miest, popisy, prekrytia zeme, cesty a mnohouholníky. Druhá časť popisuje funkcie, ktoré vyžadujú tvorbu KML pomocou textového editora. Keď je textový súbor uložený s a .kml alebo .kmz rozšírenie, prehliadače Earth vedia, ako ho zobraziť. |
tip: Ak chcete zobraziť „kód“ KML pre objekt v aplikácii Google Earth, môžete jednoducho kliknúť pravým tlačidlom myši na objekt v zobrazovači 3D aplikácie Google Earth a vyberte kopírovať. Potom prilepte obsah schránky do ľubovoľného textového editora. Vizuálny prvok zobrazený v aplikácii Google Earth sa skonvertuje do jeho textového ekvivalentu KML. S touto funkciou určite experimentujte.
Diskusiu o tom, ako používať niektoré kľúčové funkcie v KML, nájdete v príručke pre vývojárov .
Obsah
Základné dokumenty KML
Najjednoduchším druhom dokumentov KML sú tie, ktoré môžu byť vytvorené priamo v aplikácii Google Earth – to znamená, že nemusíte upravovať ani vytvárať žiadne KML v textovom editore. Značky miest, prekryvné vrstvy terénu, cesty a mnohouholníky môžu byť vytvorené priamo v aplikácii Google Earth.
Značky miest
Značka miesta je jednou z najčastejšie používaných funkcií v aplikácii Google Earth. Označuje polohu na povrchu Zeme pomocou žltého pripináčika ako ikony. Najjednoduchšia značka miesta obsahuje iba
Ako príklad povoľte priečinok "Absolútne umiestnenie: Vľavo hore" v súbore vzoriek KML a v ľavom hornom rohu okna zobrazenia sa zobrazí prekrytie obrazovky. Toto bolo vytvorené pomocou nasledujúceho kódu KML:
Polohovanie je riadené mapovaním bodu na obrázku špecifikovaného pomocou
Pozrite si ďalšie príklady v priečinku, aby ste videli, ako je možné získať iné pevné polohy a vytvárať obrázky, ktoré sa dynamicky zväčšujú podľa veľkosti obrazovky. (Poznač si to xunits a Jednotky môžu byť tiež špecifikované ako "pixely" pre presné ovládanie.) Ďalšie podrobnosti nájdete v referenčnej príručke KML 2.2 .
Sieťové odkazy
Sieťové prepojenie obsahuje a prvok s an
The
- Súbor s obrázkom používaný ikonami v štýloch ikon, povrchových prekrytiach a prekrytiach obrazovky
- Modelový súbor používaný v
prvok - Súbor KML alebo KMZ načítaný sieťovým odkazom
Zadaný súbor môže byť buď lokálny súbor alebo súbor na vzdialenom serveri. Vo svojej najjednoduchšej forme sú sieťové prepojenia užitočným spôsobom, ako rozdeliť jeden veľký súbor KML na menšie, lepšie spravovateľné súbory v rovnakom počítači.
Všetky naše príklady doteraz vyžadovali doručenie kódu KML do aplikácie Google Earth z miestneho počítača. Sieťové prepojenia vám umožňujú poskytovať obsah zo vzdialeného miesta a bežne sa používajú na distribúciu údajov veľkému počtu používateľov. Týmto spôsobom, ak je potrebné údaje zmeniť, musia sa zmeniť iba na zdrojovom mieste a všetci používatelia dostanú aktualizované údaje automaticky.
CGI skriptovanie pre KML
Okrem odkazovania na súbory obsahujúce statické údaje, sieťové prepojenie
Na doručenie KML prostredníctvom sieťového CGI sú potrebné dve veci:
Keď sa uskutoční volanie z klienta (Google Earth) na server, server musí (1) vrátiť kód odpovede HTTP 200 a (2) nastaviť typ obsahu odpovede na text/plain alebo application/vnd.google -earth.kml+xml.
Odpoveď musí byť platný KML. Pri zložitých aplikáciách je veľmi dôležité správne spracovanie chýb.
tip: Jednoduchým spôsobom, ako spracovať chyby, je analyzovať chybu servera ako text názvu priečinka. Môžete napríklad nechať server vrátiť
Nasledujúce príklady používajú Python, ale sú rovnako platné v akomkoľvek inom skriptovacom jazyku.
Generovanie náhodnej značky miesta
Nasledujúci skript Python generuje náhodné celočíselné hodnoty pre zemepisnej šírky a dĺžka a potom vloží tieto hodnoty do
#!/usr/bin/python import random latitude = random.randrange(-90, 90) longitude = random.randrange(-180, 180) kml = ("\n" "
Tu je príklad súboru KML, ktorý obsahuje sieťové prepojenie, ktoré načítava tento skript Python:
značka miesta pri každom hovore
Obnovovacie dotazy založené na zobrazení
Štandardné sieťové prepojenie je jednosmerné prepojenie: údaje prúdia iba zo servera do aplikácie Google Earth. Obnovenie založené na zobrazení umožňuje obojsmernú komunikáciu. Keď je aktívna obnova na základe zobrazenia, Google Earth vráti súradnice zobrazenia na server v určenom čase. Toto môže byť každý n sekundách, minútach alebo hodinách alebo po uplynutí určitého času od zastavenia pohybu zobrazenia. Pozri
Súradnice sú vrátené na server pomocou HTTP GET, ktorý pripojí súradnice nasledovne (toto je predvolená informácia o ohraničení):
GET /path/to/sever/script/query?BBOX= HTTP/1.1
Ak bola žiadosť zadaná, keď sa používateľ pozeral na San Francisco, súradnice by mohli vyzerať takto:
GET /path/to/server/script/query?BBOX=-122.497790,37.730385,-122.380087,37.812331 HTTP/1.1
Táto funkcia môže byť použitá pre niektoré veľmi kreatívne aplikácie, ale aby ste mohli začať, nižšie je uvedený jednoduchý príklad.
Sledovanie bodu priamo pod vaším pohľadom
Nasledujúci skript Python na strane servera analyzuje spätnú správu odoslanú aplikáciou Google Earth a odpovedá so značkou miesta v strede obrazovky. Pri každom obnovení sieťového prepojenia sa vygeneruje nová značka miesta.
#!/usr/bin/python import cgi url = cgi.FieldStorage() bbox = url["BBOX"].value bbox = bbox.split(",") west = float(bbox) south = float(bbox) east = float(bbox) sever = float(bbox) center_lng = ((východ - západ) / 2) + západ center_lat = ((sever - juh) / 2) + juh kml = ("\n" "
A tu je súbor KML pre sieťové prepojenie, ktorý načítava skript Python:
do stredu obrazovky a vrátiť značku miesta.
Princíp znázornený v tomto príklade možno použiť pre niektoré veľmi zložité aplikácie. Ak máte napríklad databázu geografických informácií, môžete extrahovať súradnice prehliadača, zavolať do databázy údaje špecifické pre zobrazenie a vrátiť ich do aplikácie Google Earth ako KML.
3 typy MIME KML
Pri odpovedi na požiadavku zo služby Google Earth (alebo ľubovoľného prehliadača Earth) musí server KML dodržiavať určitý súbor pravidiel, aby mohla aplikácia Google Earth správne interpretovať svoje odpovede.
Po úspechu musí server vrátiť kód odpovede HTTP 200 a nastaviť typ obsahu odpovede na vhodný typ MIME, ako je popísané tu.
Aplikácia Google Earth číta súbory KML a KMZ. Typ MIME pre súbory KML je
- application/vnd.google-earth.kml+xml
Typ MIME pre súbory KMZ je
- application/vnd.google-earth.kmz
Pre Apache pridajte tieto riadky do httpd.conf súbor:
- AddType application/vnd.google-earth.kml+xml .kml
- AddType application/vnd.google-earth.kmz .kmz
Podrobnosti o nastavení typov MIME na IIS spoločnosti Microsoft nájdete v dokumentácii spoločnosti Microsoft.
Telo odpovede musí obsahovať platné údaje KML vrátane deklarácie XML (). Ak server vráti neplatný súbor KML, sieťové prepojenie sa zastaví, deaktivuje a zobrazí chybové hlásenie.