NGIS-API Teknisk gjennomgang av NGIS API 9/12 2014
Disposisjon Fremtidig modell for forvaltning av FKB Arkitekturoversikt NGIS-API
NGIS API Geosynkronisering Geosynkronisering FKB forvaltningsmodell 2015/2016 Kommunen og andre forvaltere Kartverket og fagansvarlige Distribusjon Kontroll Periodisk ajourhold Lokal kopi NGIS API Dist. kopi Bruk Kontinuerlig ajourhold Sentral Original QMS WFS WMS Andre tjenester Filnedlasting
QMS arkitekturoversikt Klient N G I S - A P I Navnetjeneste Server Portal Oppgave Objekt katalog QsServer List Arkiv Ok Arkiv Ok Database
QMS Navnetjeneste Klient NGIS - API QMS portal Navnetjeneste Logisk navn Logisk navn Logisk navn Logisk navn Nettverksadresse Nettverksadresse Nettverksadresse Nettverksadresse QMS objekt katalog Arkiv Arkiv
QMS Portal Klient Portal Bruker Bruker Gruppe Gruppe NGIS - API Oppgave Oversiktskart Utvalg QMS objekt katalog Portal - administrator R Arkiv W Arkiv
QMS Objektkatalog Objektkatalog QMS portal Feature-type Feature-type Feature-type Geometri-type Geometri-type Geometri-type Arkiv Objektkatalog Atributt-type Atributt-type Atributt-type Objektkatalog - administrator
QMS Arkiv Klient QMS portal NGIS - API Arkiv Objektkatalog QMS objekt katalog Oracle database Mapping og tilgangskontroll Arkiv - administrator
NGIS API består av Geodatamodell (basert på general feature model) - transport av geometriske objekter og deres egenskaper Action-modell (dataoperasjonsmodell) - lagre og endre objekter Query-modell - hente lagrede objekter til geodatamodellen Tilgangs-API over query- og actionmodellene Kommunikasjonsrammeverk som innkapsler det hele
NGIS-API: Tilgang - 1 Initialisering tilgang (CQsAccess *paccess = getqsaccessinstance();) getversion clientlogin / directlogin logoff tasksetquery Hent oppgaver brukeren har tilgang til taskquery Hent komplett oppgave setarchivereadonly nedskaler tilgangen til arkiv removearchivefromtask nedskaler tilgangen til arkiv globalgeodatasetquery Hent data
NGIS-API: Tilgang - 2 globalgeodatasetupdate Lagre tilbake data til arkiv bvalidateonly / bcommitdata / bskipvalidation writetask - Lagre oppgave (QdpSingleTask ) til XML-fil readtask - Lese oppgave (QdpSingleTask ) fra XML-fil
NGIS-API: Tilgang - 3 ClientProgressInfo Objekt for tilbakemelding (callback) arver fra denne klassen setrequestprogressstate setrequestresultavailable
NGIS-API: Metoder i datamodell Legge inn data Hente ut data Slette og opprette data av ulike typer
NGIS-API: Datamodell Geodata Datamodell som transporterer selve dataene Modellen ligner på GML sin datamodell, men er ikke lik Metoder for å hente ut og legge inn data i modellen
Pakker i geodatamodellen geodataset spatialobject spatialproperty Object shape attribute primitiveattribute spatialproperty Type typeregistry type primitiveattribut etype Geografiske objekter (spatialobject) og egenskaper som beskriver disse Objektkatalogen (TypeRegistry) som definerer hvilke objekttyper som er lovlige (spatialobjecttype) og lovlige egenskaper inkludert geometri
Forholdet mellom objektkatalog og data Datadelen Objektkatalog (TypeRegistry) Objekt med data Objekt definsjon Objekt ObjektType: Stolpe Egenskaper : 8899 23, 234234, 30.06.1993, 3 Egenskapstyper: Kode FabrikatNr : Heltall, F.nr.: Heltall, Installert : Dato, Antall lys : Heltall Geografiske egenskaper: 30234,6620004,0 Geo. egenskapsstyper: Plassering : Posisjon(x,y,z)
SpatialProperty Object - 1 QdiSpatialPropertyObject (from spatialobject) +spatialref erencesy stem 0..1 QdiSpatialReferenceSystem QdiCoordinateRef erencesy stem - coordsy s : int NetRef erencesy stem (from ObjectType) + degree : DegreeOf Detail + lev el : Lev elof Detail QdiPoint QdiCurve QdiSurface QdiMultiPoint 1..n +points -position 0..1 -/startpoint QdiSinglePoint -/endpoint 0..1 1 QdiSimpleSurface -exterior QdiComplexSurf ace 1 {set} 0..1 -interiors QdiPosition (from shape) 1 QdiCurveSegment -curv e {sequence} QdiPath -shape QdiCurveShape (from shape) 1 QdiCurv edirection - Signed : bool -curv es 1..n 1..n -curv es {sequence} QdiBoundary QdiGeometry Surf ace -shape 1 QdiSurfaceShape (from shape)
SpatialProperty Object - 2 SinglePoint (Position2D eller Position3D) MultiPoint (punktsverm, 2D eller 3D) CurveSegment (inneholder et primitivt kurve objekt, Position2D/3D, Arc (bue) eller Polyline (kurve) Path (et eller flere CurveSegments i vilkårlig kombinasjon) GeometrySurface (inneholder et primitivt flateobjekt, Rectangle, Circle eller Polygon Boundary (et geografisk område med yttergrense definert av en vilkårlig blanding av CurveSegments og Paths) ComplexSurface (består av en Boundary som definerer et områdes yttergrense, og ingen eller flere Boundarys som definerer hull i området.)
Shape - 1 QdiShape QdiCurveShape QdiSurface Shape QdiSpline QdiArc - radius : double = 0. - major : bool 1 QdiPolyline -boundary QdiCircle - radius : double QdiPolygon -positions QdiRectangle -center {sequence} 1 {sequence} 1 QdiPosition -/positions -startposition - x : double - y : double 1 -endposition -lowerleft -lowerright QdiPosition 3D - z : double 1 1 QdiPosition2D 1 1 -upperleft -upperright QdiPosition3DWAttributes QdiPosition2D WAttributes -KP 0..1 QdiKP - code : int 0..1 -KP -attributes +attributes QdiAttribute (from attribute) - name : char*
Shape - 2 Grunnleggende geometriske objekter: Punkt Position2D Position3D Position2D/3DWithAttributes Kurve Polylinje (linje med flere punkt) Bue (2 punkter med radius) Flate Rektangel Sirkel Polygon
Ikke-geometriske egenskaper 1 -metaobjects QdiSpatialObject 0..1 -spatialobjecttype QdiSpatialOb jecttype (from type) {set} -associations QdiFeature {set} -spatials QdiSpatialProp ertyobject {set} -aggregations
Ikke-geometriske egenskaper 2 {set} 1..n QdiAttribute - name : char* 1 -attributetype QdiAttributeType (from type) QdiListAttr ibute -attributes {set} {All objects in a list instance must be of the same type} QdiSingleAttribute QdiUserDefin edattrib ute QdiPrimitive Attribute QdiStructAttribute QdiEnumAttribute
Ikke-geometriske egenskaper 3 BoolAttribute - true/false IntegerAttribute - heltall Integer64Attrivute - heltall, 64 bit RealAttribute - flyttall CharAttribute - enkelttegn TimeAttribute - tidspunkt DateAttribute - dato DateTimeAttribute - datotid StringAttribute - tekststreng WStringAttribute - gir støtte for internasjonale tegn (f. eks. japanske skrifttegn) BlobAttribute - Lagrer en stor binær datablokk. CodeListAttribute - kodeliste (enum) lovlige koder/verdier med forklaring
Spørring (Request)
NGIS-API: Datamodell - Query Datamodel for å spesifisere en spørring for å hente data
Spesielle spørringer (extents) AllData_t GetOracleAreaQuery LockedFeatureInArea Log_t IsEmpty_t TypesOnly_t Historic_t Parameters_t
Resultat fra spørring (Result)
NGIS-API: Datamodell - Action Datamodell for å beskrive en oppdatering av data i basen
Videre lesing / flere detaljer QMS dokumentasjon Overordnet beskrivelse (Quadri Map Server - Overordnet beskrivelse.doc) Datamodeller (Quadri Map Server - Datamodeller.doc) Utviklerhåndbok (Quadri Map Server - Utviklerhåndbok.doc)