Przekształcenie danych przestrzennych w interaktywne mapy dostępne na stronach www (WARSZTATY, poziom zaawansowany)



Podobne dokumenty
Przekształcenie danych przestrzennych w interaktywne mapy dostępne na stronach www (WARSZTATY, poziom podstawowy)

Podręcznik użytkownika. Instrukcje

Google Earth. Co to jest Google Earth? Co to jest KML? Skąd można pobrać Google Earth?

Scenariusze obsługi danych MPZP

GENERATOR OFERTY PDF DOKUMENTACJA UŻYTKOWA 1/20

Ćwiczenie 4: Edycja obiektów

Zdarzenia Zdarzenia onload i onunload

Maskowanie i selekcja

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Kadry Optivum, Płace Optivum

Geofabrik.

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

1.3. Tworzenie obiektów 3D. Rysunek 1.2. Dostępne opcje podręcznego menu dla zaznaczonego obiektu

Wikispaces materiały szkoleniowe

Instrukcja użytkowania

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

Przedszkolaki Przygotowanie organizacyjne

KRAJOWA MAPA ZAGROŻEŃ BEZPIECZEŃSTWA INSTRUKCJA OBSŁUGI

Praca w programie Power Draft

Laboratorium 7 Blog: dodawanie i edycja wpisów

Praca w programie Power Draft

Ćwiczenia nr 2. Edycja tekstu (Microsoft Word)

Danuta ROZPŁOCH-NOWAKOWSKA Strona Moduł 4. Przykład 1. Przykład 2. HTML 4.01 Transitional).

KRAJOWA MAPA ZAGROŻEŃ BEZPIECZEŃSTWA INSTRUKCJA OBSŁUGI

plansoft.org Zmiany w Plansoft.org

Zadanie 1. Stosowanie stylów

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Modelowanie obiektowe - Ćw. 1.

Programowanie obiektowe

Jak posługiwać się edytorem treści

OPERACJE NA PLIKACH I FOLDERACH

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Instrukcja wypełniania formularza Ankieta Trwałości

UONET+ moduł Dziennik. Praca z rozkładami materiału nauczania

Spis treści. Rozdział 2. Graficzna oprawa witryny...z Stosowanie motywu...s...s.. 19

Tworzenie prezentacji w MS PowerPoint

Rys.2.1. Drzewo modelu DOM [1]

Zadanie 10. Stosowanie dokumentu głównego do organizowania dużych projektów

Spis treści. tel.:

Podstawy JavaScript ćwiczenia

Automatyzacja wstawiania części do złożenia

Instalowanie VHOPE i plików biblioteki VHOPE

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Maple i wykresy. 1.1 Najpierw należy się zalogować. Jak to zrobić zostało opisane w moim poprzednim tutorialu.

GIS / Projekt obiektu elektroenergetycznego. Ćwiczenia 2 Mapa wektorowa PG/ Warstwy

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

Rozwiązanie ćwiczenia 7a

Dokumentowanie zajęć realizowanych w ramach kształcenia modułowego

Modelowanie części w kontekście złożenia

Zaawansowane aplikacje internetowe

SPIS TREŚCI. Sposób pierwszy... 3 Sposób drugi Ikony banków Ikony dostawców Strona1

Płace VULCAN. Jak na podstawie wbudowanego szablonu utworzyć własny szablon wydruku seryjnego?

Damian Daszkiewicz Tworzenie strony-wizytówki dla firmy XYZ

C-geo definicja/edycja obiektów, zapis danych w formacie shape


Jeśli chodzi o wymianę/dodanie zdjęcia w galerii to robimy to za pomocą komponentu Galeria Phoca.

UONET+ moduł Dziennik

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG

Stosowanie, tworzenie i modyfikowanie stylów.

Jak przesłać mapę do urządzenia lub na kartę pamięci?

Instrukcja obsługi uczelnianego systemu zarządzania stronami internetowymi (CMS)

Unity 3D - pierwsze skrypty

learningpanel - materiały pomocnicze - JAK ZROBIĆ... Jak zrobić...

