Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałSalomea Członka Został zmieniony 11 lat temu
1
Podstawy metodyczne i technologiczne infrastruktur geoinformacyjnych Cz. 2: Modele pojęciowe danych, usług i interfejsów Warsztaty naukowe w ramach XIII Konferencji PTIP „Systemy informacji przestrzennej” Warszawa, Janusz Michalak Uniwersytet Warszawski
2
Rola standardów w informatyce i geomatyce
Jest to podstawowa reguła Brak standardów przeszkodą w rozwoju Podstawowe standardy w geomatyce: normy z grupy ISO (ISO/TC 211) specyfikacje OpenGIS (OGC) OpenGIS pomostem pomiędzy normami ISO i praktycznymi zastosowaniami Obecnie specyfikacje OpenGIS stają się normami ISO 19100
3
Czego dotyczą specyfikacje OpenGIS i normy ISO 19100?
Interoperacyjność (interoperowalność, współdziałanie): ujednolicone modele danych, zdefiniowane interfejsy, języki dostępu i manipulacji danymi w oparciu o te interfejsy automatyczna translacja danych i modeli
4
Czego nie dotyczą specyfikacje OpenGIS i normy ISO 19100?
Aspektu tematycznego 6-u dolnych warstw 7-warstwowego modelu ISO dla aplikacji sieciowych (jedynie najwyższa warstwa - aplikacyjna) W obrębie tej najwyższej warstwy: systemu praw dostępu i ochrony dostępu, systemu pobierania opłat za dane, i szeregu innych aspektów „nie-geomatycznych”.
5
7-warstwowy model aplikacji sieciowych według ISO
Numer Nazwa Przeznaczenie warstwy 7 Warstwa aplikacyjna Określa jak dana aplikacja wykorzystuje sieć, np. telnet, ftp, WWW. 6 prezentacyjna Sposób reprezentowania danych, np. XDR (eXternal Data Representation). 5 sesji Sposób ustanowienia komunikacji, np. RPC (Remote Procedure Call). 4 transportu Sposób przesyłania danych, np. TCP (Transmission Control Protocol). 3 sieci Sposoby przydzielania adresów i przesyłania pakietów, np. IP (Internet Protocol). 2 wiązania danych Sposób dzielenia danych na ramki i ich wysyłania, np. Ethernet. 1 fizyczna Podstawowe sieciowe urządzenia związane z rodzajem nośnika, np. kabel koncentryczny, skrętka, światłowód.
6
Czy można wybierać pomiędzy ISO 19100 i OpenGIS?
Nie można, bo to jest prawie to samo Planowana jest pełna zgodność Obecnie jeszcze nie w pełni Znaczna część norm ISO to adaptacje specyfikacji OpenGIS Przykład: GML Czy wybrać GML-ISO, czy GML-OpenGIS?
7
[Na podstawie: archiwum OGC]
8
Interfejsy 1. Potrzeba wieje rodzaj interfejsów
2. Modele danych wewnętrznych, a modele danych zewnętrznych 3. Technologie: WWW, CORBA, DCOM, SQL, XML Globalna telekomunikacja bezprzewodowa Ograniczone rozpoznawanie mowy Brokery żądania obiektów Pośredniki CORBA Bazy danych "Yellow Page" Udostępnianie danych tematycznych Serwery zobrazowania map Urządzenia przenośne Systemy przetwarzania danych przestrzennych Ścieżki informowania O danych Systemy przeszukiwania przestrzennego Interfejsy inne znaczenie niż klasa interfejsowa [Źródło: archiwum OGC]
9
Okno informacyjne programu narzędziowego Rational Rose
Enterprise 2002 z podatkowymi modułami Wszystkie modele zawarte w standardach OpenGIS i ISO 19100 zą opracowywane przy pomocy tego programu narzędziowego. Program tej jest powszechnie uznany jako „state of the art” w modelowaniu pojęciowym z zastosowaniem UML bardzo trudno jest opracować poprawny model UML na papierze
10
Okno programu Rational Rose przedstawiające pakiety modelu metadanych
zgodnego ze standardem ISO 19115 model ten zawiera 14 podpakietów
11
Przykłady złożonych modeli UML opracowanych programem narzędziowym
Rational Rose Model GeolChron: Geological Chronology One Instant Classes: Sequences of Relative Units CENOZOIC UNIVERSE OF DISCOURSE MESOZOIC PALEOZOIC PRECAMBRIAN Geol_SeqOfOrdovicianMiddle [1] + Darriwillian : Geol_Age + Nn2 : Geol_Age <<Geol_SequenceOfAges>> Geol_SeqOfOrdovicianEarly [1] + Tremadocian : Geol_Age Geol_SeqOfLudlow [1] + Ludfordian : Geol_Age + Gorstian : Geol_Age Geol_SeqOfWenlock [1] + Homerian : Geol_Age + Sheinwoodian : Geol_Age Geol_SeqOfLlandovery [1] + Telychian : Geol_Age + Aeronian : Geol_Age + Rhuddanian : Geol_Age Geol_SeqOfLopingian [1] + Changhsingian : Geol_Age + Wuchiapingian : Geol_Age Geol_SeqOfGuadalupian [1] + Capitanian : Geol_Age + Wordian : Geol_Age + Roadian : Geol_Age Geol_SeqOfCisuralian [1] + Kungurian : Geol_Age + Artinskian : Geol_Age + Sakmarian : Geol_Age + Asselian : Geol_Age Geol_SeqOfPennsylvanian [1] + Gzhelian : Geol_Age + Kazimovian : Geol_Age + Moscovian : Geol_Age + Bashkirian : Geol_Age Geol_SeqOfMississippian [1] + Serpukhovian : Geol_Age + Visean : Geol_Age + Tournaisian : Geol_Age Geol_SeqOfDevonianLate [1] + Famenian : Geol_Age + Frasnian : Geol_Age Geol_SeqOfDevonianMiddle [1] + Givetian : Geol_Age + Eifelian : Geol_Age Geol_SeqOfDevonianEarly [1] + Emsian : Geol_Age + Pragian : Geol_Age + Lochkovian : Geol_Age Geol_SeqOfNeoproterozoic [1] + Neoproterozoic_III : Geol_Period + Cryogenian : Geol_Period + Tonian : Geol_Period Geol_SeqOfMesoproterozoic [1] + Stenian : Geol_Period + Ectasian : Geol_Period + Calymmian : Geol_Period <<Geol_SequenceOfPeriods>> Geol_SeqOfPaleoproterozoic [1] + Statherian : Geol_Period + Orosirian : Geol_Period + Rhyacian : Geol_Period + Siderian : Geol_Period Geol_SeqOfCretaceousEarly [1] + Albian : Geol_Age + Aptian : Geol_Age + Barremian : Geol_Age + Hauterivian : Geol_Age + Valanginian : Geol_Age + Berriasian : Geol_Age Geol_SeqOfCretaceousLate [1] + Maastrichtian : Geol_Age + Campanian : Geol_Age + Santonian : Geol_Age + Coniacian : Geol_Age + Turonian : Geol_Age + Cenomanian : Geol_Age Geol_SeqOfJurassic_Late [1] + Tithonian : Geol_Age + Kimmeridgian : Geol_Age + Oxfordian : Geol_Age Geo_SeqOfJurassicMiddle [1] + Callovian : Geol_Age + Bathonian : Geol_Age + Bajocian : Geol_Age + Aalenian : Geol_Age Geol_SeqOfJurassicEarly [1] + Toarcian : Geol_Age + Pliensbachian : Geol_Age + Sinemurian : Geol_Age + Hettangian : Geol_Age Geol_SeqOfTriassicLate [1] + Rhaetian : Geol_Age + Norian : Geol_Age + Carnian : Geol_Age Geol_SeqOfTriassicMiddle [1] + Landinan : Geol_Age + Anisian : Geol_Age Geol_SeqOfTriassicEarle [1] + Olenekian : Geol_Age + Induan : Geol_Age Geol_SeqOfPrecambrian [1] + Proterozoic : Geol_Eon + Archean : Geol_Eon <<Geol_SequenceOfEons>> Geol_SeqOfCambrian [1] + Cambrian_Late : Geol_Epoch + Cambrian_Middle : Geol_Epoch + Cambrian_Early : Geol_Epoch <<Geol_SequenceOfEpochs>> Geol_SeqOfOrdovician [1] + Ordovician_Late : Geol_Epoch + Ordovician_Middle : Geol_Epoch + Ordovician_Early : Geol_Epoch Geol_SeqOfSilurian [1] + Pridoli : Geol_Epoch + Ludlow : Geol_Epoch + Wenlock : Geol_Epoch + Llandovery : Geol_Epoch Geol_SeqOfPermian [1] + Lopingian : Geol_Epoch + Guadalupian : Geol_Epoch + Cisuralian : Geol_Epoch Geol_SeqOfCarboniferous [1] + Pennsylvanian : Geol_Epoch + Mississippian : Geol_Epoch Geol_SeqOfDevonian [1] + Devonian_Late : Geol_Epoch + Devonian_Middle : Geol_Epoch + Devonian_Early : Geol_Epoch Geol_SeqOfProterozoic [1] + Neoproterozoic : Geol_Era + Mesoproterozoic : Geol_Era + Paleoproterozoic : Geol_Era <<Geol_SequenceOfEras>> Geol_SeqOfArchean [1] + Neoarchean : Geol_Era + Mesoarchean : Geol_Era + Paleoarchean : Geol_Era + Eoarchean : Geol_Era Geol_SeqOfCretaceous [1] + Cretaceous_Late : Geol_Epoch + Cretaceous_Early : Geol_Epoch Geol_SeqOfJurassic [1] + Jurassic_Late : Geol_Epoch + Jurassic_Middle : Geol_Epoch + Jurassic_Early : Geol_Epoch Geol_SeqOfTriassic [1] + Triassic_Late : Geol_Epoch + Triassic_Middle : Geol_Epoch + Triassic_Early : Geol_Epoch Geol_SeqOfPleistocene [1] + Nn1 : Geol_Age + Calabrian : Geol_Age Geol_SeqOfPliocene [1] + Gelasian : Geol_Age + Piacenzian : Geol_Age + Zanclean : Geol_Age ... >> Geol_SeqOfMiocene [1] + Mesinian : Geol_Age + Tortonian : Geol_Age + Serravallian : Geol_Age + Langhian : Geol_Age + Burdigalian : Geol_Age + Aquitanian : Geol_Age Geol_SeqOfEocene [1] + Priabonian : Geol_Age + Bartonian : Geol_Age + Lutetian : Geol_Age + Ypresian : Geol_Age Geol_SeqOfOligocene [1] + Chattian : Geol_Age + Rupelian : Geol_Age Geol_SeqOfPaleocene [1] + Thanetian : Geol_Age + Selandian : Geol_Age + Danian : Geol_Age Geol_SetOfNonOrderedRelativeUnits [1] + Tertiary : Geol_NonOrderedRelativeUnit + Precambrian : Geol_NonOrderedRelativeUnit <<Geol_SetOfNonOrderedRelativeUnits>> Geol_SeqOfPaleozoic [1] + Permian : Geol_Period + Carboniferous : Geol_Period + Devonian : Geol_Period + Sylusian : Geol_Period + Ordovician : Geol_Period + Cambrian : Geol_Period Geol_SeqOfUniverseOfDiscourse [1] + Phanerozoic : Geol_Eon Geol_SeqOfMesozoic [1] + Cretaceous : Geol_Period + Jurassic : Geol_Period + Triassic : Geol_Period Geol_SeqOfQuaternary [1] + Holocene : Geol_Epoch + Pleistocene : Geol_Epoch Geol_SeqOfNeogene [1] + Pliocene : Geol_Epoch + Miocene : Geol_Epoch Geol_SeqOfPaleogene [1] + Oligocene : Geol_Epoch + Eocene : Geol_Epoch + Paleocene : Geol_Epoch Geol_SeqOfTertiary [1] + Neogene : Geol_Period + Paleogene : Geol_Period Geol_SeqOfPhanerozoic [1] + Cenozoic : Geol_Era + Mesozoic : Geol_Era + Paleozoic : Geol_Era Geol_SeqOfCenozoic [1] + Quaternary : Geol_Period Neoarchean Mesoarchean Paleoarchean Eoarchean Cambrian_Late Cambrian_Middle Cambrian_Early Ordovician_Late Pridoli Holocene Names and colours of relative geochronological unites are based on: INTERNATIONAL STRATIGRAPHIC CHART (compiled by JurgenRemane)
12
Model ogólny (abstrakcyjny) stanowi podstawę
dla opracowania modeli implementacyjnych, przy pomocy których są generowane schematy implementacyjne W modelu implementacyjnym stosuje się stereotypy i typy zgodne ze specyfikacją określonej implementacji {Zamiana stereotypów i typów ogólnych na stereotypy i typów CORBA} <<ModelAbstrakcyjny>> {Zamiana stereotypów i typów ogólnych na stereotypy i typy XML-Schema} PunktIKrzywa {Zamiana stereotypów i typów ogólnych na stereotypy i typy EXPRESS} <<ModelImplementacyjny>> <<ModelImplementacyjny>> <<ModelImplementacyjny>> PunktIKrzywa: CORBA PunktIKrzywa: EXPRESS PunktIKrzywa: XML_Schema <<SchematImplementacyjny>> <<SchematImplementacyjny>> <<SchematImplementacyjny>> PunktIKrzywa: CORBA PunktIKrzywa: EXPRESS PunktIKrzywa: XML-Schema Objaśnienia: realizacja
13
Hierarchia obiektów definiujących typy geometrii przestrzeni (opracowana na podstawie ISO 19107 programem narzędziowym Rational Rose)
14
Hierarchia obiektów definiujących typy krzywych (opracowana na podstawie ISO programem narzędziowym Rational Rose)
15
Hierarchia obiektów definiujących typy elementów topologii przestrzeni (opracowana na podstawie ISO programem narzędziowym Rational Rose) podwójne dziedziczenie – wymaga to szczególnej ostrożności
16
powiązania pomiędzy elementy geometrii i topologii przestrzeni
Model UML definiujący powiązania pomiędzy elementy geometrii i topologii przestrzeni (opracowana na podstawie ISO 19107 programem narzędziowym Rational Rose) Objaśnienia: elementy topologii w większości są to klasy abstrakcyjne elementy geometrii
17
Model UML definiujący elementy
TM_TopologicalPrimitive Model UML definiujący elementy geometrii czasu (opracowana na podstawie ISO programem narzędziowym Rational Rose)
18
Model słownika dla określania rodzajów wyróżnień lub rodzajów ich atrybutów (opracowany na podstawie ISO 19103 programem narzędziowym Rational Rose)
19
Przykłady modelu ogólnego (abstrakcyjnego)
– niezależnego od określonej platformy implementacyjnej Podstawowa różnica pomiędzy modelem ogólnym (abstrakcyjnym) i modelem implementacyjnym polega na zastosowaniu w tym pierwszym stereotypów ogólnych, domyślnych lub własnych języka UML (na przykład: <<DataType>> i <<Enumeration>> lub domyślny <<Class>>)
20
Przykłady modelu implementacyjnego przeznaczonego dla języka EXPRESS
Podstawowa różnica pomiędzy modelem ogólnym (abstrakcyjnym) i modelem implementacyjnym polega na zastosowaniu w tym drugim stereotypów odpowiednich dla tej implementacji (na przykład: <<EXPRESS Entity>> i <<EXPRESS Type Declatation>>)
21
? Model UML definiujący elementy topologii czasu i ich powiązania
z elementami geometrycznymi czasu (opracowana na podstawie ISO 19108 programem narzędziowym Rational Rose) ?
22
Przykłady modelu aplikacyjnego opartego na standardzie ISO 19100
Objaśnienia: Klasy importowane z ISO Klasy ISO zmodyfikowane Nowe klasy opracowane jako pochodne klas ISO TM_Edge (from Temporal Objects (ISO)) TM_Order + relativePosition(other : TM_Primitive) : TM_RelativePosition <<Interface>> TM_TopologicalPrimitive TM_ReferenceSystem + name : RS_Identifier + domainOfValidity [0..*] : EX_Extent TM_Node TM_Primitive TM_OrdinalBoundary TM_OrdinalEra_Mod + name : CharacterString 1 1..n Terminatio +previous +end Initiation +start +next Geol_StratigraphicChart Geol_Eon Geol_Era Geol_Period Geol_Epoch Geol_Age Structure_Mod +compoment +system Composition_Eon +member +group Composition_Era Composition_Period Composition_Epoch TM_OrdinalReferenceSystem_Mod <<Uses>> Model aplikacyjny obok klas importowanych z pakietów modelu ISO zawiera nowe klasy, które są pochodnymi klas ISO (dziedziczą wszystkie składniki i powiązania). Model ten może także zawierać „nie-pochodne” klasy, które mają jako swoje składniki klasy modelu ISO
23
Narzędzia programu Rational Rose przeznaczone do konwersji modeli
UML do schematów implementacyjnych różnych platform (miedzy innymi: CORBA, C++, EXPRESS, ODQL, Oracle, COM i XML)
24
Schematyczne przedstawienie elementów platformy implementacyjnej CORBA z uwzględnieniem składników dotyczących wyróżnień geoprzestrzennych zdefiniowanych w specyfikacji OpenGIS [Źródło: archiwum OGC]
25
Okno programu Rational Rose podczas generowania kodu dla platformy CORBA – przykład dotyczący bazy danych hydrogeologicznych
26
Język XMI stanowi ogniwo pośrednie pomiędzy
modelami i schematami danych kilku najważniejszych platform implementacyjnych. (XMI – XML Metadata Interchange) Z tego względu HyperModel dobrze współpracuje z innymi programami narzędziowymi, a w szczególności z Rational Rose i XML-Spy model pojęciowy to także dane o danych czyli metadane [Źródło: (D. Carlson, 2001)]
27
Zapis modelu pojęciowego porządkowego układu odniesienia czasowego
w geologii (tablicy stratygraficznej) za pomocą języka XMI (fragment początkowy) zawiera wszystkie szczegóły modelu – także niewidoczne na diagramach
28
Mapowanie UML do/od XML Schema
<xs:element name="CatalogItem" type="cml:CatalogItem"/> <xs:complexType name="CatalogItem"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="description" type="xs:string"/> <xs:element name="listPrice" minOccurs="0"> <xs:complexType> <xs:element ref="cml:Money" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sku" type="xs:string"/> <xs:element name="globalIdentifier" type="xs:string"/> float <<XSDsimpleType>> Money <<XSDattribute>> currency : language CatalogItem name : string description : string listPrice [0..*] : Money sku : string globalIdentifier : string [Źródło: (Carslon, 2001)]
29
Program narzędziowy HyperModel firmy Ontogenics Corp
Program narzędziowy HyperModel firmy Ontogenics Corp. jest realizacją koncepcji pozwalającej przy pomocy języka XMI na dokonywanie konwersji modeli pojęciowych pomiędzy różnymi środowiskami
30
Właściwości programu narzędziowego HyperModel 1.2 (beta)
Importowanie schematów XML Schema do UML Generowanie schematów XML Schema z modeli UML Pełne dostosowanie projektu modelu UML do wymagań schematów XML Schema Tworzy dynamiczne i interaktywne diagramy UML Współpracuje z innymi narzędziami dla UML i XML UML: Rational Rose, Gentleware Poseidon, ArgoUML, TogetherSoft, MagicDraw, Visio 2002 (tylko export) i szeregiem innych. XML: XML Spy
31
Okna programu HyperModel
[Źródło: dokumentacja programu HyperModel] Okno katalogowe Okno diagramów modelu UML Okno właściwości i dokumentacji elementów Okno edytora schematu XML
32
Schematyczne przedstawienie transferu danych geoprzestrzennych pomiędzy dwoma systemami należącymi do różnych infrastruktur narodowych Warunkiem koniecznym do realizacji takiego transferu jest wspólny schemat aplikacyjny zgodny ze standardem ISO dotyczącym kodowania danych geoprzestrzennych [Na podstawie: raportów „Grupy Nordyckiej”]
33
Modułowy (komponentowy) GIS:
- Składa się z komponentów od różnych dostawców - A by to wszystko pasowało do siebie potrzebne są specyfikacje [Źródło: archiwum OGC]
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.