Najczęstsze pytania dotyczące formatu KML


Co to jest KML?

KML to format pliku używany do wyświetlania danych geograficznych w przeglądarce Earth, takiej jak Google Earth. Możesz tworzyć pliki KML, aby wskazywać lokalizacje, dodawać obrazy i prezentować dane rozszerzone na nowe sposoby. KML to międzynarodowy standard zarządzany przez firmę Open Geospatial Consortium, Inc. (OGC).

Kto używa języka KML?

Społeczność KML jest szeroka i zróżnicowana, tak jak to widzimy, gdy odwiedzasz forum społeczności Google Earth. Użytkownicy rekreacyjni tworzą pliki KML, aby oznaczać swoje domy, dokumentować trasy oraz planować piesze wędrówki i przejażdżki rowerowe. Naukowcy wykorzystują KML, by dokładnie mapować zasoby, modele i trendy takie jak erupcje wulkanów, wzorce pogodowe, trzęsienia ziemi i wzrosty minerałów. Specjaliści od nieruchomości, architekci i agencje rozwoju miast wykorzystują technologię KML do proponowania konstrukcji i wizualizacji planów. Uczniowie i nauczyciele używają KML, aby odkrywać ludzi, miejsca i wydarzenia – zarówno historyczne, jak i obecne. Organizacje takie jak National Geographic, UNESCO czy Smithsonian używają już języka KML do wyświetlania obszernych zbiorów danych globalnych.

Jak tworzyć pliki KML?

Dostępne są 3 główne narzędzia do tworzenia plików KML.

  • Google Earth. Jest to najważniejsze narzędzie, za którego pomocą można tworzyć pliki KML. W Google Earth możesz tworzyć:
    • Oznaczenia miejsc
    • Ścieżki
    • Wielokąty
    • Nakładki graficzne
    • Linki sieciowe
    • Modele miejsc
    • Foldery wszystkich powyższych
    • Nakładki fotograficzne
  • Po utworzeniu jednego z tych obiektów kliknij go prawym przyciskiem w panelu „Miejsca” i wybierz polecenie „Kopiuj”. Następnie możesz je wkleić do edytora tekstu lub edytora XML i zacząć edytować.

  • Edytor tekstu. Po utworzeniu obiektu w Google Earth wklej go do edytora tekstu i zacznij go edytować.
  • Edytor XML. KML to język plików XML opisujący treści geograficzne. Edytor XML to fantastyczny edytor tekstu oferujący wiele narzędzi do tworzenia dokumentów XML, w tym uzupełnienie tagów. Pozwala ono zamykać elementy KML za pomocą odpowiednich tagów.

Użytkownicy społeczności Google Earth mają też do dyspozycji wiele narzędzi. Sprawdź grupę dyskusyjną pomocy dla programistów plików KML.

Jak otworzyć plik KMZ?

Pliki KMZ to skompresowane kolekcje obejmujące jeden lub więcej plików przeznaczone do wyświetlania w programie Google Earth. Możesz je skompresować za pomocą formatu ZIP. Możesz je otworzyć przy użyciu dowolnego popularnego narzędzia do skompresowania (np. „WinZip”, „7-Zip”) lub domyślnego narzędzia Skompresowane foldery Windows XP (Mac, Stuffit) w Mac OS lub Linux. Aby rozszerzenie zostało rozpoznane przez narzędzie do skompresowania plików, konieczna może być zmiana rozszerzenia pliku z .kmz na .zip. Pamiętaj, aby przed ponownym użyciem pliku przełączyć się z powrotem na .kmz.

Jak utworzyć plik KML do danych astronomicznych?

Format KML może służyć do reprezentowania danych astronomicznych i wczytywania ich do programu Google Sky lub opracowanego przez firmę Microsoft Worldscope Telescope. Więcej informacji znajdziesz w artykule Sky Data in KML.

Które tagi KML są obsługiwane przez program Google Earth?

