Interoperacyjność i proces harmonizacji w ramach INSPIRE (poziom zaawansowany)

Podobne dokumenty
Interoperacyjność i proces harmonizacji w ramach INSPIRE (poziom średniozaawansowany)

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

Ministerstwo Finansów

Scenariusze obsługi danych MPZP

Instrukcja użytkownika

PUE ZUS Wysyłka elektronicznych zapytan. Instrukcja wysyłki zapytań do ZUZ-PUE za pomocą aplikacji Komornik SQL

Jak eksportować dane uczniów do programu HERMES?

Podręcznik Użytkownika LSI WRPO

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Konwerter XML Dla Programów Symfonia Kadry i Płace oraz Forte Kadry i Płace

Szybka instrukcja tworzenia testów dla E-SPRAWDZIAN-2 programem e_kreator_2

Instrukcja. importu dokumentów. z programu Fakt do programu Płatnik. oraz. przesyłania danych do ZUS. przy pomocy programu Płatnik

Nowa Netia administrator firmy Nagrywanie połączeń-zarządzanie

SimplySign logowanie i rejestracja na komputerze oraz dodanie certyfikatu do programu Płatnik

Certyfikat kwalifikowany

Wszystko na temat wzoru dokumentu elektronicznego

Dlaczego GML? Gdańsk r. Karol Stachura

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

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

JPK w programie Ewa - fakturowanie i magazyn

Opis modułu pl.id w programie Komornik SQL-VAT

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

Instrukcja importu dokumentów z programu Fakt do programu Płatnik

Kopiowanie ustawień SolidWorks

Instrukcja wczytywania i przekazywania zbiorów centralnych w Centralnej Aplikacji Statystycznej (CAS) przez użytkowników podobszaru PS

Instrukcja automatycznego tworzenia pozycji towarowych SAD na podstawie danych wczytywanych z plików zewnętrznych (XLS).

WOJEWÓDZTWO PODKARPACKIE

PUE ZUS Wysyłka elektronicznych zapytan. Instrukcja wysyłki zapytań do ZUZ-PUE za pomocą aplikacji Komornik SQL

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

Opis modułu pl.id w programie Komornik SQL-VAT

Elektroniczny Urząd Podawczy

System imed24 Instrukcja Moduł Analizy i raporty

Uruchomienie aplikacji elektronicznych na platformie epuap

METODY REPREZENTACJI INFORMACJI

Mechanizm generowania edeklaracji

Instrukcja obsługi. Generatora CSV

SymSync integracja danych Opencart/Prestashop Symfonia Handel Instrukcja obsługi

Włączanie/wyłączanie paska menu

Opis ćwiczeń zrealizowanych podczas szkolenia

JPK VAT wysyłka za pośrednictwem profilu zaufanego z systemu epuap

Opis aktualizacji programu Kancelaria Komornika

Instrukcja obsługi Multiconverter 2.0

Instrukcja użytkownika aplikacji modernizowanego Systemu Informacji Oświatowej PRACA NA WIELU BAZACH DANYCH

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

ZESTAW LABORATORYJNY I ZESTAW FARMACEUTYCZNY : Instrukcja instalacji

SubSyncEU integracja danych Subiekt GT + Sfera/ Nexo PRO Easy Uploader Instrukcja obsługi

Instrukcja wczytywania i przekazywania zbiorów centralnych w Centralnej Aplikacji Statystycznej przez użytkowników podobszaru SR

KS-AOW. Obsługa komunikacji Zintegrowanego Systemu Monitorowania Obrotu Produktami Leczniczymi w systemie aptecznym KS-AOW. I.

Inwentarz Optivum. Jak wykorzystać kolektor danych do wypełniania arkuszy spisowych?

Instrukcja użytkownika

INSTRUKCJA OBSŁUGI KREATORA SKŁADANIA WNIOSKÓW

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

XML i nowoczesne technologie zarządzania treścią 2007/08

Arkusz Optivum. Jak eksportować do SIO dane z Arkusza Optivum?

Instrukcja obsługi DHL KONWERTER 1.6

Instrukcja instalacji certyfikatu kwalifikowanego w programie Płatnik. wersja 1.8

