+ All Categories
Home > Documents > UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze...

UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze...

Date post: 01-May-2018
Category:
Upload: vudiep
View: 218 times
Download: 1 times
Share this document with a friend
55
Claudio Rocchini IGM, Scuola Superiore di Scienze Geografiche UML GML- Classi di Oggetti "Sistemi informativi geografici per il monitoraggio e la gestione del territorio" Claudio Rocchini Istituto Geografico Militare 2013 1
Transcript
Page 1: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

UML – GML- Classi di Oggetti "Sistemi informativi geografici per il monitoraggio e la

gestione del territorio"

Claudio Rocchini

Istituto Geografico Militare

2013

1

Page 2: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Introduzione

• Per lavorare nel GIS serve sapere anche queste cose?

• Si, perché:

– I dati geografici verranno scambiato nel formato GML o forniti da servizi di rete basati su GML

– Le specifiche del progetto INSPIRE sono UML-XML-GML

– Le specifiche dei metadati e i dati di scambio obbligatori per il CNIPA sono in XML-XSD

– Per progettare un PersonalGeoDB di ArcGIS con Visio bisogna utilizzare UML

– Eccetera

2

Page 3: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Esempio: Specifiche Regionali 1

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche 3

Page 4: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Esempio: Specifiche Regionali 2

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche 4

Page 5: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Esempio: MGCP

Fonte:

portal.opengeo

spatial.org,

MGCP

Topology

Quality

Assessment

Interoperability

Program

Report

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche 5

Page 6: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

UML

• Unified Modeling Language

• Linguaggio di modellazione generico

standardizzato

• E’ un linguaggio per lo più grafico: le

descrizioni in questo linguaggio sono

rappresentate da schemi e diagrammi

• Nasce per la progettazione di software ma

l’utilizzo si è esteso ad altri campi (GIS)

6

Page 7: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Non tutto l’UML

• L’UML si divide in vari tipi di diagramma, es.:

– Struttura

• Classi di Oggetti

• Componenti

• Pacchetti (Package)

• Installazione (Deployement)

– Comportamento

• Casi d’uso

• Interazione

• Attività

• Noi ci occuperemo solo delle Classi di Oggetti

7

Page 8: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

UML e Orientamento agli Oggetti

• Spesso i simbolismi dell’UML servono a rappresentare concetti che derivano dagli Oggetti

• Per questo via via che introduciamo gli schemi UML, daremo una breve descrizione della struttura orientata agli oggetti associata

• “Non ci si faccia prendere dal panico! Tutto sarà chiaro al momento opportuno”. B. Stroustrup, C++ terza edizione

8

Page 9: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Classe

• La classe (di oggetti) descrive la nostra entità ed è rappresentata con un rettangolo con in testa il nome della classe

• Di seguito sono elencati gli attributi (in questo è simile agli schemi ER delle basi di dati)

• Un terzo riquadro riporta i metodi (le operazioni possibili) della classe: in questa sede non ne parleremo

9

Page 10: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Attributi di una Classe

• Gli attributi hanno un nome (come ER)

• La specifica può essere più o meno dettagliata

• Gli attributi possono avere un tipo di dato (come ER)

• Il tipo di dato è semplice (numeri, parole), oppure può essere un’altra classe (nelle basi di dati questo non è possibile). Es. in GML la classe polilinea ha un attributo coordinate che è una lista di punti (altra classe)

• Gli attributi hanno una cardinalità minima e massima (non presente nei DB)

10

Page 11: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Cardinalità degli attributi

• Possibili Cardinalità:

– 1 : esattamente un’instanza, attributo obbligatorio

semplice

– 0..*: zero od una istanza: attributo opzionale

semplice

– 0..*: zero o più istanze: lista di elementi opzionale

– 1..*: una o più istanza: lista di elementi, almeno

uno è obbligatorio

11

Page 12: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Tipi di Dati degli Attributi

• Ogni attributo è associato ad un tipo di dato

• Ci sono dei tipi base:

– Numeri

– Parole