Wszystkie tagi KML są obsługiwane przez program Google Earth. Listę wszystkich tagów znajdziesz w specyfikacji KML.

Gdzie znajdę przewodnik dla programistów?

Znajdziesz go na stronie https://developers.google.com/json/documentation/topicsinjson.html.


Dlaczego moje linie zniknęły?

Gdy wiersz ma ciąg clackToGround, przebiega bez problemu wzdłuż krzywej kuli ziemskiej. Jeśli jednak jest to „względneToGround”, może być konieczne dodanie większej liczby punktów lub narysowanie dłuższych linii wzdłuż prostej ścieżki przez kulę ziemską lub teren.

Na przykład ten ciąg znaków przenosi się przez Ziemię, skutecznie zanikając:

<kml xmlns="http://www.opengis.net/kml/2.2">
  <Placemark>
    <name>Untitled Path</name>
    <LineString>
      <tessellate>0</tessellate>
      <altitudeMode>absolute</altitudeMode>
      <coordinates>-115.415105,40.669016 -37.752364,34.879979</coordinates>
    </LineString>
  </Placemark>
</kml>

Dodanie większej liczby punktów zmniejszy ilość linii leżącej pod ziemią. Parametr <tessellate> powinien także mieć wartość „1”, aby wiersz przebiegał zgodnie z terenem.

<Placemark>
  <name>Untitled Path</name>
  <LineString>
    <tessellate>1</tessellate>
    <altitudeMode>relativeToGround</altitudeMode>
    <coordinates>
      -134.148103,37.752967 -128.917074,38.803008
      -125.166954,39.583592 -122.137625,39.656880
      -120.421783,40.036311 -118.298157,40.235316
      -114.348386,40.631532 -112.670431,40.761033
      -111.916045,40.681939 -110.177711,40.653055
      -109.544331,40.619327 -107.155697,40.642007
      -105.410526,40.421505 -103.192299,40.430138
      -102.853712,40.427904 -98.168302,40.363524
      -97.093391,40.308754 -94.831304,40.479175
      -93.760070,40.395392 -84.913828,39.466651
      -84.414888,39.387332 -81.380660,39.188551
      -80.276261,38.977744 -77.811560,38.872542
      -75.062267,38.521146 -72.006956,38.101733
      -66.67819,37.664687
    </coordinates>
  </LineString>
</Placemark>
Czy mogę narysować okrąg w KML?

W plikach KML nie ma geometrii okręgów, ale za pomocą linii można utworzyć wiele bardzo zbliżonych obiektów. Oto przykład.

Czy mogę zmienić linię w postaci linii przerywanej lub strzałek?

<LineStyle> umożliwia zmianę koloru, przezroczystości i rozmiaru linii. W tym momencie KML nie obsługuje jednak zmiany typów linii w KML.

Jak ukryć etykiety oznaczeń miejsc?

Etykieta wyświetlana obok oznaczenia miejsca w Google Earth zależy od elementu <name>. Jeśli element skali w StyleStyle ma wartość 0, możesz ukryć etykietę.

<Style id="hideLabel">
  <LabelStyle>
    <scale>0</scale>
  </LabelStyle>
</Style>
Dlaczego widzę błąd analizy?

Istnieją 2 główne przyczyny błędów analizy:

  1. Wielkość liter: w plikach KML, podobnie jak we wszystkich językach XML, wielkość liter ma znaczenie. Wszystkie nazwy elementów muszą mieć prawidłową wielkość liter. Na przykład: <Placemark> not <PLACEMARK> <href> not <Href> <Link> not <lInk>
  2. Niepełne tagi: wszystkie elementy muszą zaczynać się i kończyć tym samym tagiem. Czasami użytkownicy zapominają zamknąć tag lub pozostawić nawias trójkątny (< lub >)

    Na przykład:
    <nazwa>Atlanta</name> jest prawidłowa
    <name>Atlanta nie jest poprawna
    <nameAtlanta</name> nie jest poprawna
    <nameAtlanta<name> nie jest poprawna