Uniwersytet Zielonogórski. Kurs: Autodesk 3D Studio MAX Komputerowa grafika 3D. 3dsmax Teksturowanie obiektów 3D

Wysyłka wniosko w ZUS - EKS. Instrukcja użytkownika aplikacji Wysyłka wniosków ZUS EKS

INSTRUKCJA. ERP OPTIMA - Obsługa w zakresie podstawowym dla hufców. Opracował: Dział wdrożeń systemów ERP. Poznań, wersja 1.

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4

Jednolity Plik Kontrolny w IFK

Makropolecenia w PowerPoint Spis treści

Obsługa systemu OGNIVO w aplikacji Kancelaria Komornika

1 Rejestrator czasu pracy

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

Jak pracować grupowo nad plikiem SIO podczas eksportu danych z programów Optivum?

poniżej przykład modyfikacji UTM34N (oczywiście bez tego co w nawiasach) (elipsoida zostaje taka sama, jak zresztą we wszystkich podobnych UTMach),

Tworzenie kampanii mailowych. Tworzenie kampanii mailowych.

8. Generowanie raportów

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

Instalacja i opis podstawowych funkcji programu Dev-C++

Dokumentacja Użytkownika Systemu

Instrukcja uŝytkownika


Paczki przelewów w ING BankOnLine

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Edytor materiału nauczania

GML w praktyce geodezyjnej

Procedura wczytania danych sprawozdawczych za I kw 2006 z systemu BudzetST II do systemu

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Koncepcja systemu informatycznego realizującego w środowisku Oracle Spatial proces generalizacji modelu BDOT10 do postaci BDOT50

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

MECHANIZM WYMIANY DANYCH ORAZ ROZLICZEŃ APTEKA NFZ

Jednolity Plik Kontrolny w IFK

Funkcjonalność AOW w zakresie mechanizmu wymiany danych oraz rozliczeń Apteka NFZ w roku 2012

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

PWI Instrukcja użytkownika

Zadanie 2. Tworzenie i zarządzanie niestandardową konsolą MMC

Dodawanie stron do zakładek

Finanse. Jak wykonać import listy płac z programu Płace Optivum do aplikacji Finanse?

Jak wykonać eksport danych do SIO z aplikacji Kadry VULCAN?

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

INSTRUKCJA INSTALACJI I OBSŁUGI ZBIORCZE E-DEKLARCJE. dla Kadr Plac i ZUS PRO

Tworzenie szablonów użytkownika

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento 2 (plugin dostępny w wersji ecommerce)

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

Instrukcja do aplikacji Trezor BUZA Moduł Wykonanie Planów Finansowych

Transkrypt:

Wrocławski Instytut Zastosowań Informacji Przestrzennej i Sztucznej Inteligencji Interoperacyjność i proces harmonizacji w ramach INSPIRE (poziom zaawansowany) Szkolenia dla pracowników resortu środowiska w zakresie tematyki dotyczącej wdrożenia dyrektywy INSPIRE

Spis treści 1 Informacje ogólne o dokumencie... 3 1.1 Adresaci dokumentacji... 3 1.2 Zakres przedmiotowy dokumentacji... 3 2 Zadanie I Tworzenie dokumentów XML.... 3 3 Zadanie 2 Xpath język ścieżek.... 5 4 Zadanie 3 Opracowanie schematu XSD dla pliku XML.... 6 5 Zadanie 4 Walidacja pliku GML.... 8 6 Zadanie 5 XSLT w praktyce.... 9 7 Zadanie 6 HALE przykładowa harmonizacja.... 10 8 Harmonizacja w HALE zadanie dodatkowe.... 20 str. 2