– Date

– Valori vero/falso

• Si possono definire nuovi tipi come

costruzione sui tipi di base.

Claudio Rocchini – Istituto Geografico Militare 12

Page 13: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Es. Attributi (INSPIRE)

Claudio Rocchini – Istituto Geografico Militare 13

Page 14: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Generalizzazione

• Concetto base dell’Object Oriented

• Indica una relazione fra due classe, in cui una è considerata una specializzazione dell’altra

• Se una classe B (specifica) è una specializzazione di una più generale A, vuol dire che B è anche un A (oppure B si può sostituire ad A)

• La classe specifica eredita tutte le proprietà della classe generale (attributi e funzionalità)

14

Page 15: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Es. Generalizzazione

• Le classi studente e professore sono classi specializzate di persone

• Questo si traduce nel fatto che uno studente (od un professore) sono anche persone

• Studente e professore ereditano gli attributi di persona (nome,cognome,…)

• In UML la generalizzazione si rappresenta con una freccia dalla testa bianca.

15

Page 16: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Generalizzazione

• La generalizzazione permette di specificare le

proprietà comuni di una serie di oggetti,

attraverso la definizione di una classe generale

• Bisogna ricordare che una classe eredità tutte

le proprietà delle classi padri

• La strutturazione a gerarchie di classi è molto

comune in programmazione e nella definizione

delle primitive geometriche (GML)

16

Page 17: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Es. Generalizzazione

• La classe punto ha l’attributo posizione

• La classe PuntoOrientato specializza punto, aggiungendo l’attributo angolo

• Un PuntoOrientato è anche un Punto ed eredita da questo l’attributo posizione

• Il PuntoDisegnato ha l’attributo stile ed eredita la posizione da Punto e l’angolo da PuntoOrientato

17

Page 18: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Es. Reale Generalizzazione

• Nelle specifiche GML appare

spesso la generalizzazione

• Addirittura, tutti gli oggetti GML

sono figli di un unico oggetto padre

GM_Object

• Nell’esempio a destra la classe

punto è una specializzazione della

classe primitiva geometrica

• Il punto ha l’attributo posizione,

ma anche tutte le proprietà di

primitiva e di tutti i suoi antenati

18

Page 19: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Es Generalizzazione (DBIt)

Claudio Rocchini – Istituto Geografico Militare 19

Page 20: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Classi Astratte

• A volte è comodo definire classi di livello

superiore che poi verrano specificate.

• Se la classe superiore non deve esistere di per

sé puo essere definita “astratta”.

• Le classi astratte non sono implementate

realmente, ma servono solo per specificare le

classi derivate (per generalizzazione).

• Il nome di una classe astratta è corsivo.

Claudio Rocchini – Istituto Geografico Militare 20

Page 21: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Classi Astratte: es. Inspire

Claudio Rocchini – Istituto Geografico Militare 21

Page 22: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Composizione

• La composizione è un’altra relazione fra classi

• Indica che una classe padre è composta da una o più classi figlio

• La composizione lega classi fortemente interconnesse

• La classe figlio di solito, non può essere utilizzata senza la classe padre (life cycle dependecy)

• In UML la relazione di composizione è rappresentata da una freccia che ha come testa una losanga nera

• La relazione ha di solito indicata la cardinalità (minima e massima) degli elementi in gioco

22

Page 23: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Es. Composizione

• Una automobile è composta (anche) da uno ed un solo

carburatore, mentre un carburatore può o meno essere inserito

in una macchina

• Il carburatore di per sé non a funzionalità se non per comporre

macchine

• Nota: la generalizzazione non c’entra: un carburatore non è

una automobile

23

Page 24: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Es. Composizione GML

• In GML, la classe bordo (di area) è

composta da un ed un solo anello

esterno, e da eventualmente zero o

più anelli interni (che rappresentano i

buchi)

• Per anelli si intende curve chiuse

rappresentate da polilinee

• Di per sé gli anelli non hanno

funzione, se non quella di definire i

bordi

24

Page 25: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Aggregazione

