Razširitev kml. KML razširitev datoteke Geografska informacijska platforma ArcGIS Server

KML (Keyhole Markup Language) je oblika datoteke, ki se uporablja za prikaz geografskih podatkov v programih Google Earth, Google Maps in Google Maps za mobilne aplikacije.

KML uporablja strukturo, ki temelji na oznakah, z ugnezdenimi elementi in atributi ter temelji na standardu XML.

Za ustvarjanje datotek KML lahko uporabite Google Earth, urejevalnik XML ali preprost urejevalnik besedil.

Datoteke KML in povezane slike (če so na voljo) je mogoče stisniti v formatu ZIP v arhive KMZ.

Z datotekami KML lahko:

  • nastavite različne ikone in naredite podpise za označevanje krajev na površini Zemlje,
  • ustvarite različne kote za izbrane predmete s spreminjanjem položaja kamere,
  • uporabite različne prekrivne slike,
  • definirajte sloge za prilagoditev prikaza predmeta, uporabite kodo HTML za ustvarjanje hiperpovezav in slik v vrstici,
  • uporabite mape za hierarhično združevanje elementov,
  • dinamično prejemanje in posodabljanje datotek KML z oddaljenih ali lokalnih gostiteljev,
  • prejemanje podatkov KML glede na spremembe v pregledovalniku 3D,
  • prikaz teksturiranih 3D objektov COLLADA

Kot objekte v datotekah KML lahko uporabite naslednje:

Oznake položaja (object Placemark) - najpreprostejši element, ki določa oznako položaja - označevanje položaja na zemeljskem površju z ikono v obliki rumenega gumba.

Poti - črte določene debeline in barve

Poligoni - določa barvo črt in barvo podpisa.

Slike - Prekrivne slike zemeljskega površja vam omogočajo prekrivanje slike na zemeljsko pokrajino, lahko so premične in razširljive ali nepremične, na primer logotip.

Tridimenzionalni model - omogoča povezovanje opisa tridimenzionalnih predmetov (na primer zgradb in objektov). Tridimenzionalni model je mogoče nastaviti na dva načina: z nastavitvijo višine ravnih figur (s vlečenjem) in s povezavo do popolnega modela v formatu COLLADA (Google SketchUp).

Najenostavnejši primer datoteke KML.



Palača športa
Športna palača "Nagorny" ave. Gagarina, 29
43.979459,56.291908,0


Opisal bom strukturo te datoteke.

Prva vrstica je glava XML. To je 1. vrstica v vsaki datoteki KML. Pred to vrstico ne sme biti presledkov ali znakov.

Druga vrstica se uporablja za deklariranje imenskega prostora KML. To je 2. vrstica v vsaki datoteki KML 2.1.

Oznaka položaja, ki vsebuje naslednje elemente:

- ime, bližnjica za označevanje oznake

- opis, opis, ki se pojavi v polju za komentarje, ki je priloženo oznaki

- Točka, označuje položaj oznake na zemeljski površini (dolžina, širina in po želji višina).

To datoteko lahko naložite v program Google Earth tako, da v meniju izberete Datoteka - Odpri.

Prenesete ga lahko tudi s pomočjo API-ja za Google Zemljevide.

Primer kode:

Primer uporabe programa Google Earth na spletnem mestu



Če ga naložimo v brskalnik, bomo videli

Datoteko KML si lahko ogledate tudi v Google Zemljevidih.

Predpogoj je, da mora biti vaša datoteka KML postavljena na spletno mesto v internetu.

Od začetka morate iti na http://maps.google.ru/

Nato v iskalno vrstico vnesite naslov vaše datoteke KML na internetu, na primer http://site/examples/kml/prim_kml_1.kml in kliknite gumb »Išči na zemljevidu«.

Vaša datoteka KML bo prikazana na Googlovem zemljevidu.

Se nadaljuje…

Obvestilo

Format datoteke KML Misc