1 Informacje ogólne o dokumencie 1.1 Adresaci dokumentacji Adresatami instrukcji są użytkownicy, którzy są lub mogą być zainteresowani przetwarzaniem danych przestrzennych zapisanych w formacie XML/GML. 1.2 Zakres przedmiotowy dokumentacji Materiały szkoleniowe w części ćwiczeniowej składają się z kilku 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. Opracowany program ma również na celu przekazanie uczestnikom kompetencji i wiedzy, dzięki którym będą potrafili samodzielnie wykorzystywać poznane narzędzia. Zadania do realizacji w czasie ćwiczeń, zostały przygotowane w porządku, wskazującym zalecaną kolejność ich wykonania. Każde z nich oznaczone kolejnym numerem, tj. 1, 2, oraz tytułem, składa się z dwu części A i B. Część A w kilku zdaniach przedstawia problem i precyzuje zadanie do rozwiązania, stawiając wyraźny cel i określając rezultat. Cześć B natomiast podaje w sposób ogólny kolejne kroki, prezentujące poprawny plan realizacji zadania. Agenda z części B jest realizowana przez wszystkich uczestników, a szczegółowo omawia ją i wykonuje prowadzący. Materiał przedstawiający ćwiczenia został również zilustrowany zrzutami ekranowymi. 2 Zadanie I Tworzenie dokumentów XML. A) Opis zadania: Celem pierwszego, wprowadzającego do zagadnienia XML, ćwiczenie będzie utworzenie prostego dokumentu XML w edytorze tekstu Notepad++ z wykorzystaniem dodatku XML Tools. Dokument powinien być poprawnie sformatowanym dokumentem XML (well-formed) opisującym dane kontaktowe i zawierającym: Nagłówek XML, Element nadrzędny kontakty, Dwa elementy kontakt reprezentujące pojedyncze kontakty zawierające: atrybut plec, element imie, element nazwisko, element telefon, element mail, element złożony adres posiadający elementy potomne: element ulica, element miejscowosc, element kod-pocztowy. Elementy i atrybuty powinny być wypełnione przykładowymi danymi. B) Realizacja: str. 3

a) Pierwszym krokiem jest uruchomienie programu Notepad++ posiadającego zainstalowane rozszerzenie XML Tools. Rysunek 1 Okno programu Notepad++ b) W edytorze należy wskazać, że tworzony plik będzie plikiem XML o kodowaniu UTF-8. W tym celu z menu Format należy zaznaczyć opcje Koduj w UTF-8 (bez BOM). Następnie w menu Język wybrać XML. c) Pierwszym etapem tworzenia nowego pliku XML powinno być wprowadzenie nagłówka XML deklarującego wersję i sposób kodowania (który jest zgodny z tym ustalonym w edytorze tekstu). <?xml version="1.0" encoding="utf-8"?> d) Po zdefiniowaniu nagłówka tworzonego pliku można przystąpić do edycji zawartości. Elementem wymaganym do poprawnego utworzenia pliku XML jest element nadrzędny, który w tym ćwiczeniu powinien nazywać się kontakty. Pod nagłówkiem należy dopisać więc: <?xml version="1.0" encoding="utf-8"?> <kontakty></kontakty> e) Wewnątrz elementu kontaktu należy dodać element kontakt reprezentujący pojedynczy kontakt. <kontakty xmlns="http://test.org/test"> <kontakt></kontakt> </kontakty> f) Element kontakt powinien posiadać elementy proste (posiadające zawartość) - imie, nazwisko, telefon, mail np.: <?xml version="1.0" encoding="utf-8"?> <kontakty xmlns="http://test.org/test"> <kontakt> <imie>janusz</imie> <nazwisko>dzięcioł</nazwisko> str. 4