Zasoby dyskowe: Eksplorator Windows Z zasobami dyskowymi związane są nierozłącznie prawa dostępu gwarantujące możliwość odczytu, kasowania,

5. Kliknij teraz na ten prostokąt. Powinieneś w jego miejsce otrzymać napis. Jednocześnie została wywołana kolejna pozycja menu.

Funkcje i instrukcje języka JavaScript

Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt

Kadry VULCAN, Płace VULCAN

IPportal. Podręcznik użytkownika. Wydanie 4/06/2015 INSPE-PROJEKT 2015

Jak dopasować pola szablonu świadectwa, aby na stronie z wynikami klasyfikacji rocznej poprawnie drukowały się długie nazwy przedmiotów?

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

5.6.2 Laboratorium: Punkty przywracania

Rys. 1. Brama przesuwna do wykonania na zajęciach

DODAWANIE ARTYKUŁÓW DO STRONY INTERNETOWEJ

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Instrukcja obsługi szablonów aukcji

Zajęcia 4 - Wprowadzenie do Javascript

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda

W kolejnym odcinku zajmiemy się umieszczaniem w naszym projekcie zestawu ikon służących szybkiemu korzystaniu z opcji programu.

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.)

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Platforma szkoleniowa krok po kroku. Poradnik Kursanta

Praca w programie Power Draft

W dowolnej przeglądarce internetowej należy wpisać poniższy adres:

Rozwiązanie ćwiczenia 8a

METODY REPREZENTACJI INFORMACJI

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

KRAJOWA MAPA ZAGROŻEŃ BEZPIECZEŃSTWA INSTRUKCJA OBSŁUGI

Wstęp 5 Rozdział 1. Instalacja systemu 13. Rozdział 2. Logowanie i wylogowywanie 21 Rozdział 3. Pulpit i foldery 25. Rozdział 4.

System UONET+ przystosowany jest do dokumentowania zajęć w szkołach zawodowych, w których nauczanie odbywa się w oparciu o programy modułowe.

Techniki zaznaczania plików i folderów

Palety by CTI. Instrukcja

UONET+ moduł Dziennik. Praca z rozkładami materiału nauczania

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

Transkrypt:

Wrocławski Instytut Zastosowań Informacji Przestrzennej i Sztucznej Inteligencji Przekształcenie danych przestrzennych w interaktywne mapy dostępne na stronach www (WARSZTATY, poziom zaawansowany) Szkolenia dla pracowników resortu środowiska w zakresie tematyki dotyczącej wdrożenia dyrektywy INSPIRE str. 1

Spis treści 1 Wstęp... 3 1.1 Cel i zakres warsztatów... 3 2 Ćwiczenia szkoleniowe... 3 2.1 Edycja dokumentu HTML stylizacja komponentu mapowego... 3 2.2 Programowanie prostej interakcji z mapą... 7 2.3 Programowanie interakcji z punktową warstwą GeoJSON... 8 2.4 Programowanie interakcji z obiektami powierzchniowymi.... 10 str. 2

1 Wstęp 1.1 Cel i zakres warsztatów Materiały szkoleniowe przeznaczone do niniejszych warsztatów składają się z kilkunastu zadań wykonywanych w trakcie szkolenia. Zadania te rozpoczyna, omawia i nadzoruje prowadzący, kierując uczestników do celu i omawiając zagadnienia niezbędne dla pełnego zrozumienia tematu. Zestaw ćwiczeń został przygotowany w sposób, który pozwala na zrozumienie podstawowych technologii związanych z siecią WWW (zapoznanie z szablonem dokumentu HTML, CSS, bibliotekami (Leaflet) skryptami Java), technologii WebGIS, możliwości publikacji danych przestrzennych w sieci WWW oraz tworzenie interaktywnych map na stronach WWW. Poziom zaawansowany skupia się na edycji kodu strony HTML oraz skryptów JavaScript w celu programowania interakcji komponentu mapowego Leaflet i stanowi uzupełnienie dla poziomu podstawowego. 2 Ćwiczenia szkoleniowe 2.1 Edycja dokumentu HTML stylizacja komponentu mapowego A. Uczestnik zapozna się ze strukturą dokumentu HTML oraz dokona modyfikacji kodu HTML w celu dodania znaczników (markerów) do komponentu mapowego. B. Kolejne kroki: 1) w folderze /home/user/dane kliknij prawym przyciskiem myszy na plik index.html, a następnie lewym przyciskiem myszy medit 2) pomiędzy znaczniki <script type="text/javascript"></script> wstaw kod: L.marker([ 51.1256, 17.0039 ]).addto(map); Zapisz zmiany w pliku HTML (File-> Save lub Ctrl + S) oraz odśwież stronę w przeglądarce. str. 3