Datoteke KML so shranjene v formatu XML in so bile prvotno razvite za program za preslikavo Keyhole. Leta 2004 je Google kupil Keyhole Inc., zato datoteke KML zdaj močno uporabljajo Googlovi storitvi za kartiranje Google Maps in Google Earth.

Tehnične podrobnosti datotek KML

Datoteke KML vsebujejo informacije, ki so shranjene v formatu XML. Te informacije vključujejo slike in preprostejše podatke, kot so črte, mnogokotniki in točke. Te datoteke se uporabljajo za shranjevanje informacij o določeni lokaciji na zemljevidu. Datoteka KML omogoča uporabniku, da ne samo označi lokacijo na zemljevidu, temveč tudi doda vsebino (format HTML), teksturo in pogled iz različnih zornih kotov. Za odpiranje datotek KML v Google Zemljevidih ​​je potrebna samo datoteka KML, ki gostuje v spletu. Odprla jo bo ločena povezava razširitve v iskalni vrstici Google Zemljevidov.

Več informacij o formatu datoteke KML

Format KML je razširitev, ki shranjuje geografske podatke za funkcije v programu Google Zemlja. Takšne informacije vključujejo oznake položaja na zemljevidu, poljubno območje v obliki mnogokotnika ali črt, tridimenzionalni model in sliko dela zemljevida.

Razmislimo o aplikacijah, ki delujejo s to obliko.

Google Zemlja

    1. Po zagonu kliknite na "Odprto" v glavnem meniju.

  1. Poiščite imenik z izvirnim predmetom. V našem primeru datoteka vsebuje podatke o lokaciji. Kliknite nanjo in kliknite "Odprto".

Programski vmesnik z navedbo lokacije v obliki oznake.

zvezek

Beležnica je vgrajena aplikacija Windows za ustvarjanje besedilnih dokumentov. Deluje lahko tudi kot urejevalnik kode za določene formate.

    1. Zaženite to programsko opremo. Za ogled datoteke izberite "Odprto" na meniju.

  1. Mi izberemo "Vse datoteke" na ustreznem polju. Ko izberete želeni predmet, kliknite na "Odprto".

Vizualni prikaz vsebine datoteke v beležnici.

Lahko rečemo, da ima razširitev KML malo distribucije in se uporablja izključno v programu Google Earth in ogled takšne datoteke prek Beležnice ne bo nikomur koristen.

Razširitev datoteke .kml
Kategorija datoteke
Primer datoteke (2,05 KB)
Povezani programi Blender (Windows, Mac & Linux)
Blue Marble Geographics Global Mapper (Windows)
ESRI ArcGIS for Desktop (Windows)
Google Earth (Windows, Mac in Linux)
Google Zemljevidi (splet)
Merkaartor (Windows, Mac in Linux)
Keyhole PRO (Windows in Mac)

KML je oblika datoteke, ki se uporablja za prikaz geografskih podatkov v brskalniku Earth, kot je Google Earth. KML uporablja strukturo, ki temelji na oznakah, z ugnezdenimi elementi in atributi ter temelji na standardu XML. Vse oznake so občutljive na velike in male črke in morajo biti prikazane točno tako, kot so navedene v referenci KML. Referenca označuje, katere oznake so neobvezne. Znotraj danega elementa se morajo oznake pojaviti v vrstnem redu, ki je prikazan v referenci.

Če ste novi v KML, raziščite ta dokument in priložene vzorčne datoteke ( SamplesInEarth), da začnete spoznavati osnovno strukturo datoteke KML in najpogosteje uporabljene oznake. Prvi razdelek opisuje funkcije, ki jih je mogoče ustvariti z uporabniškim vmesnikom Google Earth. Te funkcije vključujejo oznake položaja, opise, prekrivanja tal, poti in poligone. Drugi razdelek opisuje funkcije, ki zahtevajo avtorsko delo KML z urejevalnikom besedil. Ko je besedilna datoteka shranjena z a .kml oz .kmz razširitev, brskalniki Earth vedo, kako jo prikazati.