<telefon>+4812345678</telefon> <mail>janusz.dzieciol@mail.com</mail> </kontakt> </kontakty> g) Kolejnym krokiem jest dodanie elementu złożonego adres wewnątrz elementu kontakt posiadającego elementy proste: ulica, miejscowosc oraz kod-pocztowy : <adres> <ulica>grabiszyńska 241a</ulica> <miejscowosc>wrocław</miejscowosc> <kod-pocztowy>53-234</kod-pocztowy> </adres> h) Ostatnim krokiem jest dodanie do elementu kontakt atrybutu plec : <kontakt plec="m"> i) Plik powinien zawierać jeszcze jedną pozycję kontaktu, którą należy zdefiniować podobnie jak w krokach 5-7. Po utworzeniu dokumentu należy do zapisać. j) Poprawność pliku XML można zweryfikować wybierając opcję Check XML syntax now z menu Pluginy XML Tools. Jeśli dokument został stworzony poprawnie to powinien pojawić się komunikat: Rysunek 2Test składniowy. 3 Zadanie 2 Xpath język ścieżek. A) Opis zadania: Ćwiczenie ma na celu zapoznanie uczestników warsztatów z językiem XPath wykorzystywanym w arkuszach przekształceń XSLT. Pozwala on na lokalizowanie i wydobywanie elementów z dokumentu XML. B) Realizacja: a) W celu przetestowania kilku zapytań języka XPath należy w edytorze Notepad++ otworzyć dokument kontakty_duze.xml. Zawiera on listę kontaktów do pracowników i klientów pewnej firmy. b) Zapytania XPath można wprowadzać w okno aktywowane za pomocą opcji Evaluate XMLPath expression dostępne z menu Pluginy XML Tools. Po wprowadzeniu formuły i wciśnięciu przycisku Evaluate powinny pojawić się wyniki zapytania (o ile formuła była prawidłowa). c) Wyświetlenie wszystkich elementów znajdujących się w elemencie nadrzędnym dane poprzez zapytanie /dane/*. str. 5

Rysunek 3Wynik zapytania. d) Wyświetlenie wszystkich imion znajdujących się w kontaktach: //imie e) Wyświetlenie wszystkich imion i nazwisk: //imie //nazwisko f) Wyświetlenie nazwisk klientów: //osoba[@typ="pracownik"]/nazwisko g) Wyświetlenie prywatnych numerów telefonów pracowników: //osoba[@typ="pracownik"]/telefon[@typ="prywatny"] h) Wyliczenie wszystkich osób: count(/dane/osoba) i) Nazwiska pracowników zarabiających więcej niż 4000 zł: //nazwisko[../pensja>4000] 4 Zadanie 3 Opracowanie schematu XSD dla pliku XML. A) Opis zadania: Celem ćwiczenia jest uzupełnienie brakujących definicji elementów w przygotowanym schemacie XML Schema walidującym wcześniej przygotowane pliki XML zawierające kontakty. Schemat posiada zdefiniowane: element nadrzędny kontakty, element kontakt, wystąpienie elementu adres bez definicji, wystąpienie atrybutu plec o typie plec, który nie jest zdefiniowany W celu poprawnej walidacji należy więc dodać w schemacie: dodanie do elementu kontakt definicji elementów prostych imie, nazwisko, telefon i mail o typach xs:string, zdefiniowanie typu prostego plec, który będzie enumeracją o dozwolonych wartościach { m, k }, zdefiniowanie elementu złożonego adres, który będzie zawierał elementy proste (typ xs:string): ulica, miejscowosc, kod-pocztowy. B) Realizacja: str. 6

a) Elementy proste imie, nazwisko, telefon i mail powinny być zdefiniowane wewnątrz tagu <xs:sequence> w definicji elementu kontakt jako: <xs:element name="imie" type="xs:string"/> Należy uzupełnić schemat o definicje tych elementów na podstawie przykładu powyżej. b) Definicja typu prostego plec, który ma być enumeracją powinna znajdować się bezpośrednio w elemencie nadrzędnym schematu, czyli w xs:schema. Definicja enumeracji: <xs:simpletype name="plec"> <xs:restriction base="xs:string"> <xs:enumeration value="m" /> <xs:enumeration value="k" /> </xs:restriction> </xs:simpletype> c) Ostatnim krokiem w edytowaniu schematu jest dodanie elementu złożonego adres (w elemencie xs:schema). Wewnątrz elementu xs:sequence należy umieścić definicje elementów prostych ulica, miejscowosc, kod-pocztowy o typie xs:string, podobnie jak dla elementu kontakt. <xs:element name="adres" type="adres"/> <xs:complextype name="adres"> <xs:sequence> </xs:sequence> </xs:complextype> d) Po dokonaniu edycji plik schematu należy zapisać jako plik z rozszerzeniem.xsd. e) Kolejnym krokiem jest dokonanie walidacji wcześniej utworzonego pliku XML zawierającego kontakty. W tym celu w edytorze Notepad++ należy otworzyć ten plik, a następnie z menu Pluginy XML Tools wybrać opcję Validate now. Rysunek 4Walidacja wcześniej uzupełnionego pliku. f) Należy wybrać plik schematu i zatwierdzić poprzez wciśnięcie przycisku OK. Jeśli walidacja przebiegnie poprawnie wyświetlony zostanie komunikat: str. 7

Rysunek 5- Rezultat walidacji pliku XML schematem XSD. 5 Zadanie 4 Walidacja pliku GML. A) Opis zadania: Zadanie ma na celu poprawę błędnego pliku GML do postaci zgodnej z danym schematem XSD. Poprawa musi również zawierać zlikwidowanie błędów syntaktycznych pliku. Plik nie przechodzi walidacji zarówno sam w sobie, jak i względem schematu XSD. Pliki ćwiczeniowe dostępne są w następującej lokalizacji: \\materialy szkoleniowe\zadanie 4 - Walidacja pliku GML\plik_z_bledami.gml \\materialy szkoleniowe\zadanie 4 - Walidacja pliku GML\ProductionAndIndustrialFacilities.xsd Walidacja syntaktyczna pliku będzie przeprowadzana w aplikacji Notepad++, natomiast zgodność ze schematem XSD w ogólnodostępnym walidatorze internetowym pod adresem: http://www.utilities-online.info/xsdvalidation/ B) Realizacja: Plik zawiera dwa obiekty przynależne do tematu Production And Industrial Facilities. Do kodu pliku wprowadzono 6 błędów dla ułatwienia zaznaczono ich przybliżoną lokalizację komentarzami. Komentarze w plikach XML mają następującą składnie: <! treść komentarze. W celu sprawdzenia składni pliku GML w aplikacji Notepad++ należy skorzystać z możliwości pluginu XML Tools -> Check XML syntax now. Jeśli składnia jest nieprawidłowa program poinformuje o błędzie. Rysunek 6 - Przykładowy komunikat o błędzie. Gdy aplikacja Notepad++ nie wykaże żadnych nieprawidłowości należy przejść do walidacji. W tym celu kopiujemy zawartość pliku GML do schowka, a następnie wklejamy w oknie oznaczonym XML. Klikamy na Check XML well formed. Jeśli test przechodzi prawidłowo, należy skopiować zawartość pliku XSD str. 8

do sąsiedniego okna XML Schema. Sprawdzenie poprawności schematu XSD poprzez Check XSD Validity jest opcjonalne, gdyż korzystamy z gotowego schematu. Finalnym krokiem jest konfrontacja GML z XSD poprzez polecenie Validate XML against XSD. Jeśli plik spełnia wymagania stawiane przez schemat użytkownik powinien otrzymać następującą informację: The XML is Well Formed and Valid. 6 Zadanie 5 XSLT w praktyce. A) Opis zadania: Rysunek 7- Pozytywna walidacja pliku GML. Celem zadania jest praktyczne zapoznanie się ze składnią transformacji XSL. Przykładowy plik XSL dla tematu Obiekty Produkcyjne i Przemysłowe został bogato opisany komentarzami, które zostaną prześledzone i omówione przez trenera. Przeprowadzanie drobnych modyfikacji w kodzie i weryfikacja rezultatów. B) Realizacja: Lokalizacja do plików niezbędnych do wykonania ćwiczenia: Plik z transformacją XSL: \\materialy szkoleniowe\zadanie 5 - Opracowanie pliku XSL\plik_transformacji.xsl Plik wykonywalny dla przeprowadzenia procesu harmonizacji: \\materialy szkoleniowe\zadanie 5 - Opracowanie pliku XSL\process.bat Schemat XSD niezbędny do weryfikacji poprawności harmonizacji: \\materialy szkoleniowe\zadanie 5 - Opracowanie pliku XSL\schemat xsd\productionandindustrialfacilities.xsd Dane źródłowe do transformacji: \\materialy szkoleniowe\zadanie 5 - Opracowanie pliku XSL\1_dane_wejsciowe\oczyszczalnie.gml Folder zapisu danych zharmonizowanych: \\materialy szkoleniowe\zadanie 5 - Opracowanie pliku XSL\2_wynik_transformacji str. 9

7 Zadanie 6 HALE przykładowa harmonizacja. A) Opis zadania: Istotną kwestią jest transformacja danych przestrzennych zapisanych zgodnie z jednym schematem aplikacyjnym do dokumentu GML związanego z innym schematem. Proces taki nazywa się harmonizacją danych przestrzennych. Celem ćwiczenia będzie wykonanie prostej transformacji z wykorzystaniem narzędzia HALE. B) Realizacja: W celu realizacji zadania niezbędne są następujące dane źródłowe: - schemat aplikacyjny danych źródłowych (XSD), dostępny w lokalizacji: //Desktop/Zadanie 6 HALE/dane wejściowe/oczyszczalnie.xsd - dane źródłowe w formacie XML/GML, dostępne w lokalizacji: //Desktop/Zadanie 6 HALE/dane wejściowe/oczyszczalnie.gml - docelowy schemat aplikacyjny zgodny z INSPIRE (XSD), dostępny w lokalizacji: //Desktop/Zadanie 6 HALE/dane wejściowe/productionandindustrialfacilities.xsd W pierwszej kolejności należy uruchomić aplikację HALE: Rysunek 8 - Okno aplikacji HALE. Następnym krokiem jest załadowanie źródłowego schematu aplikacyjnego i źródłowych danych GML. Z menu File Import należy wybrad opcję Source Schema i wskazad plik oczyszczalnie.xsd. str. 10

Rysunek 9- wczytywanie schematu źródłowego. Następnie należy załadować dane źródłowe poprzez wybranie polecenia Import -> Source data. Po wskazaniu pliku GML użytkownik zostanie poproszony o wskazanie układu współrzędnych pliku. Należy podać układ EPSG:2180 (Poland CS1992). Rysunek 10- Wskazanie układu współrzędnych. str. 11

Rysunek 11- Załadowane dane źródłowe w aplikacji HALE. Wczytywanie docelowego schematu aplikacyjnego zgodnego z INSPIRE. W tym celu należy wczytać plik ProductionAndIndustrialFacilities.xsd za pomocą znanej już funkcji Import => Target schema. Wybieramy Edit mapping relevant target types z paska narzędzi w celu wyświetlenia wszystkich wczytanych klas obiektów. W celu zwiększenia czytelności z zakładki http://inspire.ec.europa.eu/schemas/pf/3.0rc3 str. 12

Rysunek 12 - Tabele ze schematami W celu przeprowadzenia harmonizacji należy przenieść założenia wynikające z tabeli mapowania do aplikacji HALE. Ustalenia wynikające z tabeli mapowań dla obiektu Oczyszczalnie Ścieków (zestawienie zbiorcze, uproszczone. Nazwa atrybutu Inspire, następnie informacja na podstawie czego należy go uzupełnić): InspireID -> o o LocalID na podstawie połączenia (konkatenacji) wartości stałej PF.ProductionFacility oraz wartości atrybutu ID_baza. Namespace przestrzeń nazw dla obiektów ze zbioru. W tym wypadku będzie to wartość stała PL.ZIPGL.325.3.PF.3.8. Składająca się z identyfikatora obiektu w ewidencji zbiorów i usług oraz frazy dotyczącej tematu INSPIRE. W tym wypadku PF.3.8 dwuliterowy skrót tematu oraz jego numer. Name -> wartość uzupełniana bez zmian na podstawie wartości atrybutu Nazwa. Geometry -> bezpośrednie mapowanie geometrii obiektów. Zarówno w zbiorze źródłowym, jak i docelowym są to obiekty punktowe. Function -> o Activity uzupełnione zostanie wartością stałą dla tego typu obiektów. Wartość ta pochodzi z listy kodowej NACE (zalecanej przez INSPIRE w celu zachowania interoperacyjności) i jej wartość wynosi E.37.0.0. str. 13

o Description opcjonalny opis słowny wartości zawartej w Activity. W tym przypadku będzie to Sawerage. ValidFrom -> wartość bazuje na atrybucie Rok powstania z danych źródłowych. Dane podane są z dokładnością roczną. Dlatego też w celu spełnienia wymogów INSPIRE co do daty, przyjęte zostało założenie, że data ta odnosi się do dnia 1 stycznia. Stąd też do daty dodane zostało -01-01 00:00:00. ValidTo ->-> wartość bazuje na atrybucie Rok zakończenia z danych źródłowych. Dane podane są z dokładnością roczną. Dlatego też w celu spełnienia wymogów INSPIRE co do daty, przyjęte zostało założenie, że data ta odnosi się do dnia 1 stycznia. Stąd też do daty dodane zostało -01-01 00:00:00. BeginLifeSpanVersion -> atrybut nie zasilany. Otrzymuje stereotyp nilreason="other:unpopulated" dla wszystkich obiektów. Status -> mapowanie wartości listy kodowej pochodzącej ze zbioru źródłowego do listy kodowej przewidzianej w schemacie INSPIRE. Na podstawie atrybutu Stan. Mapowane są dwie wartości dla stan = 1 (działający) wartość ta wynosić będzie FUNCTIONAL, natomiast dla stan = 2(zamknięty) wartość ta wynosić będzie DECOMISSIONED. Proces mapowania podzielić można dla uproszczenia i zachowania porządku na kilka etapów: a) Przypisanie odpowiadających sobie klas pomiędzy schematami. Pierwszym krokiem będzie zmapowanie klas sobie odpowiadających w tym wypadku oczyszczalnie ścieków => Production Facility. Należy wykorzystać funkcję retype (rysunek 11 ). b) Uzupełnienie wartości stałych Rysunek 13- Mapowanie klas. Uzupełniamy wartości, które można przyjąć za wartość stałą dla wszystkich obiektów w klasie. Czyli uzupełnieniu ulegną elementy takie jak: function (activity: E37.0.0 oraz description: Sawerage) oraz namespace. str. 14

Przypisanie stałych wartości odbywa się za pomocą polecenia Assign (bound), przy czym należy wybrać pole ze schematu wejściowego, które musi być uzupełnione, aby wartość została dodana do schematu docelowego. W tym przypadku wybrać należy atrybut, który zawsze jest uzupełniany np. ID obiektu (rysunek 12). Rysunek 14- przykład Assign Bound c) Mapowanie atrybutów, których wartości przechodzą pomiędzy schematami w sposób nienaruszony. Mapowanie takie odbywa się poprzez funkcję RENAME która w praktyce kopiuje wartość ze wskazanego źródłowego atrybutu do docelowego atrybutu. W celu uzyskania okna pomocy dotyczącego jakiejkolwiek funkcji należy wskazać funkcję po czym wybrać Dynamic Help F1. Dotyczy atrybutu nazwa -> name. Rysunek 15- kopiowanie atrybutów metodą 'Rename'. d) Mapowanie atrybutów, w przypadku, których w zbiorze docelowym powstaje nowa wartość powstała poprzez np. konkatenację atrybutów ze zbioru źródłowego. Punkt dotyczy uzupełnienia localid, validfrom oraz validto. Należy wybrać zasilany atrybut oraz funkcję Fromatted String. Funkcja ta buduje wartość na podstawie podanych wzorców oraz zmiennych pochodzących z danych źródłowych. str. 15

Rysunek 16- Budowanie localid 1/2. Rysunek 17- Budowanie localid 2/2 Analogicznie przy pomocy tej samej funkcji należy uzupełnić wartości dla atrybutów validfrom oraz validto. e) Mapowanie list kodowych. Dotyczy sytuacji gdy wartości w obu schematach zapisane są w sposób wyliczeniowy. Jednak listy te nie są tożsame. W związku z czym należy przeprowadzić mapowanie list. Dotyczy atrybutu status. Do przypisania sobie odpowiadających atrybutów wykorzystywana jest funkcja klasyfikacji Classification. Klasyfikację możemy ustalić ręcznie od podstaw lub wczytać z pliku (o ile taki plik został przygotowany wcześniej). str. 16

Rysunek 18- Przykład klasyfikacji. f) Mapowanie geometrii pomiędzy schematami. W obu schematach geometria reprezentowana jest w sposób punktowy. Należy wskazać odpowiadające sobie węzły zawierające informacje punktowe. Rysunek 19-Mapowanie geometrii ½. str. 17

Rysunek 20 - mapowanie geometrii 2/2. W tym miejscu dysponujemy już kompletnym schematem mapowania klasy obiektów do schematu INSPIRE. Dzięki wbudowanym funkcjonalnościom aplikacji na żywo sprawdzana jest poprawność procesu i walidacja rezultatu. Odpowiadają za to transformation => Live transformation oraz transformation => Validate Transformed Instances. Rysunek 21- Kompletny proces transformacji. str. 18

Ostatnim krokiem jest eksport przetransformowanych danych do pliku GML. W tym celu należy wybrać z menu File -> Export -> Transformed Data. Po czym użytkownik przeniesiony zostaje do kreatora eksportu danych. W tym celu należy kolejno: wybrać docelowy format danych GML (Feature Collection). Folder zapisu zharmonizowanego pliku oraz nadać nazwę (sugerowana nazwa - oczyszczalnieinspire.gml), Wybór walidatora XML (jeśli chcemy zwalidować przed eksportem) oraz docelowego układu współrzędnych pliku w przypadku danych zgodnych z INSPIRE będzie to ETRS89 EPSG:4258. Rysunek 22 - Export do pliku GML 1/3 Rysunek 23 Export do pliku GML 2/3 str. 19

Rysunek 24- Pozytywny wynik walidacji pliku. Rysunek 25 -Wynikowy plik XML. 8 Harmonizacja w HALE zadanie dodatkowe. A) Opis zadania: Na podstawie procesu opisanego w punkcie numer 7, proszę samodzielnie przeprowadzić transformację danych dotyczących klasy obiektów ELK_Elektrownia. B) Realizacja: W celu realizacji zadania niezbędne są następujące dane źródłowe: schemat aplikacyjny danych źródłowych (XSD), dostępny w lokalizacji: //Desktop/ Zadanie 7 - HALE (bonus)/dane wejściowe/elektrownia.xsd dane źródłowe w formacie XML/GML, dostępne w lokalizacji: //Desktop/ Zadanie 7 - HALE (bonus)/dane wejściowe /elektrownia.gml docelowy schemat aplikacyjny zgodny z INSPIRE (XSD), dostępny w lokalizacji: //Desktop/ Zadanie 7 - HALE (bonus)/dane wejściowe /ProductionAndIndustrialFacilities.xsd str. 20

Ustalenia wynikające z tabeli mapowań dla obiektu Oczyszczalnie Ścieków (zestawienie zbiorcze, uproszczone. Nazwa atrybutu Inspire, następnie informacja na podstawie czego należy go uzupełnić): InspireID -> o o LocalID na podstawie połączenia (konkatenacji) wartości stałej PF.ProductionFacility.EL K. oraz wartości atrybutu ID_baza. Namespace przestrzeń nazw dla obiektów ze zbioru. W tym wypadku będzie to wartość stała PL.ZIPGL.325.3.PF.3.8. Składająca się z identyfikatora obiektu w ewidencji zbiorów i usług oraz frazy dotyczącej tematu INSPIRE. W tym wypadku PF.3.8 dwuliterowy skrót tematu oraz jego numer. Name -> wartość uzupełniana bez zmian na podstawie wartości atrybutu Nazwa. Geometry -> bezpośrednie mapowanie geometrii obiektów. Zarówno w zbiorze źródłowym, jak i docelowym są to obiekty punktowe. Function -> o o Activity uzupełnione zostanie wartością stałą dla tego typu obiektów. Wartość ta pochodzi z listy kodowej NACE (zalecanej przez INSPIRE w celu zachowania interoperacyjności) i jej wartość wynosi D.35.11. Description opcjonalny opis słowny wartości zawartej w Activity. W tym przypadku będzie to Production of electricity. ValidFrom -> wartość bazuje na atrybucie Rok powstania z danych źródłowych. Dane podane są z dokładnością roczną. Dlatego też w celu spełnienia wymogów INSPIRE co do daty, przyjęte zostało założenie, że data ta odnosi się do dnia 1 stycznia. Stąd też do daty dodane zostało -01-01 00:00:00. BeginLifeSpanVersion -> atrybut nie zasilany. Otrzymuje stereotyp nilreason="other:unpopulated" dla wszystkich obiektów. Status -> mapowanie wartości listy kodowej pochodzącej ze zbioru źródłowego do listy kodowej przewidzianej w schemacie INSPIRE. Na podstawie atrybutu Stan. Mapowane są dwie wartości dla stan = 1 (działający) wartość ta wynosić będzie FUNCTIONAL, natomiast dla stan = 2(zamknięty) wartość ta wynosić będzie DECOMISSIONED. str. 21