Rysunek 27: Edycja pliku HTML str. 4

Rysunek 28: Plik HTML w przeglądarce po modyfikacji 3) dokonaj kolejnych modyfikacji dokumentu HTML, wklejając następujący kod podobnie jak w punkcie 2: L.circle([51.1256, 17.0039]).setRadius(2500.0).addTo(map); L.popup().setLatLng([51.0901, 17.0639]).setContent("Informacja!").openOn(map); map.attributioncontrol.addattribution("dane: OpenStreetMap"); L.control.scale().addTo(map); Nie zapomnij zapisać zmian w pliku HTML po modyfikacji (File-> Save lub Ctrl + S) str. 5

Rysunek 29: Plik HTML w przeglądarce po modyfikacji 4) omówienie wprowadzonych zmian przez prowadzącego, 5) dodaj kilka znaczników, okręgów, okien informacyjnych w innych punktach mapy (Uwaga! Współrzędne muszą być podane w układzie WGS84). str. 6

2.2 Programowanie prostej interakcji z mapą Komponent Leaflet umożliwia oprogramowanie interakcji z mapą za pomocą obsługi zdarzeń. Pierwsze proste ćwiczenie polega na dodaniu kodu JavaScript odpowiedzialnego za obsługę zdarzenia kliknięcia lewym przyciskiem myszy na mapie. UWAGA! Pliki, na których pracujemy w tej części ćwiczeń znajdują się w podkatalogu interakcja (/home/user/dane/interakcja). Po uruchomieniu pliku interakcja.htm w przeglądarce internetowej pojawi się prosty komponent mapowy z załadowaną warstwą podkładową i przybliżeniem na obszar centrum miasta Wrocław. Aby dodać kod odpowiedzialny za dodanie obsługi kliknięcia należy otworzyć plik interakcja1.htm w edytorze tekstu. Dodajmy następujący fragment kodu w odpowiednio wskazane miejsce w pliku. map.on('click', function(e) { alert("lat: "+e.latlng.lat+"\nlon: "+e.latlng.lng); Przeładuj stronę (F5) I sprawdź co stanie się po kliknięciu na obszarze mapy. Jeśli pojawiło się okienko pokazujące współrzędne kliknięcia to ćwiczenie zostało wykonane poprawnie. Wykorzystajmy wcześniej zdobytą wiedzę i zmodyfikujmy skrypt tak aby po kliknięciu na obszar mapy pojawił się nowy marker w obszarze kliknięcia. Aby to zrobić wystarczy zamienić linię kodu wywołującą metodę alert na następującą: L.marker([ e.latlng.lat,e.latlng.lng ]).addto(map); Proszę sprawdzić, czy zmiana zakończyła się powodzeniem. str. 7

2.3 Programowanie interakcji z punktową warstwą GeoJSON Warstwy GeoJSON umożliwiają umieszczanie na komponencie mapowym Leaflet warstw wektorowych. Możliwe jest oprogramowanie interakcji z poszczególnymi obiektami przestrzennymi znajdującymi się na tej warstwie. W tym ćwiczeniu oprogramowana zostanie interakcja z warstwą zawierającą punkty reprezentujące przystanki we Wrocławiu. Proszę o otwarcie pliku interakcja2.htm Za załadowanie warstwy z przystankami odpowiedzialny jest następujący fragment kodu, który znajduje się już w pliku interakcja2.htm. $.getjson("przystanki.json", function( data ) { przystanki = L.geoJson(data,{ pointtolayer: function (feature, latlng) { return L.marker(latlng); ).addto(map); Ładuje on warstwę znajdującą się w pliku przystanki.json. Efektem otwarcia w przeglądarce pliku interakcja2.htm będzie mapa z dodanymi znacznikami reprezentującymi przystanki. Warto jednak zmienić sposób wyświetlania takich punktów. Możemy to zmienić definiując odpowiedni obiekt ikony i przypisując go do nowych markerów. Następujący fragment kodu spowoduje utworzenie nowej ikony na podstawie obrazu bus.png. Kod znajduje się już w pliku interakcja2.htm. var ikona = L.icon({ iconurl: 'bus.png', iconsize: [16, 16] Należy teraz przypisać ikonę do nowoutworzonych markerów. Należy zmodyfikować linjkę: return L.marker(latlng); na: str. 8

return L.marker(latlng, {icon:ikona Kolejnym krokiem jest wyświetlenie informacji o przystanku po kliknięciu na jego ikonę. Można to zrobić przypisując do każdego z markerów odpowiednie okno informacyjne z tekstem utworzonym na podstawie atrybutu obiektu przestrzennego pochodzącego z pliku przystanki.json. Możliwe jest wykorzystanie atrybutu NAZWA_STAC. Należy zmodyfikować odpowiedni fragment skryptu (zaznaczono, które linijki zostały dodane). $.getjson("przystanki.json", function( data ) { przystanki = L.geoJson(data,{ pointtolayer: function (feature, latlng) { return L.marker(latlng,{icon:ikona, oneachfeature: function (feature, layer) { layer.bindpopup(feature.properties.nazwa_stac); ).addto(map); str. 9

Wykorzystana została metoda bindpopup, która powoduje przypisanie odpowiedniego okna informacyjnego do warstwy. Jej argument może być dowolnie zmieniany w celu zmiany zawartości okna. 2.4 Programowanie interakcji z obiektami powierzchniowymi. W podobny sposób możliwe jest programowanie interakcji z innymi typami obiektów przestrzennych pochodzących z warstwy geojson. Otwarcie pliku interakcja3.htm w przeglądarce internetowej spowoduje załadowanie warstwy wojewodztwa.json i umieszczenie jej w komponencie mapowym. str. 10

W podobny sposób możemy oprogramować interakcję kliknięcia w obiekt przestrzenny poprzez modyfikację kodu. $.getjson("wojewodztwa.json", function( data ) { wojewodztwa = L.geoJson(data,{ oneachfeature: function (feature, layer) { layer.bindpopup(feature.properties.jpt_nazwa_); ).addto(map); Każda informacja znajdująca się w odpowiednio przygotowanej warstwie może zostać wyświetlona. Wystarczy przygotować w środowisku QGIS odpowiednie warstwy i zapisać je jako plik GeoJSON. Możliwa jest oczywiście zmiana stylu wyświetlania warstwy. Aby zaznaczyć granice województw dodajmy następujący kod: wojewodztwa.setstyle( { weight: 2, color: '#f00', dasharray: '', fillopacity: 0.0 ); Możliwa jest również zmiana podświetlonego województwa, czyli takiego nad którym znajduje się kursor myszy. Aby to zrobić należy oprogramować dla każdego z obiektów przestrzennych 2 zdarzenia: mouseover zmień styl gdy nad obiektem znajduje się kursor, mouseout ustaw początkowy styl, gdy kursor wyjedzie poza obiekt przestrzenny. str. 11

Fragment kodu odpowiedzialny za zmianę stylizacji: var wojewodztwa=null; $.getjson("wojewodztwa.json", function( data ) { wojewodztwa = L.geoJson(data,{ oneachfeature: function (feature, layer) { layer.bindpopup(feature.properties.jpt_nazwa_); layer.on({ mouseover: function(e) { var layer = e.target; layer.setstyle({ fillopacity : 0.5, mouseout: function(e) { layer.setstyle({ fillopacity : 0.0 ).addto(map); str. 12