• L’aggregazione è una relazione fra classi che indica il formare una classe come aggregazione di altre classi

• La relazione fra classi coinvolte è minore (della composizione): la classe facente parte dell’aggregazione ha funzionalità di per sé, anche senza la classe aggregante

• Tipico esempio di queste classi sono le classi “contenitore”

• Anche per questa relazione viene specificata la cordialità minima e massima

• In UML l’aggregazione viene rappresentata da una freccia con in testa una losanga bianca

25

Page 26: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Es. Aggregazione

• L’aggregazione di uno o più studenti forma un corso

• La classe studente però ha funzionalità di per sé (es.

amministrativa)

• Ovviamente, uno studente non è un corso (ma al

massimo fa parte di un corso)

26

Page 27: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Es. Aggregazione GML

• Un oggetto complesso (una multi-area) è

l’aggregazione di più primitive geometriche (aree)

• Allo stesso tempo, il complesso e la primitiva sono

oggetti GM (sono specializzazioni diverse di oggetto)

27

Page 28: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Es. Aggregazione GML (2)

• Ancora più difficile:

• Un solido Composto è l’aggregazione di più solidi semplici (freccia a losanga “in su”)

• Allo stesso tempo, il solido composto è una specializzazione del solido semplice (è anche un solido, freccia triangolare “in giù”)

28

Page 29: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Es. Aggregazione (Metadati

Inspire)

Claudio Rocchini – Istituto Geografico Militare 29

Page 30: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Composizione VS Aggregazione

• I due concetti possono facilmente essere confusi

• Nella composizione una classe appartiene ad un solo tutto (un carburatore sta in una macchina), nell’aggregazione un oggetto può far parte di molti aggregati

• Nella composizione il ciclo di vita degli oggetti è collegato: se l’oggetto contenitore non serve più, non servono più neanche le parti

30

Page 31: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Composizione + Aggregazione

• Il poligono è composto da

coordinate puntuali, che sono

incluse in un solo poligono. Le

coordinate servono solo a definire

il poligono

• Ad un poligono è aggregato un

certo stile di visualizzazione, che

può essere utilizzato anche per

altre figure geometriche: lo stile ha

funzionalità di per sé

31

Page 32: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Associazione

• Due classi possono essere legate in modo più

generico dal concetto di associazione generica

che non è una generalizzazione, ne una

composizione ne una aggregazione

• Come le altre relazioni è specificata anche

dalla sua cardinalità

• L’associazione si rappresenta in UML da una

freccia semplice

32

Page 33: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Es. Associazione

• Ad un ufficio IGM è associato un ed un solo

CapoUfficio (questa relazione ricorda le basi di dati)

33

Page 34: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Es. Associazione GML

• Ad ogni oggetto GM (oggetto geometrico) è associato un oggetto Sistema di Riferimento

• Questo vuol dire che tutte le forme geometriche GML sono associate ad un sistema di coordinate, come è in tutti i dati GIS moderni

• Questo tipo di relazione assomiglia a quelle tipiche delle basi di dati

34

Page 35: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

UML vs Entità Relazioni

Come i concetti UML si trasformano

in Entità Relazioni e quindi in base di

dati.

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche 35

Page 36: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

UML vs ER: note generali

• Nei prossimi esempi vedremo il passaggio da uno

schema UML ad uno ER (Entità-relazioni).

• Le trasformazioni sono state generate

automaticamente con Moskitt.

• Nella parte alta viene mostrato lo schema UML, nella

parte bassa quello ER.

• UML è più pontente di ER, per questo lo schema ER

è spesso più complesso.

Claudio Rocchini – Istituto Geografico Militare 36

Page 37: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Relazione 1 a enne

Claudio Rocchini – Istituto Geografico Militare 37

Page 38: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Relazione enne a enne

Claudio Rocchini – Istituto Geografico Militare 38

Page 39: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Relazione enne a enne (SQL)

CREATE TABLE comune(

PK_comune integer

);

CREATE SEQUENCE SEQ_comune_PK_comune

ALTER TABLE comune ALTER COLUMN PK_comune SET DEFAULT nextval('SEQ_comune_PK_comune');

ALTER TABLE comune ADD CONSTRAINT PK_comune PRIMARY KEY (PK_comune);

CREATE TABLE strada(

PK_strada integer

);

CREATE SEQUENCE SEQ_strada_PK_strada

ALTER TABLE strada ALTER COLUMN PK_strada SET DEFAULT nextval('SEQ_strada_PK_strada');

ALTER TABLE strada ADD CONSTRAINT PK_strada PRIMARY KEY (PK_strada);

CREATE TABLE comune_strada(

comune integer,

strada integer

);

ALTER TABLE comune_strada ADD CONSTRAINT PK_comune_provincia PRIMARY KEY (comune,strada);

ALTER TABLE comune_strada ADD CONSTRAINT FK_comune FOREIGN KEY (comune) REFERENCES

comune(PK_comune) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION NOT DEFERRABLE

INITIALLY IMMEDIATE;

ALTER TABLE comune_strada ADD CONSTRAINT FK_strada FOREIGN KEY (strada) REFERENCES

strada(PK_strada) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION NOT DEFERRABLE

INITIALLY IMMEDIATE;

Claudio Rocchini – Istituto Geografico Militare 39

Page 40: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Aggregazione

Claudio Rocchini – Istituto Geografico Militare 40

Page 41: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Generalizzazione Astratta e

Concreta

Claudio Rocchini – Istituto Geografico Militare 41

Page 42: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Attributi Multivalore (DBIt)

Claudio Rocchini – Istituto Geografico Militare 42

Page 43: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Esempi GML

• Di seguito vediamo alcuni esempi della

struttura GML

• Cerchiamo di ritrovare, in alcune parti dei

diagrammi UML, i concetti appena descritti

• Questa non vuole essere un’introduzione

esaustiva al GML, ma solo un esempio di

come si utilizza UML

43

Page 44: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

GML

44

Page 45: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

GML

45

Page 46: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Aree e Bordi

• Interessante è la definizione di aree e bordi

• Un’area è definita come la composizione di

una serie di “anelli”

• Il primo anello indica il bordo esterno

• Gli altri anelli descrivono i buchi interni

46

Page 47: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

GML

47

Page 48: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

GML

48

Page 49: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

GML Avanzato

• L’ultima versione del GML prevede molti

concetti avanzati:

– Oggetti volumetrici

– Topologia esplicita (winged-edge)

– Superfici poliedrali e griglie, come ad esempio i

TIN (triangolazioni irregolari del terreno, che

descrivono il modello altimetrico)

49

Page 50: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

GML

50

Page 51: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Toponimi INSPIRE

• INSPIRE: progetto europeo di

standardizzazione e fruizione dei dati

geografici

• Le specifiche dei toponimi prevedono la

struttura base delle classi di dati definita in

UML:

51

Page 52: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Inspire Toponimi

52

Page 53: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Inspire: Toponimi

53

Page 54: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Riferimenti

• OMG Unified Modeling Language (OMG

UML), Infrastructure, V2.1.2

(http://www.omg.org/spec/UML/2.1.2/Infrastr

ucture/PDF)

• OpenGIS® Geography Markup Language

(GML) Encoding Standard, Version: 3.2.1

• Schemi originali disegnati con Microsoft

Visio© e Liquid XML Studio (Free)

54

Page 55: UML GML- Classi di Oggetti - rockini.name · Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche UML – GML- Classi di Oggetti "Sistemi informativi geografici per il

Claudio Rocchini – IGM, Scuola Superiore di Scienze Geografiche

Bibliografia del Corso

• Concepts and Tecniques of Geographic

Information Systems 2° edition, C.P.Lo A. K.

W. Yeung, Pearson Prentice Hall

• UML Distilled, 1° ed italiana, M. Fowler,

Addison – Wesley

• C++, 3° edizione italiana, B. Stroustrup,

Addison Wesley

55


Recommended