Jak sprawdzić, czy zapisany przeze mnie plik KML jest prawidłowym plikiem KML?

KML to język znaczników XML. Możesz to sprawdzić na kilka sposobów:

  • Aby zweryfikować dokument, możesz użyć edytora XML, takiego jak Oxygen lub Netbeans. Zapoznaj się z dokumentacją wybranego edytora XML. Aby przeprowadzić weryfikację, musisz użyć schematu KML.
  • Możesz go sprawdzić za pomocą walidatora online, takiego jak Feedwaliator.org lub Walidator plików KML firmy Galdos. Dzięki temu zobaczysz wszystkie popełnione błędy, a także uzyskasz sugestie dotyczące stylu.
  • Niektóre edytory tekstu umożliwiają weryfikację XML. Aby na przykład zweryfikować plik KML, możesz użyć np. polecenia jEdit. Zapoznaj się z tym samouczkiem zespołu Google Earth Outreach.
Czy można kontrolować to, co jest wyświetlane na ekranie w taki sposób, aby użytkownik mógł zobaczyć więcej szczegółów, gdy znajduje się bliżej powierzchni Ziemi?

Tag regionu służy do kontrolowania funkcji wyświetlanych użytkownikowi. Najlepsze zasoby do uzyskania dodatkowych informacji na temat regionów to:

Czy w elemencie MultiGeometry mogę przypisywać różne kolory/style do różnych geometrii?

Element MultiGeometria grupuje elementy geometryczne w tym samym elemencie Placemark. Dzięki temu geometrie mogą współdzielić ten sam styl i wyświetlać się jako jeden element na liście, na przykład w panelu Moje miejsca w Google Earth.

Style są ustawiane na poziomie oznaczenia miejsca za pomocą elementu styleUrl lub Style. W związku z tym poszczególne elementy geometryczne w tym oznaczeniu miejsca nie mogą mieć różnych stylów.

Często stosowanym obejściem jest utworzenie osobnego oznaczenia miejsca dla każdej geometrii, dzięki czemu każdy typ będzie miał inny styl. Aby zapobiec ekspansji elementów na liście, umieść je w folderze o elemencie ListStyle z atrybutem listItemType i checkHideChildren. Na przykład w programie Google Earth powoduje to umieszczenie wszystkich oznaczeń miejsc w tym samym elemencie folderu w Moich miejscach i uniemożliwia użytkownikowi otwarcie tej strony w celu wyświetlenia dużej liczby elementów.


Czy mogę otworzyć dymek podczas otwierania pliku KML?

W tej chwili plik KML nie obsługuje możliwości otwierania dymka podczas otwierania pliku KML. Jeśli jednak używasz kotwic kotwicy, możesz utworzyć link w dymku, który spowoduje otwarcie drugiego pliku KML lub innego dymka.

Czy po odświeżeniu urządzenia NetworkLink mogę mieć otwarty dymek?

W tej chwili KML nie obsługuje zachowania stanu dymków, gdy NetworkLink zostanie odświeżony.

Czy mogę wyświetlić pliki KML utworzone przez użytkowników?

W tym momencie nie możesz używać NetworkLink do przechwytywania pliku KML utworzonego przez użytkownika w Google Earth lub Mapach Google. Możesz jednak użyć interfejsu API JavaScript Map Google jako narzędzia do tworzenia plików KML, aby zarejestrować te informacje z powrotem na serwerze. Przykład: GeoDataStore.

Czy mogę sterować suwakiem czasu w pliku KML?

Suwak czasu w pliku KML jest wyświetlany natychmiast po otwarciu pliku KML z elementem TimeStamp lub TimeSpan. Suwak czasu znajduje wszystkie zaznaczone aktualnie sygnatury czasowe i sygnatury czasowe oraz dostosowuje się do wybranych dat. KML nie umożliwia obecnie większej kontroli nad suwakiem czasu, np. ustawić bieżącą godzinę lub wybrać zakres czasowy. Więcej informacji o używaniu funkcji Czas znajdziesz w artykule Czas i animacja.

