Podstawy metodyczne i technologiczne infrastruktur geoinformacyjnych Cz. 4: Język GML (Geography Markup Language) Warsztaty naukowe w ramach XIII Konferencji.

Slides:



Advertisements
Podobne prezentacje
Piotr Czekalski, ZMiTAC, Politechnika Śląska 2003
Advertisements

JASTRZĘBIA GÓRA 2010 Przekształcenia do postaci mapy zasadniczej do postaci cyfrowej i utworzenia baz danych Karol Kaim.
Przekształcanie dokumentów XML - XSL
Informacji Geograficznej
Rafał Hryniów Tomasz Pieciukiewicz
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema
Definiowanie typów dokumentów Część 2: XML Schema 16 października 2003.
XML w zarządzaniu formularzami ubezpieczeniowymi ZUS
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema.
XPath. XSL – część 1..
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
Aplikacje ASP.NET Arkadiusz Twardoń ZTiPSK
Dokumentowanie wymagań w języku XML
Koncepcja Geoprzestrzennego Systemu Informacji o Terenie Górniczym
Inteligentne Systemy Informacyjne
Wzorce projektowe w J2EE
Modele baz danych - spojrzenie na poziom fizyczny
XML jako standard służący do efektywnej wymiany dokumentów niezależnie od platformy sprzętowej.
Podstawy metodyczne i technologiczne infrastruktur geoinformacyjnych
Podstawy metodyczne i technologiczne infrastruktur geoinformacyjnych Cz. 2: Modele pojęciowe danych, usług i interfejsów Warsztaty naukowe w ramach XIII.
Podstawy metodyczne i technologiczne infrastruktur geoinformacyjnych Cz. 5: Rozwijane i planowane technologie geoinformacyjne Warsztaty naukowe w ramach.
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
Definicje SIP, GIS, SIT, SDI
Rozwój aplikacji przy wykorzystaniu ASP.NET
Czym są HTML i XHTML? Skrót HTML pochodzi od słów Hypertext Markup Language (język znakowania hipertekstu). Język HTML jest podstawą każdej strony WWW.
System webowy do tworzenia kolektywnych prototypów aplikacji sieciowych i mobilnych Łukasz Przywarty
Instytut Tele- i Radiotechniczny WARSZAWA
Podstawowe pojęcia i problemy związane z przetwarzaniem plików graficznych.
Microsoft Expression Studio
CDN OPT!MA integracja z Systemem Microsoft Office 2003.
System generowania wzorów matematycznych MathML
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Podyplomowe Studium Programowania i Zastosowań Komputerów Marcin Hankiewicz.
Metadane w opisie hurtowni danych oraz procesie ETL
XML – eXtensible Markup Language
Wybrane zagadnienia relacyjnych baz danych
Tworzenie stron internetowych www World Wide Web
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Wprowadzenie do HTML Informatyka Cele lekcji: Wiadomości:
Wprowadzenie do CSS Okiełznać style.
Programowanie w języku C++
GEO-INFO 6 System Informacji Przestrzennej
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Elementy multimedialne na stronie
Model obiektowy bazy danych
Temat 1: Ogólne cechy języka PHP
HTML (ang. HyperText Markup Language ) – język do tworzenia stron internetowych opierający się na znacznikach, czy inaczej je nazywając – tagach. Język.
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego.
Projektowanie relacyjnych baz danych – diagramy związków encji
HTML Hyper Text Markup Language komputerowe Esperanto cz. I historia, struktura dokumentu.
Temat 1: CSS Dołączanie stylów do dokumentu
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
PHP. PHP obiektowy, skryptowy język programowania zaprojektowany do generowania stron internetowych w czasie rzeczywistym.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
XML w bazach danych.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
I TY ZOSTAŃ WEBMASTEREM! CZĘŚĆ 2 – „STRUKTURA STRONY” STWORZYŁ GABRIEL ŚLAWSKI.
ŁÓDŹ Budowa cyfrowego archiwum przy pomocy aplikacji IBM DB2 Content Manager Anna Leśniak 18 stycznia 2005.
1. Podaj definicję kartografii internetowej. 2. Geographic Markup Language: a) Jest schematem XML a) Opisuje obiekty w fizycznej przestrzeni a) Jest formatem.
Podstawy programowania
Dokumentacja programu komputerowego i etapy tworzenia programów.
The Poznan University of Economics Department of Management Information Systems XML - wprowadzenie.
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
ASP.NET Tworzenie i zarządzanie wyglądem aplikacji, tworzenie mapy witryny. Kontrolki nawigacyjne.
1 Mapan i Mapnik. Czyli kilka słów o przeglądarkach leśnej mapy numerycznej. Zespół Zadaniowy ds. Leśnej Mapy Numerycznej. Margonin r.
1 Historia GIS  Systemy typu „desktop”  Systemy typu „klient - serwer” serwer bazy danych.
Hipertekst HTML WWW.
Inżynieria Oprogramowania Laboratorium
Aplikacje i usługi internetowe
Zapis prezentacji:

