Rozšíření kml. Přípona souboru KML Geografická informační platforma ArcGIS Server
KML (Keyhole Markup Language) je formát souboru používaný k zobrazení geografických dat v aplikacích Google Earth, Google Maps a Google Maps pro mobilní aplikace.
KML používá strukturu založenou na značkách s vnořenými prvky a atributy a vychází ze standardu XML.
K vytváření souborů KML můžete použít Google Earth, editor XML nebo jednoduchý textový editor.
Soubory KML a související obrázky (jsou -li k dispozici) lze komprimovat pomocí formátu ZIP do archivů KMZ.
Se soubory KML můžete:
- nastavit různé ikony a dělat podpisy k označení míst na povrchu Země,
- vytvářet různé úhly pro vybrané objekty změnou polohy kamery,
- používat různé překryvné obrázky,
- definovat styly pro přizpůsobení zobrazení objektu, použít HTML kód k vytváření hypertextových odkazů a vložených obrázků,
- používat složky k hierarchickému seskupování položek,
- dynamicky přijímat a aktualizovat soubory KML ze vzdálených nebo místních hostitelů,
- přijímat data KML podle změn v 3D prohlížeči,
- zobrazit texturované 3D objekty COLLADA
V souborech KML lze jako objekty použít následující objekty:
Placemarks (Placemark object) - nejjednodušší prvek, definuje značku místa - označení polohy na zemském povrchu pomocí ikony ve formě žlutého tlačítka.
Cesty - čáry určité tloušťky a barvy
Polygony - definuje barvu čar a barvu podpisu.
Obrázky - Překryvné obrázky zemského povrchu vám umožňují překrýt obrázek na zemskou krajinu, může být pohyblivý a škálovatelný nebo nepohyblivý, například logo.
Trojrozměrný model-umožňuje propojit popis trojrozměrných objektů (například budov a staveb). Trojrozměrný model lze nastavit dvěma způsoby: nastavením výšky plochých figur (tahem) a propojením s plnohodnotným modelem ve formátu COLLADA (Google SketchUp).
Nejjednodušší příklad souboru KML.
Popíšu strukturu tohoto souboru.
První řádek je hlavička XML. Toto je první řádek v každém souboru KML. Před tímto řádkem nesmí být mezery ani znaky.
Druhý řádek slouží k deklaraci oboru názvů KML. Toto je 2. řádek v každém souboru KML 2.1.
Značka místa obsahující následující prvky:
- jméno, zkratka používaná k označení štítku
- description, popis, který se zobrazí v poli pro komentáře připojeném ke značce
- Bod, označuje polohu značky na zemském povrchu (zeměpisná délka, šířka a volitelně výška).
Tento soubor můžete načíst do programu Google Earth volbou Soubor - Otevřít z nabídky.
Lze jej také stáhnout pomocí rozhraní Google Maps API.
Příklad kódu:
type=»text/javascript»>
Pokud jej načteme do prohlížeče, uvidíme
Soubor KML můžete také zobrazit v Mapách Google.
Předtím je nutné, aby váš soubor KML byl umístěn na webovou stránku na internetu.
Od začátku musíte jít na http://maps.google.ru/
Poté do vyhledávacího pole zadejte adresu svého souboru KML na internetu, například http: //site/examples/kml/prim_kml_1.kml a klikněte na tlačítko „Hledat na mapě“.
Váš soubor KML se zobrazí na mapě Google.
Pokračování příště…
Oznámení
Formát souboru KML Misc
Soubory KML jsou uloženy ve formátu XML a byly původně vyvinuty pro mapovací program Keyhole. V roce 2004 Google koupil společnost Keyhole Inc., a proto jsou soubory KML nyní hojně využívány mapovacími službami Google Maps Google a Google Earth.
Technické detaily souborů KML
Soubory KML obsahují informace uložené ve formátu XML. Tyto informace zahrnují obrázky i jednodušší data, jako jsou čáry, polygony a body. Tyto soubory slouží k ukládání informací o konkrétním místě na mapě. Soubor KML umožňuje uživateli nejen označit místo na mapě, ale také přidat obsah (ve formátu HTML), texturu a pohled z různých úhlů. K otevření souborů KML v Mapách Google stačí samotný soubor KML hostovaný na webu. Otevře se samostatný odkaz rozšíření ve vyhledávacím panelu Map Google.
Další informace o formátu souboru KML
Přípona souboru | .kml |
Kategorie souboru | |
Příklad souboru | (2,05 KiB) |
Související programy | Mixér (Windows, Mac a Linux) Globální mapovač Blue Marble Geographics (Windows) ESRI ArcGIS pro stolní počítače (Windows) Google Earth (Windows, Mac a Linux) Mapy Google (web) Merkaartor (Windows, Mac a Linux) Keyhole PRO (Windows a Mac) |
KML je formát souboru používaný k zobrazení geografických dat v prohlížeči Earth, jako je Google Earth. KML používá strukturu založenou na značkách s vnořenými prvky a atributy a vychází ze standardu XML. Všechny značky rozlišují velká a malá písmena a musí se zobrazovat přesně tak, jak jsou uvedeny v referenčním dokumentu KML. Reference uvádí, které značky jsou volitelné. V rámci daného prvku se značky musí objevit v pořadí uvedeném v odkazu. Pokud jste v KML noví, prozkoumejte tento dokument a doprovodné ukázkové soubory ( SamplesInEarth) začít poznávat základní strukturu souboru KML a nejčastěji používané značky. První část popisuje funkce, které lze vytvořit pomocí uživatelského rozhraní aplikace Google Earth. Mezi tyto funkce patří značky míst, popisy, pozemní překryvy, cesty a mnohoúhelníky. Druhá část popisuje funkce, které vyžadují vytváření KML pomocí textového editoru. Když je textový soubor uložen s příponou .kml nebo .kmz rozšíření, prohlížeče Earth vědí, jak jej zobrazit. |
Spropitné: Chcete-li zobrazit „kód“ KML pro funkci v aplikaci Google Earth, můžete na funkci v 3D prohlížeči Google Earth jednoduše kliknout pravým tlačítkem a vybrat Kopírovat. Poté vložte obsah schránky do libovolného textového editoru. Vizuální funkce zobrazená v aplikaci Google Earth je převedena na textový ekvivalent KML. Určitě s touto funkcí experimentujte.
Diskuse o tom, jak používat některé z klíčových funkcí v KML, najdete v příručce pro vývojáře.
Obsah
Základní dokumenty KML
Nejjednodušším typem dokumentů KML jsou ty, které lze vytvářet přímo v aplikaci Google Earth - to znamená, že nemusíte upravovat ani vytvářet žádné KML v textovém editoru. Značky míst, překrytí země, cesty a polygony lze vytvářet přímo v aplikaci Google Earth.
Značky míst
Značka místa je jednou z nejčastěji používaných funkcí v aplikaci Google Earth. Označuje polohu na zemském povrchu pomocí žluté připínáčky jako ikony. Nejjednodušší značka místa obsahuje pouze
Jako příklad povolte složku „Absolute Positioning: Top left“ v souboru KML Samples a v levé horní části okna se zobrazí překrytí obrazovky. To bylo vytvořeno pomocí následujícího kódu KML:
Umístění se ovládá mapováním bodu v obrázku určeném pomocí
Podívejte se na další příklady ve složce, abyste zjistili, jak je možné získat další pevná umístění, a vytvářet obrázky, které se dynamicky mění podle velikosti obrazovky. (Všimněte si, že xunits a yunits lze také zadat jako „pixely“ pro přesné ovládání.) Další podrobnosti viz odkaz KML 2.2.
Síťové odkazy
Síťový odkaz obsahuje a prvek s
The
- Soubor obrázku používaný ikonami ve stylech ikon, pozemních překryvech a překryvech obrazovky
- Soubor modelu použitý v souboru
živel - Soubor KML nebo KMZ načtený pomocí Network Link
Zadaný soubor může být buď místní soubor, nebo soubor na vzdáleném serveru. Ve své nejjednodušší podobě představují síťové odkazy užitečný způsob, jak rozdělit jeden velký soubor KML na menší, lépe spravovatelné soubory na stejném počítači.
Dosud všechny naše příklady vyžadovaly, aby byl kód KML doručen do aplikace Google Earth z místního počítače. Síťové odkazy vám umožňují poskytovat obsah ze vzdáleného umístění a běžně se používají k distribuci dat velkému počtu uživatelů. Tímto způsobem, pokud je třeba data změnit, je třeba je změnit pouze ve zdrojovém umístění a všichni uživatelé získají aktualizovaná data automaticky.
Skriptování CGI pro KML
Kromě odkazování na soubory obsahující statická data se používá také odkaz na síť
Pro doručování KML prostřednictvím síťového CGI jsou nutné dvě věci:
Při volání z klienta (Google Earth) na server musí server (1) vrátit kód odpovědi HTTP 200 a (2) nastavit typ obsahu odpovědi na text / prostý nebo aplikace / vnd.google -earth.kml + xml.
Odpověď musí být platný KML. U složitých aplikací je správné zpracování chyb velmi důležité.
Spropitné: Jednoduchý způsob, jak zpracovat chyby, je analyzovat chybu serveru jako text pro název složky. Můžete například nechat server vrátit
Následující příklady používají Python, ale jsou stejně platné v jakémkoli jiném skriptovacím jazyce.
Generování náhodné značky místa
Následující skript Pythonu generuje náhodné celočíselné hodnoty pro zeměpisná šířka a zeměpisná délka a poté tyto hodnoty vloží do souboru
#! / usr / bin / python import random latitude = random.randrange (-90, 90) longitude = random.randrange (-180, 180) kml = ("\ n ""
Zde je příklad souboru KML obsahujícího síťový odkaz, který načte tento skript Pythonu:
značka místa při každém hovoru
Dotazy na aktualizaci založené na zobrazení
Standardní síťový odkaz je jednosměrný odkaz: data proudí pouze ze serveru do aplikace Google Earth. Obnovení založené na zobrazení umožňuje obousměrnou komunikaci. Když je aktivní aktualizace založená na zobrazení, aplikace Google Earth v zadaný čas vrátí souřadnice zobrazení na server. To může být každý n sekundy, minuty nebo hodiny nebo jednou uplynula určitá doba od zastavení zobrazení. Vidět
Souřadnice jsou vráceny na server pomocí HTTP GET, který přidává souřadnice následujícím způsobem (toto je výchozí informace o ohraničujícím rámečku):
GET / cesta / k / sever / skript / dotaz? BBOX = HTTP / 1.1
Pokud byl požadavek podán, když se uživatel díval dolů na San Francisco, souřadnice by mohly vypadat následovně:
ZÍSKEJTE /path/to/server/script/query?BBOX=-122.497790,37.730385,-122.380087,37.812331 HTTP/1.1
Tuto funkci lze použít pro některé velmi kreativní aplikace, ale abyste mohli začít, jednoduchý příklad je uveden níže.
Sledování bodu přímo pod vaším pohledem
Následující skript Pythonu na straně serveru analyzuje zpětnou zprávu odeslanou aplikací Google Earth a odpoví značkou místa ve středu obrazovky. Při každém obnovení síťového odkazu se vygeneruje nová značka místa.
#! / usr / bin / python import cgi url = cgi.FieldStorage () bbox = url ["BBOX"]. hodnota bbox = bbox.split (",") západ = plovák (bbox) jih = plovák (bbox) východ = float (bbox) sever = float (bbox) center_lng = ((východ - západ) / 2) + západ center_lat = ((sever - jih) / 2) + jih kml = ("\ n ""
A tady je KML pro síťový odkaz, který načte skript Pythonu:
do středu obrazovky a vraťte značku místa.
Princip ilustrovaný v tomto příkladu lze použít pro některé velmi složité aplikace. Pokud například máte databázi geografických informací, můžete extrahovat souřadnice prohlížeče, zavolat do databáze data specifická pro zobrazení a vrátit je do aplikace Google Earth jako KML.
3 typy KML MIME
Při odpovědi na žádost z aplikace Google Earth (nebo jakéhokoli prohlížeče Earth) musí server KML dodržovat určitou sadu pravidel, aby aplikace Google Earth mohla správně interpretovat její odpovědi.
Po úspěchu musí server vrátit kód odpovědi HTTP 200 a nastavit typ obsahu odpovědi na vhodný typ MIME, jak je popsáno zde.
Google Earth čte soubory KML a KMZ. Typ MIME pro soubory KML je
- aplikace / vnd.google-earth.kml + xml
Typ MIME pro soubory KMZ je
- aplikace / vnd.google-earth.kmz
Pro Apache přidejte tyto řádky do souboru httpd.conf soubor:
- Aplikace AddType / vnd.google-earth.kml + xml .kml
- Aplikace AddType / vnd.google-earth.kmz .kmz
Podrobnosti o nastavení typů MIME ve službě IIS společnosti Microsoft naleznete v dokumentaci společnosti Microsoft.
Tělo odpovědi musí obsahovat platná data KML včetně deklarace XML (). Pokud server vrátí neplatný soubor KML, Network Link se zastaví, deaktivuje a vydá chybovou zprávu.
Soubor KML ukládá data geomodelingu ve formátu XML. Obsahuje body, čáry a obrázky. Pomocí XML můžete vyjadřovat geografické poznámky a vizualizace ukládáním umístění, překryvných obrázků, odkazů na video a informací o modelování, jako jsou čáry, tvary, 3D obrázky a body. Různá geoprostorová softwarová řešení používají formát KML k tomu, aby data byla ve formátu, který mohou snadno používat jiné programy a webové služby.
Úvod
Keyhole Markup Language - XML notace pro vyjádření geografické anotace a vykreslování ve 2D mapách a 3D prohlížečích. KML byl navržen pro použití s aplikací Google Earth, která se původně nazývala Keyhole Earth Viewer. Vytvořil ho Keyhole. Inc, kterou společnost Google získala v roce 2004. Tento formát se v roce 2008 stal mezinárodním standardem Otevřeného geoprostorového konsorcia.
Google Earth byl první program schopný prohlížet a graficky upravovat takové soubory. Další projekty jako Marble také začaly rozvíjet podporu pro KML.
Aplikace: jak vytvořit formát KML?
Soubor s tímto rozšířením můžete otevřít v Mapách Google. Chcete -li to provést, musíte umístit jeho polohu online a poté zadat adresu URL do vyhledávacího pole v Mapách Google.
Google Earth byl první program, který dokázal tyto soubory prohlížet a upravovat, a zůstává jedním z nejpopulárnějších způsobů práce s geodaty na internetu. Při otevřené webové stránce si pomocí položky nabídky Moje místa (ikona záložky) stáhněte soubor KML z počítače nebo účtu Disku Google.
Soubory můžete také otevřít pomocí libovolného textového editoru (například Notepad ++). To vám umožní zobrazit textovou verzi, která obsahuje souřadnice, odkazy na obrázky, úhly náklonu kamery a časová razítka.
Pokud chcete převést KML na XML, nemusíte převod provádět. Protože formát ve skutečnosti používá pouze rozšíření formátu KML), můžete soubor .KML přejmenovat na .XML, aby se otevřel v prohlížeči XML.
Soubor můžete také importovat přímo do Map Google. To se provádí na stránce Moje mapy Google při přidávání obsahu do nové vrstvy mapy. Když je mapa otevřená, stáhněte soubor z počítače nebo z Disku Google výběrem možnosti Importovat na jakékoli úrovni. Novou vrstvu můžete vytvořit pomocí tlačítka Přidat vrstvu.
Případně můžete vytvořit svůj vlastní soubor KML a jeho adresu URL v Mapách Google tak, že nejprve propojíte adresu URL svého souboru pomocí http://maps.google.com/maps?q=. Chcete -li například otevřít stejnou adresu URL, můžete použít následující adresu URL: http://maps.google.com/maps?q=http://mywebsite.com/myfile.kml.
Stejná operace funguje pro Google Earth, 3D zobrazovací modul plug-in pro naši planetu, který lze přidat do webového prohlížeče.
Struktura
Formát souboru KML specifikuje sadu funkcí (štítky, obrázky, mnohoúhelníky, 3D modely, textové popisy) pro zobrazení v Mapách Google, Google Earth, Mapách, mobilních zařízeních nebo jiném geoprostorovém softwaru, který implementuje kódování KML. Každé místo má zeměpisnou délku a šířku. Tento formát sdílí některé stejné strukturální gramatiky jako GML. Některé informace nelze zobrazit v Mapách Google ani na mobilních zařízeních.
Data jsou velmi často distribuována ve formátu KMZ, což jsou šifrované soubory KML s příponou .kmz. Musí být kompatibilní se starší kompresí (ZIP 2.0), jinak nebude možné rozbalit soubor .kmz.
Geodetické referenční systémy v KML
Jako referenční rámec používá KML 3D geografické souřadnice: zeměpisná délka, zeměpisná šířka a nadmořská výška. Zeměpisné délky, zeměpisné šířky (desetinné stupně) jsou určeny podle World Geodetic System 1984 (WGS84). Svislá složka (výška) se měří v metrech od svislé základny Geoidu WGS84 EGM96. Pokud není v souřadnicovém řádku zadána nadmořská výška (například -77,03647, 38,89763), pak je výchozí hodnota pro výškovou komponentu 0 (přibližně hladina moře), tj. (-77,03647, 38,89763, 0).
Formální definice souřadnicového systému (kódovaného jako GML) používaného v KML je obsažena ve specifikaci OGC KML 2.2. Tato definice odkazuje na součásti EPSG CRS.
Dokumentace
Specifikace KML 2.2 byla odeslána otevřenému geoprostorovému konsorciu, aby byl zajištěn jeho status otevřeného standardu pro všechny geografické objekty. V listopadu 2007 byla v rámci OGC vytvořena nová pracovní skupina pro formalizaci standardu. K navrhovanému standardu byly vyžádány připomínky před 4. lednem 2008 a 14. dubna 2008 se stal oficiálním standardem OGC.
Pracovní skupina pro standardy dokončila požadavky na změnu KML 2.2 a začlenila přijaté změny. Oficiální standard OGC KML 2.3 byl publikován 4. srpna 2015.