Nasvet:Če si želite ogledati "kodo" KML za funkcijo v programu Google Earth, lahko preprosto z desno tipko miške kliknete funkcijo v pregledovalniku 3D programa Google Earth in izberete Kopiraj. Nato prilepite vsebino odložišča v kateri koli urejevalnik besedil. Vizualna funkcija, prikazana v programu Google Earth, se pretvori v njen ekvivalent besedila KML. Ne pozabite eksperimentirati s to funkcijo.

Za razpravo o uporabi nekaterih ključnih funkcij v KML glejte Vodnik za razvijalce.

Kazalo

Osnovni dokumenti KML

Najpreprostejša vrsta dokumentov KML so tisti, ki jih je mogoče ustvariti neposredno v programu Google Earth – to pomeni, da vam ni treba urejati ali ustvarjati nobenega KML-ja v urejevalniku besedil. Oznake položaja, prekrivanja tal, poti in poligone lahko ustvarite neposredno v programu Google Earth.

Oznake položaja

Oznaka položaja je ena najpogosteje uporabljenih funkcij v programu Google Earth. Označuje položaj na Zemljini površini z rumenim gumbom kot ikono. Najpreprostejša oznaka položaja vključuje samo Element, ki določa lokacijo oznake položaja. Določite lahko ime in ikono po meri za oznako položaja, dodate pa ji lahko tudi druge geometrijske elemente.

Na primer omogočite mapo »Absolutno pozicioniranje: zgoraj levo« v datoteki z vzorci KML in v zgornjem levem kotu okna pogleda boste videli prekrivanje zaslona. To je bilo ustvarjeno z naslednjo kodo KML:




Absolutno pozicioniranje: zgoraj levo

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






Pozicioniranje je nadzorovano s preslikavo točke na sliki, določeno z do točke na zaslonu, ki jo določi ... V tem primeru je zgornji levi kot slike (0,1) sovpadal z isto točko na zaslonu.

Preverite druge primere v mapi, da vidite, kako je mogoče pridobiti druge fiksne položaje in ustvariti slike, ki so dinamične velikosti glede na velikost zaslona. (Upoštevajte, da xunits in yunits lahko določite tudi kot "piksle" za natančno kontrolo.) Za nadaljnje podrobnosti glejte Referenca KML 2.2.

Omrežne povezave

Omrežna povezava vsebuje a element z an (hiperbesedilna referenca), ki naloži datoteko. The je lahko lokalna specifikacija datoteke ali absolutni URL. Kljub imenu, a ne nalaga nujno datotek iz omrežja.

The v povezavi določa lokacijo katerega koli od naslednjega:

  • Slikovna datoteka, ki jo uporabljajo ikone v slogih ikon, talnih prekritvah in zaslonskih prekritvah
  • Datoteka modela, uporabljena v element
  • Datoteka KML ali KMZ, ki jo naloži omrežna povezava

Navedena datoteka je lahko bodisi lokalna datoteka bodisi datoteka na oddaljenem strežniku. V svoji najpreprostejši obliki so omrežne povezave koristen način za razdelitev ene velike datoteke KML na manjše, bolj obvladljive datoteke v istem računalniku.

Doslej so vsi naši primeri zahtevali, da se koda KML dostavi v Google Earth z lokalnega računalnika. Omrežne povezave vam dajejo moč za prikazovanje vsebine z oddaljene lokacije in se običajno uporabljajo za distribucijo podatkov velikemu številu uporabnikov. Na ta način, če je treba podatke spremeniti, jih je treba spremeniti samo na izvorni lokaciji, vsi uporabniki pa samodejno prejemajo posodobljene podatke.

CGI skript za KML

Poleg tega, da kaže na datoteke, ki vsebujejo statične podatke, omrežna povezava "s lahko kaže na podatke, ki se dinamično generirajo – na primer s skriptom CGI, ki se nahaja na omrežnem strežniku. Z nekaj znanja skriptnega jezika, kot so PHP, Python ali Perl, lahko ustvarite skript, ki dostavi tok (ali datoteko) podatkov KML vsaki omrežni povezavi.

Za dostavo KML prek omrežnega CGI sta potrebni dve stvari:

Ko je opravljen klic od odjemalca (Google Earth) v strežnik, mora strežnik (1) vrniti odzivno kodo HTTP 200 in (2) nastaviti vrsto vsebine odgovora na besedilo / navaden ali application / vnd.google -zemlja.kml + xml.

Odgovor mora biti veljaven KML. Za zapletene aplikacije je zelo pomembno pravilno ravnanje z napakami.

Nasvet: Preprost način za ravnanje z napakami je, da napako strežnika razčlenite kot besedilo za ime mape. Na primer, lahko vrnete strežnik baza podatkov nedostopna kot vrvica. To je bolj informativno (in uporabniku bolj prijazno) kot dovoliti, da se povezava prekine.

Naslednji primeri uporabljajo Python, vendar so enako veljavni v katerem koli drugem skriptnem jeziku.

Ustvarjanje naključne oznake položaja

Naslednji skript Python generira naključne celoštevilske vrednosti za zemljepisna širina in dolžino in nato te vrednosti vstavi v element a Ko se omrežna povezava osveži, se skript Python znova zažene in ustvari KML z novimi vrednostmi zemljepisne širine in dolžine.

#! / usr / bin / python import random latitude = random.randrange (-90, 90) longitude = random.randrange (-180, 180) kml = ("\ n "" \ n "" \ n "" Naključna oznaka položaja\ n "" \ n "" % d, % d\ n ""\ n ""\ n """)% (dolžina, širina) print" Content-Type: application / vnd.google-earth.kml + xml \ n "print kml

Tukaj je primer datoteke KML, ki vsebuje omrežno povezavo, ki naloži ta skript Python:




Omrežne povezave
0
0
Primer omrežne povezave 1

Naključna oznaka položaja
0
0
Preprost skript na strani strežnika, ki generira novo naključno
oznaka položaja pri vsakem klicu

0
0

http: // vaš strežnik.com/cgi-bin/randomPlacemark.py



Osvežitvene poizvedbe na podlagi pogleda

Standardna omrežna povezava je enosmerna povezava: podatki tečejo samo iz strežnika v Google Zemljo. Osvežitev na podlagi pogleda omogoča dvosmerno komunikacijo. Ko je osvežitev na podlagi pogleda aktivna, Google Earth vrne koordinate pogleda strežniku ob določenem času. To je lahko vsak n sekunde, minute ali ure ali ko je preteklo določeno količino časa, odkar se pogled preneha premikati. Glej v referenci KML 2.2.

Koordinate se vrnejo strežniku s pomočjo HTTP GET, ki doda koordinate, kot sledi (to so informacije o privzetem mejnem polju):

GET / pot / do / strežnika / skripta / poizvedbe? BBOX = HTTP / 1.1

Če je bila zahteva podana, medtem ko je uporabnik gledal navzdol v San Francisco, bi lahko koordinate izgledale takole:

GET /path/to/server/script/query?BBOX=-122.497790,37.730385,-122.380087,37.812331 HTTP / 1.1

To funkcijo je mogoče uporabiti za nekatere zelo kreativne aplikacije, a za začetek je spodaj predstavljen preprost primer.

Sledenje točki neposredno pod vašim pogledom

Naslednji skript Python na strani strežnika razčleni povratno sporočilo, ki ga je poslala Google Zemlja, in odgovori z oznako položaja na sredini zaslona. Vsakič, ko se omrežna povezava osveži, se ustvari nova oznaka položaja.

#! / usr / bin / python uvoz cgi url = cgi.FieldStorage () bbox = url ["BBOX"]. vrednost bbox = bbox.split (",") zahod = float (bbox) jug = float (bbox) vzhod = float (bbox) sever = float (bbox) center_lng = ((vzhod - zahod) / 2) + zahod center_lat = ((sever - jug) / 2) + južni kml = ("\ n "" \ n "" \ n "" Oznaka položaja s središčem pogleda\ n "" \ n "" % .6f, %. 6f\ n ""\ n ""\ n """)% (center_lng, center_lat) print" Content-Type: application / vnd.google-earth.kml + xml \ n "print kml

In tukaj je KML za omrežno povezavo, ki naloži skript Python:




Omrežne povezave
0
0
Primer omrežne povezave 2

Ogled sredinske oznake položaja
0
0
Osvežitev na podlagi pogleda omogoča oddaljenemu strežniku, da izračuna
sredino zaslona in vrnite oznako položaja.

0
0

http: // vaš strežnik.com/cgi-bin/viewCenteredPlacemark.py

2
onStop
1



Načelo, prikazano v tem primeru, je mogoče uporabiti za nekatere zelo zapletene aplikacije. Če imate na primer zbirko geografskih informacij, lahko izvlečete koordinate pregledovalnika, pokličete bazo podatkov za podatke, specifične za pogled, in jih vrnete v Google Earth kot KML.

3 vrste KML MIME

Ko se odzove na zahtevo programa Google Earth (ali katerega koli brskalnika Earth), mora strežnik KML upoštevati določen niz pravil, da lahko Google Earth pravilno razlaga svoje odgovore.

Po uspehu mora strežnik vrniti odzivno kodo HTTP 200 in nastaviti tip vsebine odgovora na ustrezen tip MIME, kot je opisano tukaj.

Google Earth bere datoteke KML in KMZ. Vrsta MIME za datoteke KML je

  • aplikacija / vnd.google-earth.kml + xml

Vrsta MIME za datoteke KMZ je

  • aplikacija / vnd.google-earth.kmz

Za Apache dodajte te vrstice v httpd.conf mapa:

  • Aplikacija AddType / vnd.google-earth.kml + xml .kml
  • Aplikacija AddType / vnd.google-earth.kmz .kmz

Oglejte si Microsoftovo dokumentacijo za podrobnosti o nastavitvi vrst MIME na Microsoftovem IIS.

Telo odgovora mora vsebovati veljavne podatke KML, vključno z izjavo XML (). Če strežnik vrne neveljaven KML, se bo omrežna povezava ustavila, deaktivirala in izpisala sporočilo o napaki.

Datoteka KML shranjuje podatke geo-modeliranja v formatu XML. Vsebuje točke, črte in slike. Uporabite XML za izražanje geografskih opomb in vizualizacije s shranjevanjem lokacij, prekrivanj slik, video povezav in informacij o modeliranju, kot so črte, oblike, 3D slike in točke. Različne geoprostorske programske rešitve uporabljajo format KML za shranjevanje podatkov v format, ki ga drugi programi in spletne storitve zlahka uporabljajo.

Uvod

Keyhole Markup Language - zapis XML za izražanje geografskih opomb in upodabljanje v 2D zemljevidih ​​in 3D brskalnikih. KML je bil zasnovan za uporabo s programom Google Earth, ki se je prvotno imenoval Keyhole Earth Viewer. Ustvaril ga je Keyhole. Inc, ki jo je Google kupil leta 2004. Ta format je leta 2008 postal mednarodni standard Open Geospatial Consortium.

Google Earth je bil prvi program, ki je sposoben pregledovati in grafično urejati takšne datoteke. Drugi projekti, kot je Marble, so prav tako začeli razvijati podporo za KML.

Aplikacija: kako ustvariti format KML?

Datoteko s to razširitvijo lahko odprete v Google Zemljevidih. Če želite to narediti, morate njegovo lokacijo postaviti na splet in nato vnesti URL v iskalno polje v Google Zemljevidih.

Google Earth je bil prvi program, ki si je lahko ogledal in urejal te datoteke, in ostaja eden izmed najbolj priljubljenih načinov dela z geopodatki na internetu. Ko je spletna stran odprta, uporabite točko menija Moja mesta (ikona zaznamka), da prenesete datoteko KML iz računalnika ali računa Google Drive.

Datoteke lahko odprete tudi s katerim koli urejevalnikom besedil (na primer Notepad ++). To vam bo omogočilo ogled besedilne različice, ki vključuje koordinate, povezave do slik, kote nagiba kamere in časovne žige.

Če želite pretvoriti KML v XML, vam pretvorbe ni treba izvesti. Ker oblika dejansko uporablja samo razširitev formata KML), lahko .KML preimenujete v .XML, tako da se odpre v pregledovalniku XML.

Datoteko lahko uvozite tudi neposredno v Google Zemljevide. To se naredi na strani Google Moji zemljevidi pri dodajanju vsebine v novo plast zemljevida. Ko je zemljevid odprt, izberite Uvozi na kateri koli ravni, da prenesete datoteko iz računalnika ali Google Drive. Nov sloj lahko ustvarite z gumbom Dodaj plast.

Druga možnost je, da ustvarite svojo datoteko KML in njen URL v Google Zemljevidih, tako da najprej povežete URL svoje datoteke s pomočjo http://maps.google.com/maps?q=. Če želite na primer odpreti isti URL, lahko uporabite naslednji URL: http://maps.google.com/maps?q=http://mywebsite.com/myfile.kml.

Enako deluje za Google Earth, vtičnik za ogled 3D za naš planet, ki ga je mogoče dodati v spletni brskalnik.

Struktura

Format datoteke KML določa nabor funkcij (oznake, slike, poligoni, 3D modeli, besedilni opisi) za prikaz v Google Zemljevidih, Google Earth, Zemljevidih, mobilnih napravah ali kateri koli drugi geoprostorski programski opremi, ki izvaja kodiranje KML. Vsaka lokacija ima zemljepisno dolžino in širino. Ta oblika ima nekaj enakih strukturnih slovnic kot GML. Nekaterih informacij ni mogoče videti v Google Zemljevidih ​​ali mobilnih napravah.

Podatki se zelo pogosto distribuirajo v formatu KMZ, ki so šifrirane datoteke KML s končnico .kmz. Biti morajo združljivi s starim (ZIP 2.0) stiskanjem, sicer datoteke .kmz morda ne boste odpakirali.

Geodetski referenčni sistemi v KML

Za svoj referenčni okvir KML uporablja 3D geografske koordinate: dolžino, širino in nadmorsko višino. Zemljepisne dolžine, komponente zemljepisne širine (decimalne stopinje) so določene po Svetovnem geodetskem sistemu 1984 (WGS84). Navpična komponenta (višina) se meri v metrih od navpične osnove geoida WGS84 EGM96. Če nadmorska višina ni določena v koordinatni vrstici (na primer -77,03647, 38,89763), je privzeta vrednost za komponento nadmorske višine 0 (približno morska gladina), to je (-77,03647, 38,89763, 0).

Formalna definicija koordinatnega sistema (kodirano kot GML), ki se uporablja v KML, je vsebovana v specifikaciji OGC KML 2.2. Ta definicija se nanaša na komponente EPSG CRS.

Dokumentacija

Specifikacija KML 2.2 je bila predložena odprtemu geoprostorskemu konzorciju, da se zagotovi njen status odprtega standarda za vse geoobjekte. Novembra 2007 je bila v okviru OGC ustanovljena nova delovna skupina za formalizacijo standarda. Pred 4. januarjem 2008 so bili zahtevani komentarji na predlagani standard, uradni standard OGC pa je postal 14. aprila 2008.

Delovna skupina za standarde je dokončala zahteve za spremembo KML 2.2 in vključila sprejete spremembe. Uradni standard OGC KML 2.3 je bil objavljen 4. avgusta 2015.



Povezani članki: