Marek Kulawiak – Katedra Systemów Geoinformatycznych, Wydział ETI Trójwymiarowa wizualizacja danych przestrzennych Laboratorium 4. Format KML 1 Marek Kulawiak – Katedra Systemów Geoinformatycznych, Wydział ETI Wprowadzenie Niniejsze laboratorium ma na celu nauczenie studentów korzystania z programu Google Earth w celu wizualizacji danych przestrzennych na powierzchni trójwymiarowego modelu Ziemi, a także zapisywania uzyskanych wyników na dysku twardym i modyfikowania ich za pomocą edytora tekstowego. Zadanie 1. (0,5 punktu) W programie Google Earth stwórz nowy katalog o nazwie identycznej z Twoim numerem indeksu. Zapisz ten katalog jako plik o rozszerzeniu KML w wybranym miejscu na lokalnym dysku (przypuszczalnie będzie to partycja E). Za pomocą interfejsu programu Google Earth dodaj do swojego katalogu nowy obiekt typu Placemark. Umieść ten obiekt w miejscu o zróżnicowanym, najlepiej górzystym terenie. W opisie Placemarka zamieść swoje imię oraz nazwisko. Zadanie 2. (0,5 punktu) Stwórz dwie linie i umieść je obok obiektu dodanego w poprzednim zadaniu. Pierwsza z nich powinna przylegać do powierzchni Ziemi, natomiast druga powinna unosić się w powietrzu na jakiejś wysokości względnej. Ustaw grubość i kolor obu linii w taki sposób, żeby były one łatwo widoczne. Zadanie 3. (0,5 punktu) Niedaleko poprzednich obiektów umieść nowy, przejrzysty wielokąt. Nadaj mu stałą wysokość bezwzględną. Upewnij się, że dodane przez Ciebie pliki znajdują się w tym samym katalogu co poprzednio, po czym ponownie zapisz go na dysku w formacie KML. Zadanie 4. (1 punkt) Zmodyfikuj stworzony przez Ciebie plik KML za pomocą edytora tekstowego w taki sposób, żeby obiekt typu Placemark zawierał element typu Camera. Przypisz kamerze takie wartości, żeby wskazywała ona na wszystkie dotychczas stworzone obiekty. Zaimportuj plik KML z powrotem do programu Google Earth. Wskazówka: Zamiast „ręcznie” tworzyć obiekt Camera, możesz skorzystać z programu Google Earth w celu wygenerowania elementu LookAt przypisanego do Twojego obiektu (Właściwości obiektu → Widok → Uchwyć bieżący widok), a następnie przekształcić go do postaci elementu Camera za pomocą edytora tekstowego. Zadanie 5. (0,5 punktu) W dowolnym miejscu na mapie stwórz nowy wielokąt o obszarze przynajmniej kilku kilometrów kwadratowych. Za pomocą mechanizmu Level of Detail spraw, żeby wielokąt ten znikał ze świata przy odpowiednim oddaleniu kamery i pojawiał się dopiero przy zmniejszeniu odległości. Wskazówki: • • dodaj do pliku KML elementy Region oraz LatLonAltBox nie pomyl długości geograficznych z szerokościami geograficznymi! 2 Marek Kulawiak – Katedra Systemów Geoinformatycznych, Wydział ETI Zadanie 6. (0,5 punktu) Stwórz dwie kopie obiektu dodanego w poprzednim zadaniu i nadaj im różne kolory. Ponownie skorzystaj z mechanizmu Level of Detail i spraw, by w zależności od odległości od obserwatora, w dowolnej chwili spośród wszystkich trzech wielokątów widoczny był co najwyżej jeden z nich. Zadanie 7. (0,5 punktu) Dodaj do sceny kilka nowych obiektów i za ich pomocą stwórz prostą animację sterowaną za pomocą suwaka dostępnego w Google Earth. Wykorzystaj w tym celu element TimeSpan. Przykładowe zadania poprawkowe: 1. Stwórz własne archiwum KMZ zawierające trójwymiarowy model stworzony na podstawie wykonanych przez Ciebie zdjęć z poprzedniego zadania (3 punkty). W tym celu należy: a) skorzystać z wybranej przez siebie aplikacji do rekonstrukcji trójwymiarowych modeli na podstawie zdjęć (np. PhotoScan lub StereoScan), b) wczytać wybrane przez siebie dwa zdjęcia przedstawiające ten sam obiekt sfotografowany z lewej i z prawej strony, c) wygenerować trójwymiarowy model i zapisać go na dysku w formacie COLLADA (o rozszerzeniu .dae) wraz z teksturą, d) stworzyć nowy plik KML z odpowiednio zdefiniowanym elementem Model, opisującym m.in. położenie, skalę i orientację modelu oraz relatywną ścieżkę do pliku DAE, e) utworzyć archiwum w formacie ZIP zawierającym pliki modelu oraz opisujące je plik KML, f) zmienić rozszerzenie archiwum na KMZ i wczytać je do programu Google Earth. g) Położenie, skala i obrót modelu powinny jak najlepiej odzwierciedlać fotografowany obiekt w rzeczywistym świecie. Nadaj też obiektowi właściwą nazwę i opis (o ile to możliwe). W celu stworzenia odpowiedniego pliku KML możesz się posłużyć poniższym wzorcem: <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"> <Folder> <name>Nazwa obiektu</name> <description>opis</description> <visibility>1</visibility> <Placemark> <name>Nazwa</name> <description></description> <Style id="default" /> <Model> <altitudeMode> relativeToGround </altitudeMode> 3 Marek Kulawiak – Katedra Systemów Geoinformatycznych, Wydział ETI <Location> <latitude>54.4132761</latitude> <longitude>18.5929629</longitude> <altitude>15</altitude> </Location> <Orientation> <heading>0</heading> <tilt>0</tilt> <roll>0</roll> </Orientation> <Scale> <x>1</x> <y>1</y> <z>1</z> </Scale> <Link> <href>files/plik.dae</href> </Link> </Model> </Placemark> </Folder> </kml> Dodatkowe informacje 1. Opis formatu KML i jego podstawowych elementów: https://developers.google.com/kml/documentation/kml_tut 2. Podstawowe informacje o elemencie Camera: https://developers.google.com/kml/documentation/cameras 3. Informacje o mechanizmie Level of Detail oraz elemencie Region: https://developers.google.com/kml/documentation/regions 4. Elementy formatu KML związane z animacją: https://developers.google.com/kml/documentation/time 5. Szczegółowy opis wszystkich elementów dostępnych w KML (w tym Camera, Region oraz TimeSpan): https://developers.google.com/kml/documentation/kmlreference 6. Zasady tworzenia archiwów KMZ: https://developers.google.com/kml/documentation/kmzarchives 4