Podstawy metodyczne i technologiczne infrastruktur geoinformacyjnych Cz. 4: Język GML (Geography Markup Language) Warsztaty naukowe w ramach XIII Konferencji PTIP „Systemy informacji przestrzennej” Warszawa, 8.10.2003 Janusz Michalak Uniwersytet Warszawski

Język GML został opracowany i jest rozwijany przez zespół utworzony przy OGC – obecnie liderami tego zespołu są: Ron Lake (Galdos Sustems) i Simon Cox (CSIRO) [Źródło: http://www.gmlcentral.org]

<jakiśElement>Wnętrze_jakiegośElementu</jakiśElement> znacznik początku znacznik końca Znacznik początku może zawierać atrybuty, na przykład nazwę: <jakiśElement nazwa="NazwaJakegośElementu"> Element złożony zawiera w sobie inne elementy – proste lub również złożone: <elementZłożony><elementProsty>"coś"</elementProsty>...</elementZłożony> Bardziej czytelna forma zapisu – z wcięciami: <elementZłożony> <elementProsty> "coś" </elementProsty> <innyElementProsty> "coś innego" </innyElementProsty> </elementZłożony>. „abc” języka XML

Przykład prostego schematu definiującego element złożony: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="OkresCzasu"> <xs:annotation> <xs:documentation> Prosty przykład schematu </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Nazwa"/> <xs:element name="Początek"/> <xs:element name="Koniec"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> sposób zapisu schematu (XML Scheme) podlega tym samym prawom co dokumentu

Odpowiadający mu zapis (dokument) w XML: <?xml version="1.0" encoding="UTF-8"?> <OkresCzasu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:geol="http://netgis.geo.uw.edu.pl/schemas/czas.xsd"> <Nazwa>Jakiś okres czasu</Nazwa> <Początek>1.1.1996</Początek> <Koniec>31.12.2003</Koniec> </OkresCzasu> <!-- ... -->

Okno informacyjne programu narzędziowego XML-Spy – jest to najpopularniejszy edytor i procesor dla opracowywania i przetwarzania plików XML – w tym także GML

Tabelaryczne przedstawienie deklaracji i definicji elementów geoprzestrzennych zawartych w pliku feature.xsd należącym do specyfikacji GML 3.0

Objaśnienia diagramów generowanych przez edytor XML_Spy

Diagram XML wygenerowany przez program XML-Spy struktury elementu typu: osgb:AbstractLineStringPropertyType – większość elementów składowych tworzących tą strukturę należy do przestrzeni nazw gml:

* * * Diagram UML przedstawiający hierarchę podstawowych abstrakcyjne i składniki nieobowiązkowe [Źródło: archiwum OGC] Diagram UML przedstawiający hierarchę podstawowych elementów języka GML 3. * Nazwy pisane pismem pochyłym dotyczą elementów abstrakcyjnych Geometria (abstrakcyjny element _Geometry) nie jest obowiązkowym składnikiem elementu _Feature. * * - wielokrotne dziedziczenie <element name="_Object" abstract="true">

Poprawiony model UML dla elementów typu Choice Nazwy pisane pismem pochyłym dotyczą elementów abstrakcyjnych Geometria (abstrakcyjny element _Geometry) nie jest obowiązkowym składnikiem elementu _Feature. Taki model elementu Choice jest zgodny z regułami określonymi w „Profilu UML dla XML” (D. Carlson, 2001)

Najbardziej podstawowym (bazowym) elementem abstrakcyjnym w GLM 3 jest _Object. Wszystkie inne elementy są pochodnymi od niego. Zarówno geoprzestrzenne jak i niegeoprzestrzenne. Z tego elementu są wyprowadzone dwa inne elementy abstrakcyjne: _GML dla innych rzeczywistych elementów związanych z informacją geoprzestrzenną i _MetaData dla opisu danych. W aplikacjach tego języka elementy dotyczące informacji niegeoprzestrzennej powinny być pochodnymi od abstrakcyjnego elementu _Object. Dotyczy to takich elementów jak opis właściciela nieruchomości lub dokumentu określającego własność. niezdefiniowany typ prosty

Składniki abstrakcyjnego elementu złożonego _Feature Składniki abstrakcyjnego elementu złożonego _Feature. FeatureCollection jest elementem pochodnym od _Feature Element _Feature jest elementem pochodnym od abstrakcyjnego elementu _Object – za pośrednictwem elementu _GML (tłumaczenie obu tych terminów na język polski jako objekt prowadzi do niejednoznaczności i nieporozumień). Wszystkie składniki elementu _Feature są nieobowiązkowe i jest on przeznaczony do wyprowadzania tylko rzeczywistych elementów tosiadających atrybuty geoprzestrzenne (tylko do wyróżnień).

Brytyjski projekt MasterMap realizowany przez Ordnance Survey jest najbardziej zaawansowaną aplikacją języka GML [Źródło: http://www.ordnancesurvey.co.uk]

Przeglądarka map zapisanych w GML firmy Snowflake przeznaczona do aplikacji MasrerMap [Źródło: http://www.snowflakesoft.co.uk]

Zwiększenie skali mapy pozwala zobaczyć tysiące wyróżnień (wszystkie elementy graficzne i symbole są zapisane wektorowa w XML) [Źródło: http://www.ordnancesurvey.co.uk]

Każde wyróżnienie ma określonych szereg atrybutów nie-geoprzestrzennych (tabelka pokazuje wartości tych atrybutów dla budynku zaznaczonego kolorem brązowym) [Źródło: http://www.ordnancesurvey.co.uk/ ]

W schematach przestrzeni nazw osgb nie stosuje się kodów i słowników, tylko enumeratory zawierające pełne określenia atrybutów wyliczeniowych [Źródło: http://www.ordnancesurvey.co.uk/ ]

W dalszej kolejności projekt MasterMap przewiduje, że dokumenty GML zawierające dane dla poszczególnych obszarów („mapy” wektorowe) będą uzupełnione ortoobrazami w dużej skali i o wysokiej rozdzielczości [Źródło: http://www.ordnancesurvey.co.uk]

Wielokrotne powiększenie ortoobrazu pozwala zobaczyć jego wysoką rozdzielczość [Źródło: http://www.ordnancesurvey.co.uk]

Fragment nagłówkowy jednego ze schematów XML projektu MasterMap [Źródło: http://www.ordnancesurvey.co.uk]

Fragment pliku zapisu MasterMap – aplikacji GML W dokumencie tym obok własnej przestrzeni nazw osgb występuje przestrzeń nazw gml w elementach będących składnikami elementów własnych GML [Źródło: http://www.ordnancesurvey.co.uk]

Część nagłówkowa dokumentu MasterMap – aplikacji GML Plik zawiera zbiór wyróżnień (osgb:FeatureCollection) ograniczony wielobokiem (gml:Poligon) w formie liniowego pierścienia (gml:LinearRing) [Źródło: http://www.ordnancesurvey.co.uk]

Fragment pliku OSDNFFeatures.xsd definiujący typ „punkt topograficzny” [Źródło: http://www.ordnancesurvey.co.uk]

Lista systemów programowych implementujących GML: Objaśnienia: nazwa firmy, nazwa systemu, S – server, K – klient, E – encoder (GML/XML) implementacje GML 2.0: Cogent Logic Corp. : XchainJ (S&K) CubeWerx Inc. : CubeXPLOR (K), CubeServ Web Map Server (S), CubeServ – Web Feature Server (S), CubeServ – Cascading Web Map Server (S) Pacific GeoTech Systems Ltd. : shp2gml GeoBroker (S&K) implementacje GML 2.1: Cadcorp Ltd. : Cadcorp SIS (K) ESRI : Arc Explorer (K), ArcIMS (S) Galdos Systems Inc. : Geographic Data Server (GDS) (S), GML Schema Parse (E), FreeStyler (S) INT Inc. : JCarnacGIS (S&K) Intergraph Corp. : GeoMedia GML Data Server (K) Lat-Lon : deegree (S&K) MapInfo Corp. : MapXtreme Java Ed. (S&K), MapInfo Prof. (E), MapXtend (E), MapMaker J Server (S&K), MapRouting J Server (S&K) Snowflake Software : GO Loader (K) Social Change Online Pty Ltd. : MapBroker (K), WebMap Composer (K), WFS-Lite (S) implementacje GML 3.0: Compusult Ltd. : Web Enterprise Suit (S&K), Map Manager (S&K) Galdos Systems Inc. : GDS (Geographic Data Server) (S) Stan na dzień: 28.08.03 [Źródło: Archiwum OGC]

Przykład zapisu w XML symbolu kartograficznego „drzewo liściaste” i grupy symboli „drzewa liściaste i iglaste” [Źródło: http://www.ordnancesurvey.co.uk]

Przykład zastosowania symboli kartograficznych zapisanych w XML [Źródło: http://www.ordnancesurvey.co.uk]

Przykład zastosowania symboli kartograficznych zapisanych w XML - II [Źródło: http://www.ordnancesurvey.co.uk]

Systemy obsługi MasterMap (Ordnance Survey) MasterMap przechowuje i aktualizuje dane geoprzestrzenne z obszaru Wielkiej Brytanii w skali 1: 1 250 MAIA zbiera i przechowuje aktualizacje danych z pomiarów w terenie Aktualizacje są przesyłane w języku XML do systemu Mercury i przechowywane tam jako obiekty C++ (pod OSZBD ObjectStore) Mercury udostępnia dane na żądanie klientów w językuserves GML Mercury (ObjectStore) MAIA (Oracle) Aktualizacje z terenu Aktualizacje w XML Wyniki wyszukiwania zwracane w GML widownia za kulisami scena [Źródło: http://www.ordnancesurvey.co.uk]

Schemat przedstawiający funkcje realizowane przez GO-Loader firmy Snowflake GML Logical Model Physical Model Create Tables Routing GIS Oracle 9iAS Map Viewer Your App Create Partitions Setup Translator Load Data Index Data Updates Apply Updates Maintain Archive za kulisami [Źródło: http://www.snowflakesoft.co.uk]

Oprogramowanie GO-Loader firmy Snowflake przeznaczone do konwersji danych MasterMap (pozwala ono dane zapisane w GML załadować do bazy Oracle) [Źródło: http://www.snowflakesoft.co.uk]

Co to jest ObjectStore? ObjectStore jest ‘czystą’ obiektową bazą danych (OSBD – obiektowy system zarządzania bazą danych) Daje możliwość trwałego składowania obiektów C++ Obiekty są składowane w takiej samej postaci jak nietrwałe obiekty C++ Obiekty nietrwałe są przechowywane na stosie lub stercie (w RAM) i przestają istnieć po zakończeniu działania aplikacji C++ Obiekty trwałe (w bazie danych) są dostępne i mogą być używane w taki sam sposób jak zwykłe obiekty C++ Aplikacja C++ Nietrwałe obiekty Trwałe obiekty

Projektowanie struktury obiektowej bazy danych w systemie ObjectStore odbywa się przy pomocy programu Designer w języku UML. Przykład dotyczy próby zastosowania nowej Polskiej Normy w odniesieniu do punktu i krzywej

Rozszerzenie standardu OGC dla WFS o funkcje ontologiczne i semantyczne – pozwala ono na semantyczną translację geoinformacji pomiędzy różnymi NSDI Euro Roads GML Euro Roads XSD WFS DE Road GML DE Road XSD DE Client UK Road GML UK Road XSD UK Client EU EuroRoads Clients FR Road GML FR Road XSD FR Client DE EuroRoads Ontology FR EuroRoads Ontology -X UK EuroRoads Ontology WFS-X jest realizowany przez współpracujące ze sobą systemy GO-Loader i GO-Publisher firmy Snowflake. [Źródło: http://www.snowflakesoft.co.uk]

Łączenie w aplikacjach schematów GML z innymi schematami XML Objaśnienia: przez zawieranie z odwołaniem - ”ref=” (element x:b jest składnikiem elementu x:a) x:a x:b przez dziedziczenie – „extension” (element x:d jest pochodny od elementu x:c) x:c x:d przez użycie odsyłacza – „Xlink:href” (element x:f odwołuje się w dokumencie do elementu x:e) x:e x:f Dwie oddzielne, niepowiązane struktury w różnych schematach: Hierarchiczna struktura elementów schematu GML Hierarchiczna struktura elementów innego schematu XML (NG – non-GML) ng:base gml:base gml:a gml:c ng:a ng:c gml:b ng:b gml:e ng:e gml:d gml:f ng:d Czy przenosić ontologię GML do danej dziedziny, czy nie? ng:g gml:g ng:f

Łączenie schematów GML z NG przez zawieranie z odwołaniem – ”ref=” Schemat GML Schemat NG (non-GML) gml:base gml:b gml:d gml:g gml:a gml:c gml:e gml:f ng:base ng:a ng:b ng:d ng:f ng:c ng:e ng:g Rozszerzenie schematu NG: nowe elementy zawierają elementy schematu GML, np. : <element ref=„gml:x”...> ng:d1 ng:g1 ref=˝ ˝ gml:g ref=˝ ˝ gml:e ref=˝ ˝ gml:f w UML: kompozycje

Łączenie schematów GML z NG przez dziedziczenie – „extension” Schemat GML Schemat NG (non-GML) gml:base gml:b gml:d gml:g gml:a gml:c gml:e gml:f ng:base ng:a ng:c ng:b ng:d ng:e ng:g ng:f ng:gml-g1 ng:gml-f1 Rozszerzenie schematu NG: nowe elementy są rozszerzeniami elementów schematu GML ng:g gml:e ng:d w UML: dziedziczenie

Łączenie schematów GML z NG przez odsyłace – ”xlink:href=” Dokument GML Dokument NG (non-GML) gml:base ng:base ng:a ng:b ng:d ng:f ng:c ng:e ng:g gml:a gml:c gml:b gml:e gml:d gml:f gmlid2” gmlid3” gml:g gmlid1” Rozszerzenie schematu NG: nowe elementy zawierają odsyłacze do innego dokumentu ng:d1 ng:g1 xlink:href=„doc1.gml#gmlid1” xlink:href=„doc1.gml#gmlid2” xlink:href=„doc1.gml#gmlid3” w UML: asocjacje

Trzy podstawowe konstrukcje GML 3 pozwalające na używanie w aplikacjach odsyłaczy przy pomocy xlink <attributeGroup name="AssociationAttributeGroup"> <attributeGroup ref="xlink:simpleLink"/> <attribute ref="gml:remoteSchema" use="optional"/> </attributeGroup> <element name="_reference" type="gml:ReferenceType" abstract="true"/> <complexType name="ReferenceType"> <sequence/> <attributeGroup ref="gml:AssociationAttributeGroup"/> </complexType> <complexType name="StringOrRefType"> <simpleContent> <extension base="string"> <attributeGroup ref="gml:AssociationAttributeGroup"/> </extension> </simpleContent> </complexType>

Dokument XML (w tym przypadku GML) może być przy pomocy procesora XSLT przetransformowany na różne dokumenty HTML (lub XML) na podstawie różnych arkuszy styli (CSS) Zastosowanie procesora XSLT pozwala aby geoinformacja zapisana w GML mogła być zobrazowana na wiele różnych sposobów (XSLT – eXtensible Stylesheet Language for Transformation)

Ionic: konwersja GML do SVG [Źródło: http://www.ionicsoft.com]

GML 3 pozwala na zapis geoinformacji w 3D, lecz zobrazowanie graficzne takiej informacji nastręcza wiele problemów. Przykład: zobrazowanie pokrycia rastrowego (macierzowego) z uwzględnieniem trzeciego wymiaru w systemie GRASS