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.



Palác sportu
Sports Palace "Nagorny" ave. Gagarina, 29
43.979459,56.291908,0


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:

Příklad použití aplikace Google Earth na webu



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

Formát KML je rozšíření, které ukládá geografická data pro funkce v aplikaci Google Earth. Mezi takové informace patří značky míst na mapě, libovolná oblast ve formě mnohoúhelníku nebo čar, trojrozměrný model a obrázek části mapy.

Zvažme aplikace, které interagují s tímto formátem.

Google Earth

    1. Po spuštění klikněte na "Otevřeno" v hlavní nabídce.

  1. Najděte adresář s původním objektem. V našem případě soubor obsahuje informace o umístění. Klikněte na něj a klikněte na "Otevřeno".

Rozhraní programu s uvedením umístění ve formě štítku.

Notebook

Poznámkový blok je vestavěná aplikace pro Windows pro vytváření textových dokumentů. Může také fungovat jako editor kódu pro určité formáty.

    1. Spusťte tento software. Chcete -li soubor zobrazit, vyberte "Otevřeno" v nabídce.

  1. Vybíráme si "Všechny soubory" v příslušném poli. Po výběru požadovaného objektu klikněte na "Otevřeno".

Vizuální zobrazení obsahu souboru v programu Poznámkový blok.

Můžeme říci, že rozšíření KML má malou distribuci a používá se výhradně v aplikaci Google Earth a prohlížení takového souboru pomocí programu Poznámkový blok nebude nikomu užitečné.

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 Element, který určuje umístění značky místa. Pro značku místa můžete zadat název a vlastní ikonu a také do ní můžete přidat další prvky geometrie.

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:




Absolutní umístění: vlevo nahoře

http: //site/kml/documentation/images/top_left.jpg






Umístění se ovládá mapováním bodu v obrázku určeném pomocí do bodu na obrazovce specifikovaného pomocí ... V tomto případě byl levý horní roh obrázku (0,1) shodný se stejným bodem na obrazovce.

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 (hypertextový odkaz), který načte soubor. The může to být místní specifikace souboru nebo absolutní URL. Navzdory jménu a nemusí nutně načítat soubory ze sítě.

The v odkazu určuje umístění kteréhokoli z následujících:

  • 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íť může ukazovat na data, která jsou dynamicky generována - například skriptem CGI umístěným na síťovém serveru. S určitou znalostí skriptovacího jazyka, jako je PHP, Python nebo Perl, můžete vytvořit skript, který doručí proud (nebo soubor) dat KML do každého síťového odkazu.

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 databáze nepřístupná jako řetězec. To je více informativní (a uživatelsky přívětivější) než nechat připojení přerušit.

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 prvek a Kdykoli se obnoví síťové propojení, skript Pythonu se znovu spustí a vygeneruje KML s novými hodnotami zeměpisné šířky a délky.

#! / usr / bin / python import random latitude = random.randrange (-90, 90) longitude = random.randrange (-180, 180) kml = ("\ n "" \ n "" \ n "" Náhodná značka místa\ n "" \ n "" % d,% d\ n ""\ n ""\ n """)% (zeměpisná délka, zeměpisná šířka) tisk" Typ obsahu: application / vnd.google-earth.kml + xml \ n "tisk kml

Zde je příklad souboru KML obsahujícího síťový odkaz, který načte tento skript Pythonu:




Síťové odkazy
0
0
Příklad síťového připojení 1

Náhodná značka místa
0
0
Jednoduchý skript na straně serveru, který generuje nový náhodný
značka místa při každém hovoru

0
0

http: // yourserver.com/cgi-bin/randomPlacemark.py



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 v odkazu KML 2.2.

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 "" \ n "" \ n "" Značka místa se středem pohledu\ n "" \ n "" % .6f,%. 6f\ n ""\ n ""\ n """)% (center_lng, center_lat) print" Typ obsahu: application / vnd.google-earth.kml + xml \ n "tisk kml

A tady je KML pro síťový odkaz, který načte skript Pythonu:




Síťové odkazy
0
0
Příklad síťového připojení 2

Zobrazit středovou značku místa
0
0
Obnovení založené na zobrazení umožňuje vzdálenému serveru vypočítat
do středu obrazovky a vraťte značku místa.

0
0

http: // yourserver.com/cgi-bin/viewCenteredPlacemark.py

2
onStop
1



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.



Související články: