Ce sunt fișierele kml? Cum se deschide un fișier KMZ. Pregătirea straturilor și hărților pentru conversia în KML

08.04.2020 Interesant

Formatul KML este o extensie în care sunt salvate datele geografice ale obiectelor din program Google Earth. Astfel de informații includ semne pe hartă, o zonă arbitrară sub formă de poligon sau linii, un model tridimensional și o imagine a unei părți a hărții.

Să ne uităm la aplicațiile care interacționează cu acest format.

Google Earth
  • După lansare, faceți clic pe "Deschis"în meniul principal.
  • Găsiți directorul cu obiectul sursă. În cazul nostru, fișierul conține informații despre locație. Faceți clic pe el și faceți clic pe "Deschis".
  • Interfața programului care indică locația sub forma unei etichete.

    Caiet

    Blocnotes - încorporat aplicație Windows pentru a crea documente text. Poate acționa și ca editor de cod pentru anumite formate.

  • Lansați acest software. Pentru a vizualiza fișierul trebuie să selectați "Deschis"în meniu.
  • Alege "Toate filele"în domeniul corespunzător. După ce ați selectat obiectul dorit, faceți clic pe "Deschis".
  • Afișare vizuală a conținutului fișierului în Notepad.

    Putem spune că extensia KML nu este utilizată pe scară largă și este folosită exclusiv în Google Earth, iar vizualizarea unui astfel de fișier prin Notepad va fi utilă pentru puțini oameni.

    KML este un format de fișier folosit pentru a afișa date geografice într-un browser Earth, cum ar fi Google Earth. KML folosește o structură bazată pe etichete cu elemente și atribute imbricate și se bazează pe standardul XML. Toate etichetele disting majuscule și minuscule și trebuie să apară exact așa cum sunt listate în . Referința indică ce etichete sunt opționale. Într-un anumit element, etichetele trebuie să apară în ordinea prezentate în Referință.

    Dacă sunteți nou în KML, explorați acest document și exemplele de fișiere însoțitoare () pentru a începe să învățați despre structura de bază a unui fișier KML și despre etichetele cele mai frecvent utilizate. Prima secțiune descrie funcțiile care pot fi create cu utilizatorul Google Earth interfață. Aceste caracteristici includ marcatoare de locație, descrieri, suprapuneri de teren, căi și poligoane. A doua secțiune descrie funcțiile care necesită crearea KML cu un editor de text. Când un fișier text este salvat cu un .kml sau .kmz extensia, browserele Earth știu cum să o afișeze.

    Sfat: pentru a vedea „codul” KML pentru o caracteristică din Google Earth, puteți pur și simplu să faceți clic dreapta pe caracteristică din Vizualizatorul 3D al Google Earth și să selectați Copiere. Apoi inserați conținutul clipboard-ului în orice editor de text. Caracteristica vizuală afișată în Google Earth este convertită în echivalentul său text KML. Asigurați-vă că experimentați cu această funcție.

    Pentru o discuție despre cum să utilizați unele dintre caracteristicile cheie în KML, consultați .

    Cuprins Documente KML de bază

    Cel mai simplu tip de documente KML sunt cele care pot fi create direct în Google Earth, adică nu trebuie să editați sau să creați niciun KML într-un editor de text. Marcatori de locație, suprapuneri de teren, căi și poligoane pot fi toate create direct. în Google Earth.

    Marcatori de locație

    Un marcator de locație este una dintre funcțiile cele mai frecvent utilizate în Google Earth. Acesta marchează o poziție pe suprafața Pământului, folosind o pictogramă galbenă. Cel mai simplu marcator de locație include doar un element, care specifică locația marcatorului de locație. Puteți specifica un nume și o pictogramă personalizată pentru marcatorul de locație și, de asemenea, puteți adăugați-i alte elemente de geometrie.

    De exemplu, activați folderul „Poziționare absolută: stânga sus” din fișier și veți vedea o suprapunere a ecranului în partea din stânga sus a ferestrei de vizualizare. Acesta a fost creat cu următorul cod KML:




    Poziționare absolută: stânga sus

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






    Poziționarea este controlată prin maparea unui punct din imaginea specificată de către un punct de pe ecran specificat de . În acest caz, colțul din stânga sus al imaginii (0,1) a fost făcut să coincidă cu același punct de pe ecran.

    Verificați celelalte exemple din folder pentru a vedea cum este posibil să obțineți alte poziții fixe și să creați imagini care să mărească dinamic cu dimensiunea ecranului. (Rețineți că xunitsși unitati poate fi specificat și ca „pixeli” pentru controlul de precizie.) Pentru detalii suplimentare, consultați .

    Legături de rețea

    O legătură de rețea conține un element cu un (o referință hipertext) care încarcă un fișier. Poate fi o specificație de fișier local sau o adresă URL absolută. În ciuda numelui, a nu încarcă neapărat fișiere din rețea.

    Într-un link specifică locația oricăreia dintre următoarele:

    • Un fișier imagine utilizat de pictograme în stiluri de pictograme, suprapuneri de sol și suprapuneri de ecran
    • Un fișier model utilizat în element
    • Un fișier KML sau KMZ încărcat de o legătură de rețea

    Fișierul specificat poate fi fie un fișier local, fie un fișier pe un server la distanță. În forma lor cea mai simplă, legăturile de rețea sunt o modalitate utilă de a împărți un fișier KML mare în fișiere mai mici și mai ușor de gestionat pe același computer.

    Până acum, toate exemplele noastre au cerut ca codul KML să fie livrat către Google Earth de la computerul local. Legăturile de rețea vă oferă puterea de a difuza conținut dintr-o locație la distanță și sunt utilizate în mod obișnuit pentru a distribui date unui număr mare de utilizatori. În acest fel, dacă datele trebuie modificate, acestea trebuie modificate doar la locația sursă, iar toți utilizatorii primesc datele actualizate automat.

    Scripturi CGI pentru KML

    Pe lângă faptul că indică fișierele care conțin date statice, legăturile de rețea pot indica date care sunt generate dinamic, de exemplu, de un script CGI situat pe un server de rețea. Cu anumite cunoștințe despre un limbaj de scripting precum PHP, Python, sau Perl, puteți crea un script care furnizează un flux (sau fișier) de date KML către fiecare legătură de rețea.

    Două lucruri sunt necesare pentru livrarea KML printr-un CGI de rețea:

    Când se efectuează un apel de la client (Google Earth) către server, serverul trebuie (1) să returneze un cod de răspuns HTTP 200 și (2) să seteze tipul de conținut al răspunsului la text/plain sau application/vnd.google -pământ.kml+xml.

    Răspunsul trebuie să fie KML valid. Pentru aplicațiile complexe, tratarea corectă a erorilor este foarte importantă.

    Sfat: o modalitate simplă de a gestiona erorile este să analizați eroarea serverului ca text pentru numele unui folder. De exemplu, puteți avea baza de date a serverului să returneze inaccesibilă ca șir. Acesta este mai informativ (și mai ușor de utilizat) decât a lăsa conexiunea să se întrerupă.

    Următoarele exemple folosesc Python, dar sunt la fel de valabile în orice alt limbaj de scripting.

    Generarea unui marcator de locație aleatoriu

    Următorul script Python generează valori întregi aleatorii pentru latitudineși longitudineși apoi inserează acele valori în elementul unui. Ori de câte ori legătura de rețea este reîmprospătată, scriptul Python rulează din nou și generează KML cu noi valori de latitudine și longitudine.

    #!/usr/bin/python import random latitude = random.randrange(-90, 90) longitude = random.randrange(-180, 180) kml = ("\n" "\n" "\n" "Marcator de locație aleatoriu \n" "\n" "%d,%d\n" "\n" "\n" "") %(longitudine, latitudine) print „Content-Type: application/vnd.google-earth.kml+xml \n" print kml

    Iată un exemplu de fișier KML care conține o legătură de rețea care încarcă acest script Python:




    Legături de rețea
    0
    0
    Exemplu de legătură în rețea 1

    Marcator de locație aleatoriu
    0
    0
    Un script simplu pe partea de server care generează o nouă aleatorie
    marcator de locație la fiecare apel
    0
    0

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



    Interogări de reîmprospătare bazate pe vizualizare

    O legătură de rețea standard este o legătură unidirecțională: datele circulă numai de la server la Google Earth. Reîmprospătarea bazată pe vizualizare permite comunicarea bidirecțională. Când reîmprospătarea bazată pe vizualizare este activă, Google Earth returnează coordonatele vizualizării către server la o oră specificată. Aceasta poate fi fiecare n secunde, minute sau ore sau odată ce a trecut o anumită perioadă de timp de când vizualizarea a încetat să se miște. Vedeți în Referința KML 2.2.

    Coordonatele sunt returnate la server prin intermediul unui HTTP GET care adaugă coordonatele după cum urmează (aceasta este informația implicită a casetei de delimitare):

    GET /path/to/sever/script/query?BBOX= HTTP/1.1

    Dacă solicitarea a fost făcută în timp ce utilizatorul privea San Francisco în jos, coordonatele ar putea arăta după cum urmează:

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

    Această caracteristică poate fi folosită pentru unele aplicații foarte creative, dar pentru a începe, un exemplu simplu este prezentat mai jos.

    Urmărirea unui punct direct sub vederea dvs

    Următorul script Python de la nivelul serverului analizează mesajul de retur trimis de Google Earth și răspunde cu un Marcator de locație în centrul ecranului. De fiecare dată când Linkul de rețea este reîmprospătat, este generat un nou Marcator de locație.

    #!/usr/bin/python import cgi url = cgi.FieldStorage() bbox = url["BBOX"].value bbox = bbox.split(",") west = float(bbox) south = float(bbox) est = float(bbox) north = float(bbox) center_lng = ((est - vest) / 2) + vest center_lat = ((nord - sud) / 2) + sud kml = ("\n" "\n" "\ n" "Marcator de locație centrat pe vizualizare\n" "\n" "%.6f,%.6f\n" "\n" "\n" "") %(center_lng, center_lat) print „Content-Type: application/ vnd.google-earth.kml+xml\n" print kml

    Și iată KML-ul pentru legătura de rețea care încarcă scriptul Python:




    Legături de rețea
    0
    0
    Exemplu de legătură în rețea 2

    Vedeți marcatorul de locație centrat
    0
    0
    Reîmprospătarea bazată pe vizualizare permite serverului de la distanță să calculeze
    centrul ecranului și returnați un marcator de locație.
    0
    0

    http:// yourserver.com/cgi-bin/viewCenteredPlacemark.py
    2
    onStop
    1



    Principiul ilustrat în acest exemplu poate fi utilizat pentru unele aplicații foarte complexe. De exemplu, dacă aveți o bază de date cu informații geografice, puteți extrage coordonatele vizualizatorului, puteți efectua un apel la baza de date pentru datele specifice vizualizării și le puteți returna în Google Earth ca KML.

    3 tipuri MIME KML

    Când răspunde la o solicitare de la Google Earth (sau orice browser Earth), un server KML trebuie să respecte un anumit set de reguli, astfel încât Google Earth să poată interpreta corect răspunsurile sale.

    După succes, serverul trebuie să returneze un cod de răspuns HTTP 200 și să seteze tipul de conținut al răspunsului la un tip MIME adecvat, așa cum este descris aici.

    Google Earth citește fișierele KML și KMZ. Tipul MIME pentru fișierele KML este

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

    Tipul MIME pentru fișierele KMZ este

    • application/vnd.google-earth.kmz

    Pentru Apache, adăugați aceste linii la httpd.conf fişier:

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

    Consultați documentația Microsoft pentru detalii despre configurarea tipurilor MIME pe IIS Microsoft.

    Corpul răspunsului trebuie să conțină date KML valide, inclusiv declarația XML (). Dacă serverul returnează KML nevalid, legătura de rețea se va opri, se va dezactiva și va afișa un mesaj de eroare.

    Ce urmeaza?

    Gata pentru mai mult? Consultați , care descrie funcțiile KML cheie. De asemenea, răsfoiți pentru informații despre anumite elemente.

    Cu excepția cazului în care se menționează altfel, conținutul acestei pagini este licențiat sub Licența Creative Commons Attribution 4.0, iar mostrele de cod sunt licențiate sub Licența Apache 2.0. Pentru detalii, consultați-l pe al nostru. Java este o marcă înregistrată a Oracle și/sau a afiliaților săi.

    Cu ajutorul cărora geodate dintr-un tabel (cred că majoritatea oamenilor, din obișnuință, stochează informații în format XLS) pot fi convertite într-o hartă în format KML - pentru vizualizare în Hărți Google sau Google Earth. Permiteți-mi să observ imediat că există și alte moduri de a crea carduri personale(hărți ale obiectelor imobiliare, hărți ale propriilor mișcări pe planetă sau hărți ale locației rudelor apropiate și îndepărtate etc. :-)). Una dintre cele mai evidente este utilizarea serviciu Google Cartograf http://www.google.com/mapmaker. Dar să revenim la metoda mea. Ce avem la intrare? Tabel Excel cu două foi. Pentru referință, prima foaie conține o listă a stațiilor de metrou din Moscova și a acestora Coordonatele GPS. Pe a doua foaie se află datele noastre care urmează să fie prezentate pe hartă în următorul format:

    - numărul obiectului
    -Tipul imobiliar (1,2,3,4 – apoi puteți decide singur care marcator corespunde tipului de proprietate)
    -Numele scurt al obiectului
    -Descrierea obiectului
    -Link complet către poza de pe http://
    -Link catre site de la descriere detaliata sau fotografie
    -Coordonatele obiectului GPS1 - latitudine și longitudine.
    -GPS2

    Dacă ați găsit adresa de care aveți nevoie pe Google Maps, atunci latitudinea și longitudinea pot fi determinate după cum urmează:
    În colțul din dreapta sus al Google Maps, găsiți „Link către această pagină”

    Descărcați arhiva cu șabloane și macrocomenzi:

    Primul fișier KML-Stemplon-Map este un șablon de tabel pentru completarea datelor dvs.

    Al doilea fișier este kml-PERSONAL cu macrocomenzi. Trebuie copiat în calculator localîntr-un folder de pe disc:
    C:\DocumentsandSettings\Utilizator\ApplicationData\
    Microsoft\Excel\XLSTART
    („Utilizator” este datele dvs. de conectare pentru a vă conecta la computer)

    Accesați Excel și editați tabelul în funcție de nevoile dvs.

    În meniul Instrumente, selectați Macro-uri – Macro-uri

    În opțiuni specificăm fișierul nostru macro kml-PERSONAL și selectăm macro-ul KML_XLS_Shablon. Apoi faceți clic pe „Run”.


    După aceasta, apare o fereastră pentru salvarea fișierului KML - introduceți, de exemplu, Test.kml.

    Un pas foarte necesar. După ce fișierul este salvat în disc local, găsiți-l, deschideți-l într-un bloc de note Windows obișnuit (NotePad) și salvați-l în format UTF-8!!!


    Gata.

    Acum KML poate fi deschis cu folosind Google Pământ.

    Pentru a deschide un fișier în Google Maps, încărcați-l pe server ( îl puteți crea undeva pe Narod.ru și îl puteți încărca acolo dacă nu aveți propriul site web).

    Apoi mergem la

    KML (Keyhole Markup Language) este un format de fișier utilizat pentru afișarea datelor geografice în programele Google Earth. Hărți Googleși Google Maps pentru dispozitive mobile.

    KML folosește o structură bazată pe etichete cu elemente și atribute imbricate și se bazează pe standardul XML.

    Puteți utiliza Google Earth, un editor XML sau un editor de text obișnuit pentru a crea fișiere KML.

    Fișierele KML și imaginile asociate (dacă sunt disponibile) pot fi comprimate folosind formatul ZIP în arhivele KMZ.

    Cu fișierele KML puteți:

    • instalați diverse pictograme și faceți semnături pentru a indica locurile de pe suprafața Pământului,
    • creați unghiuri diferite pentru obiectele selectate prin schimbarea poziției camerei,
    • utilizați diferite imagini suprapuse,
    • definiți stiluri pentru a personaliza afișarea unui obiect, aplicați cod HTML pentru a crea hyperlinkuri și imagini inline,
    • utilizați foldere pentru a grupa elementele ierarhic,
    • primiți și actualizați în mod dinamic fișiere KML de la nodurile rețelei locale sau la distanță,
    • primiți date KML în funcție de modificările din vizualizatorul 3D,
    • afișați obiecte COLLADA 3D texturate

    Următoarele pot fi folosite ca obiecte în fișierele în format KML:

    Marcatori de locație (Obiectul Marcator de locație) - cel mai simplu element, definește un marcator de locație - o desemnare a unei poziții pe suprafața Pământului folosind o pictogramă sub forma unui buton galben.

    Căile sunt linii de o anumită grosime și culoare.

    Poligoane - definește culoarea liniilor și culoarea semnăturii.

    Imagini - imaginile suprapuse ale suprafeței Pământului vă permit să suprapuneți o imagine pe peisajul Pământului; ele pot fi mutate și scalate sau nu, de exemplu, un logo.

    Model tridimensional - vă permite să conectați o descriere a obiectelor tridimensionale (de exemplu, clădiri și structuri). Un model tridimensional poate fi specificat în două moduri: prin setarea înălțimii figurilor plate (prin extrudare) și prin conectarea la un model cu drepturi depline în format COLLADA (Google SketchUp).

    Un exemplu simplu de fișier KML.



    Palatul Sporturilor
    Palatul Sporturilor „Nagorny” prosp. Gagarina, 29
    43.979459,56.291908,0


    Voi descrie structura acestui fișier.

    Prima linie este antetul XML. Aceasta este prima linie din fiecare fișier KML. Nu ar trebui să existe spații sau simboluri înaintea acestei linii.

    A doua linie este folosită pentru a declara spațiul de nume KML. Aceasta este a doua linie din fiecare fișier KML 2.1.

    Un obiect Marcator de locație care conține următoarele elemente:

    - nume, o etichetă folosită pentru a indica o etichetă

    — descriere, o descriere care apare în fereastra de comentarii atașată etichetei

    — Punct, indică poziția marcajului pe suprafața Pământului (longitudine, latitudine și, opțional, înălțime).

    Puteți descărca acest fișier în programul Google Earth selectând Fișier - Deschidere din meniu.

    Poate fi descărcat și folosind API-ul Google Maps.

    Exemplu de cod:

    Exemplu folosind Google Pământ pe site

    function initialize() (daca (GBrowserIsCompatible()) (geoXml = new GGeoXml("http://remont.cek.ru/xml/prim_kml_1.kml");

    var map = new GMap2(document.getElementById("map_canvas"));

    map.setCenter(new GLatLng(56.291908,43.979459), 15);

    map.setMapType(G_SATELLITE_MAP);

    map.addControl(nou GSmallMapControl());

    map.addControl(new GMapTypeControl());

    map.addOverlay(geoXml);

    Dacă îl încărcăm în browser vom vedea

    De asemenea, puteți vizualiza fișierul KML pe Google Maps.

    Mai întâi este necesar ca fișierul dvs. KML să fie găzduit pe un site web de pe Internet.

    Mai întâi trebuie să accesați http://maps.google.ru/

    Apoi, în bara de căutare, introduceți adresa fișierului KML de pe Internet, de exemplu, http://site/examples/kml/prim_kml_1.kml și faceți clic pe butonul „Căutare pe hartă”.

    Fișierul dvs. KML va apărea pe harta Google.

    Va urma…

    Prima opțiune cu care poți deschide formatul KMZ este aplicația Google Earth. Acesta este un program de cartografiere universal de la o companie de renume mondial.

    Tot ce trebuie să faceți este să selectați elementul de meniu „Fișier” - „Deschidere” din software-ul care rulează. În etapa următoare, selectați folderul în care se află fișierul în sine, selectați-l și faceți clic pe butonul „Deschidere”.

    O altă modalitate este să trageți fișierul din Explorer în zona în care sunt afișate hărțile.

    Utilizare Aplicatii Google SketchUp

    Acest program este folosit pentru modelarea tridimensională, iar un fișier cu extensia KMZ poate stoca tot felul de modele 3D de obiecte necesare pentru o demonstrație realistă a zonei.

    Pentru a-l deschide, faceți clic pe Import-Fișier. Ca și în cazul precedent, găsiți folderul dorit și selectați-l fișierul necesarși faceți clic pe Import.

    Software de geoinformație Global Mapper

    Acest program acceptă un număr mare de formate de hărți, inclusiv cel menționat în acest articol. Datorită aplicației, datele conținute în ea nu pot fi doar editate, ci și transformate.

    Deschiderea se realizează utilizând elementul de meniu Open Data File(s) - File. În plus, totul este similar cu opțiunile anterioare.

    Platforma de geoinformare ArcGIS Server

    Vom folosi versiunea sa desktop - ArcGIS Explorer. Fișierul KMZ, care este folosit și în aceasta aplicație, ajută la setarea coordonatelor obiectului dorit.

    Îl puteți deschide trăgându-l din Windows Explorer direct în spațiul de lucru al software-ului.