Jak utworzyć interaktywność w formacie KML? Czy mogę wstawić Formularze do kodu HTML w dymkach opisu KML?

W tej chwili KML w Google Earth obsługuje tylko podzbiór HTML opisujący prezentację, a nie interakcję.

Można jednak tworzyć formularze Flash w formacie KML używanym w programie Google Earth. W tym celu umieść aplikację Flash w kodzie HTML za pomocą dymka z opisem w formacie KML.


Czy mogę automatycznie tworzyć pliki KML za pomocą arkusza kalkulacyjnego?

Możesz to zrobić na kilka sposobów.

  • Zrób to automatycznie, używając własnej aplikacji do analizy plików CSV i tworzenia na ich podstawie plików KML. Przykład znajdziesz w artykule Konwertowanie plików CSV do formatu KML.
  • Użyj arkusza kalkulacyjnego online. Na przykład zespół Google Earth Outreach stworzył Narzędzie do tworzenia arkuszy kalkulacyjnych oparte na Arkuszach kalkulacyjnych Google.
  • Użyj jednego z narzędzi programu Excel do tworzenia plików KML, takich jak [link to tek's thread]this
  • Użyj Google Earth Plus lub Pro, aby wczytać pliki, a następnie zapisz je jako pliki KML lub KMZ
Dlaczego moje pliki KML nie są prawidłowo pobierane z serwera WWW?

Serwery WWW muszą być informowane, jakie typy plików udostępniają. Niektóre przeglądarki, takie jak Firefox, odgadują typ pliku. Inne, takie jak Internet Explorer, wymagają ustawienia typu MIME serwera WWW.

W przypadku serwera Apache należy umieścić w httpd.conf te dwa wiersze:

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

W przypadku serwera Internetowego serwera Microsoft firmy Microsoft stosuje się te wskazówki:

IIS w wersji 6.0:

http://support.microsoft.com/kb/326965/pl

IIS 4.0 i 5.0:

http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/iis/maintain/featusability/mimeiis.mspx

Jeśli zarządzasz własnym serwerem WWW, musisz zmienić własną konfigurację. W przeciwnym razie skontaktuj się z dostawcą hostingu witryn i poproś o dokonanie zmian.


Dlaczego moje treści z dymków mogą zawierać adresy URL obrazów w nieprawidłowym formacie?

Niedawna zmiana w Google Earth zmienia sposób przetwarzania linków do treści wewnątrz dymków funkcji, aby zwiększyć czytelność nieokreślonych zachowań. Kliknięcie linku w pliku KMZ o nieprawidłowej strukturze linków przeniesie użytkowników na stronę z informacją „Link, który do Ciebie wysłał, może być nieprawidłowo sformatowany. Kliknij link poniżej, aby wypróbować stary tryb”. Jeśli widzisz ten komunikat, zmień strukturę treści KML/KMZ, aby zachować pełną zgodność z przyszłymi wersjami Google Earth.

W tym artykule znajdziesz więcej informacji, m.in. o odpowiedniej modyfikacji struktury plików KMZ.

Na jaką treść wpływają nowe reguły względnej ścieżki?

Obecnie ta zmiana dotyczy tylko linków (adresów URL) w dymkach funkcji. Obejmuje to tagi <description> i <text> wewnątrz <BallonStyles>. Jednak przyszłe wersje Google Earth mogą być bardziej spójne, dlatego zawsze należy unikać katalogu nadrzędnego jako podstawowego adresu URL dla względnego linku w treściach KMZ.


Czy plik KML w Moich miejscach Google Earth jest wysyłany na serwery Google?

Nie. Plik KML utworzony w Google Earth lub wczytany w Google Earth przez użytkownika nie jest wysyłany do Google. Przetwarzanie i przechowywanie tych danych odbywa się na komputerze lokalnym.

Powrót do góry