Beskrivelse av å lage en modell Hvor i løypa befinner vi oss? Business Process Lage produktspesifikasjon Kartverket Matrikkel- og stedsnavnavdeling Ny produktspesifikasjon skal lages Nei Lage UML-modell Lage produktspesifikasjonsdokument Generere realiseringer Teste eksempeldata mot realiseringsresultater Er testres og h produkts UML-modell administrative enheter Produktspesifikasjon SOSI-Kontrollfil PostGIS-DDL-fil GML-applikasjonsskjema
Beskrivelse av å lage en modell Innhold Hente relevante klasser fra SOSI-fagområdestandarder Hente relevante klasser fra SOSI-generelle standarder Stramme inn til en presis konseptuell modell av et produkt Relevante standarder Internasjonalt: ISO 19103 Conceptual schema language ISO 19109 Rules for application schema ISO 19505-2 Unified Modeling Language Part 2: Superstructure (samme som Object Management Group UML 2.4.1) Nasjonalt: SOSI Regler for UML-modellering 5.0
Beskrivelse av å lage en ny modell Bruk av EA for å lage modell med Kommune og AdmSenter Veileder med 29 punkter for å lage produktspesifikasjonsmodeller: Veileder_i_å_modellere_produktspesifikasjon_som_utplukk_fra_SOSI_fagområder.pdf Lage UML-modell UML-modell administrative enheter
Veileder i å lage produktspesifikasjonsmodell Nr Deloppgave Side Mrk Generell forberedelse 1 Bestem klart hvilke objekttyper produktet skal inneholde. 3 2 Etabler full oversikt og innsikt i alle relevante fagområder i SOSI del 2 og i de Inspire-tema du i henhold til Geodataloven er pålagt å realisere. 3 3 Bestem hvilke fellesegenskaper som skal benyttes fra SOSI generell del. 3 Innsamling til EA 4 Last inn kopier av alle relevante fagområder fra SOSI del 2 i modellregisteret. 3 Valg av subsett 5 Lag en ny pakke for produktspesifikasjonen stereotypet «ApplicationSchema» 4 6 Merk, og lag kopier av hver relevant pakke i fagområdet. 11 7 Flytt alle ønskede objekttyper, datatyper og kodelister opp i den nye pakka. 12 8 Dra alle klassene inn i et klassediagram, eventuelt i egne diagram. 13 9 Fjern «topo»-assosiasjoner og lag tilsvarende restriksjoner. Lag lovlige navn på koder. Fjern unødvendige assosiasjoner, egenskaper og koder fra klassene. 13 10 Stram eventuelt inn på multiplisitetskravene på de resterende elementene. 17 11 Lag supertype som subsett av SOSI_Fellesegenskaper eller SOSI_Objekt og ta med ønskede 18 fellesegenskaper. 12 Legg inn at alle objekttyper arver fellesegenskaper. 19 Nye elementer 13 Legg inn nye objekttyper og egenskaper som ikke finnes i fagområdene. 20 14 Legg inn påkrevede plattformuavhengige tagged values. 28
Veileder i å lage produktspesifikasjonsmodell Nr Deloppgave Side Mrk Kobling tilbake til fagområde 15 Dokumenter i diagram hvordan objekttypene er realisert, og hva som er nytt. 29 16 Dokumenter i diagram realisering av fellesegenskaper fra SOSI_Objekt. 30 Sluttbehandling 17 Sjekk og re-etabler alle koblinger til korrekt datatype. Kjør modellvalidering. 31 Lagring av modellen 18 Lagre den nye applikasjonsskjemapakka til et egnet register, som i SOSI-modellregisteret under SOSI-produktspesifikasjoner. 32 Dokumentere modellen 19 Generer tekstlig dokumentasjon til produktspesifikasjonsdokumentet. 35 20 Klipp andre aktuelle rapporter inn i produktspesifikasjonsdokumentet. 35 Melde inn mangler i fagområdene 21 Meld inn til standardiseringssekretariatet behov om elementer som manglet i fagområdene, for oppdatering av fagområdestandardene i SOSI del 2. 36 Generere SOSI-realisering og SOSI-kontrollfiler 22 Legg inn innhold i tagged values for bl.a. SOSI_kortnavn og SOSI_navn. 37 23 Generer SOSI-Kontrollfiler for validering av data. 37 24 Generer SOSI-syntaks og klipp den inn i produktspesifikasjonsdokumentet. 39 Generere GML realisering 25 Legg inn nødvendige GML-skjema-metadata som tagged values på pakka. 39 26 Generer GML-applikasjonsskjema med ShapeChange i Enterprise Architect. 40 27 Lag og valider eksempel på GML-datasett som følger produktspesifikasjonen. 42 28 Legg inn GML-applikasjonsskjema på angitt skjemaplassering. 42 29 Legg inn URI og URL til GML-applikasjonsskjema i produktspesifikasjonen. 43
SOSI modellregister
Steg for produktspesifikasjonsmodell Lag egen hovedgruppe i SOSI-modellregister Start i et pakkediagram Lag pakke Kommunesammenslåing med stereotypen ApplicationSchema i verktøykassa og Hoveddiagram Dra inn pakkene nasjonal hovedinndeling 4.5.2 og fellesegenskaper 5.0 i den nye pakka. Dra klassene Kommune, AdmSenter, AdministrativEnhet og Kommunenummer opp til den nye pakka. Dra SOSI_Fellesegenskaper og Identifikasjon til samme sted. Dra alle klassene inn i hoveddiagrammet, slå av visning av alle kommunekoder. Sett inn arv fra fellesegenskaper. Fjern uønskede egenskaper og stram inn multiplisitet.
Kodelister inne i modellen eller eksternt? Sett inn verdi true i tagged value asdictionary og http-uri i tagged value codelist. Lager da en kodeliste forvaltet utenfor modellen (men lokalt innenfor produktversjonen). http://skjema.geonorge.no/sosi/produktspesifikasjon/kommunesammensl åing/2019/kommunenummer.xml (Må ha med filtype.xml for GIStools). Sett inn samme http-uri i verdien til tagged value defaultcodespace på egenskapene som bruker kodelista Kommunenummer. (Uten filtype! Brukere kan da velge enten gml:dictionary eller SKOS ved enten å legge på filtype.xml eller.rdf - eller ved å angi mediatype i oppslaget. ) Nevne at vi kan sette inn http-uri og sti til en atoritativ sentralt forvaltet kodeliste: http://skjema.geonorge.no/sosi/kodeliste/admenheter/2018/
Eksempel på resultat av modelleringen Fellesegenskaper + identifikasjon: Identifikasjon + oppdateringsdato: DateTime «datatype» Identifikasjon + lokalid: CharacterString + navnerom: CharacterString + versjonid: CharacterString [0..1] + område: Flate AdministrativEnhet AdmSenter + posisjon: Punkt + navn: CharacterString +kommunesenter +kommune Kommune «CodeList» Kommunenummer + kommunenummer: Kommunenummer + samiskforvaltningsområde: Boolean
Eksempel på dokumentert realisering SOSI_Fellesegenskaper + identifikasjon: Identifikasjon + oppdateringsdato: DateTime + gyldigfra: DateTime [0..1] + gyldigtil: DateTime [0..1] Fellesegenskaper + identifikasjon: Identifikasjon + oppdateringsdato: DateTime «datatype» Identifikasjon + lokalid: CharacterString + navnerom: CharacterString + versjonid: CharacterString [0..1] «datatype» Identifikasjon + lokalid: CharacterString + navnerom: CharacterString + versjonid: CharacterString [0..1] (from SOSI Model::SOSI Generelle konsepter::sosi Generelle typer:: Generelle typer 5.0:: SOSI_Fellesegenskaper og SOSI_Objekt) (from SOSI Model::SOSI Generelle konsepter::sosi Generelle typer:: Generelle typer 5.0:: SOSI_Fellesegenskaper og SOSI_Objekt) «featuretype» AdministrativEnhet + område: Flate [] + posisjon: Punkt [] + land: Landkode [0..1] + administrativtnivå: AdministrativtNivå [0..1] + administrativkode: CharacterString [0..1] (from SOSI Model::SOSI Generell objektkatalog:: AdministrativeOgStatistiskeInndelinger:: AdministrativeOgStatistiskeInndelinger-4.5.2:: Nasjonal hovedinndeling) + område: Flate AdministrativEnhet AdmSenter + posisjon: Punkt + navn: CharacterString +kommunesenter +kommune Kommune + kommunenummer: Kommunenummer + samiskforvaltningsområde: Boolean «featuretype» Kommune + kommunenavn: AdministrativEnhetNavn [] + kommunenummer: Kommunenummer [0..1] + samiskforvaltningsområde: Boolean [0..1] + postadresse: MottakerAdresse [0..1] +kommune +kommunesenter «featuretype» AdmSenter + posisjon: Punkt [0..1] + navn: CharacterString [] + besøksadresse: VegadresseIdent [0..1] + administrativtnivå: AdministrativtNivå [0..1] (from SOSI Model::SOSI Generell objektkatalog:: AdministrativeOgStatistiskeInndelinger:: AdministrativeOgStatistiskeInndelinger-4.5.2:: Nasjonal hovedinndeling)
Demo