Public API - OGC services - DRAFT

Bussiness case

Use cases:

  • Geopunt (TBD): (Eventueel ontdubbelen in punten en multipolygonen)

    • Grondwerken vandaag

    • Grondwerken vandaag + 1 maand

    • Werken vandaag

    • Werken vandaag + 1 maand

    • Evenementen vandaag

    • Evenementen vandaag + 1 maand

    • Hinder vandaag

    • Hinder vandaag + 1 maand

  • Brandweer / hulpdiensten

    • Hinder, gefilterd op hinder gevolgen

  • GPS providers

    • Hinder, gefilterd op hinder gevolgen

    • Innames

GIPOD data wordt publiek ontsloten via OGC services:

  • WMS: Publiceert kaarten in rasterformaat (jpg,png,…)

  • WFS: Publiceert kaartdata in vectorformaat (xml, geojson, …)

  • API Features: Publiceert kaartdata als REST webservice html/json

Architectuur

Opmerkingen:

  • Innames/hinders worden ontsloten per occurence/voorkomen.

  • De public API databank wordt voorlopig binnen GIPOD gehost, dit kan mogelijk in de toekomst bij geo-webdiensten zijn.

Tabellen in public API DB

Todo’s:

Base URL voor URI/taxonomie te bepalen
TBD: JSON strings in attributen? → eventueel opsplitsen in text en json attribuut
Data retentie: verwijderen data waarvan einddatum 2 jaar oud is? Voor WMS enkel vandaag en volgende maand.
Hoe ver in de toekomst?
Nog eens nagaan met geowebdiensten of een laag toch niet meerdere types geometrieën kan bevatten

InnameOccurence

Algemene filter: Enkel innames met status: concreet gepland, in uitvoering, lopende

Elke rij is één occurence van een inname, deze worden in de toekomst berekend tot vb. 2100 (zelfde als in de back-end)

Attribuut

Type (bold = zoekbaar)

Berekening / Filtering

Opmerkingen / voorbeeld

Attribuut

Type (bold = zoekbaar)

Berekening / Filtering

Opmerkingen / voorbeeld

ID

varchar (PK)

gipodId-YYYYMMDDHHMMSS

 

gipodId

integer

 

 

URI

varchar

 

https://private-api.gipod.vlaanderen.be/api/v1/groundworks/10043834

geometry

Geometry (MultiPolygon)

Unie van inname zones

  • Punten omzetten in polygoon door buffer 0.25m toe te passen

  • Lijnen met buffer 0.25m

 

pointOnSurface

Geometry (Point)

 

 

description

 

 

 

reference

 

 

 

type

varchar

 

Label (Werk / Evenement / grondwerk)

typeId

varchar

 

https://private-api.gipod.vlaanderen.be/api/v1/taxonomies/.../60ad4826-893d-4695-b815-a0adb39287e4

publicDomainOccupancyTypes

text

Regel per Type (newline)

Type1
Type2

status

varchar

Enkel innames met status: concreet gepland, in uitvoering, lopende

 

statusId

varchar

 

Verwijziging naar taxonomie

start

datetime

 

 

end

datetime

 

 

timeSchedule (basis tekstje)

text

 

Tonen zoals in huidige WMS (wederkerigheid)

Extra’s en uitzonderingen, mogelijk in afzonderlijk veld

owner

varchar

 

 

ownerId

varchar

 

https://private-api.gipod.vlaanderen.be/api/v1/organisatione/...

contactOrganisations

text

Als tekst, 1 regel per contactgegeven:

Rol: Organisatie, Naam, E-mail, Telefoon, URL

 

consequences

text

Regel per hinder

 

groundworkCategory

varchar

Enkel bij grondwerken, anders null

 

groundworkCategoryId

varchar

 

https://private-api.gipod.vlaanderen.be/api/v1/taxonomies/.../60ad4826-893d-4695-b815-a0adb39287e4

groundworkSpecification

text

Regel per specificatie

 

groundworkPartOfTrenchSynergy

text

Regel per Ssyn

 

createdOn

datetime

 

 

lastModifiedOn

datetime

 

 

osloJson

JSON

Oslo detail (zonder niet-publieke informatie)

Referenties (taxonomie, …) verwijzen naar absolute url’s onder https://private-api.gipod.vlaanderen.be/api/v1/…

Grondwerk (analoog voor werk en evenement):

 

  "@context": "https://private-api.gipod.test-vlaanderen.be/api/v1/context/enriched/public-domain-occupancy.jsonld",

  "@id": "/api/v1/groundworks/10045378",

  "@type": "Groundwork",

  "gipodId": 10045378,

  "identifier": [

    {

      "@type": "Identifier",

      "identifier": {

        "value": "10045378",

        "type": "gipodId"

      },

      "assignedByName": "https://gipod.vlaanderen.be "

    },

    {

      "@type": "Identifier",

      "identifier": {

        "value": "Reference of the groundwork Postman",

        "type": "reference"

      },

      "assignedByName": "Agentschap Informatie Vlaanderen"

    }

  ],

  "description": "Description of the groundwork Postman",

  "remark": null,

  "url": [

    "https://www.groundwork.vlaanderenPostman.be"

  ],

  "attachment": [],

  "publicDomainOccupancyType": [

    {

      "@id": "/api/v1/taxonomies/public-domain-occupancy/types/a5e42efa-3d68-4e53-9fd6-31387d3f0f1f",

      "prefLabel": "Thermisch"

    },

    {

      "@id": "/api/v1/taxonomies/public-domain-occupancy/types/a486a968-e498-4708-8820-901686f0712f",

      "prefLabel": "Elektriciteit"

    }

  ],

  "specification": [

    {

      "@id": "/api/v1/taxonomies/public-domain-occupancy/specifications/57438692-f1e3-4010-a1c8-725f42b85f56",

      "prefLabel": "(her)aanleg"

    },

    {

      "@id": "/api/v1/taxonomies/public-domain-occupancy/specifications/bcb16725-0dd0-4c29-9384-c12e1c0eb3a9",

      "prefLabel": "boring"

    }

  ],

  "category": {

    "@id": "/api/v1/taxonomies/public-domain-occupancy/groundworkcategories/1cf4ebfb-8702-4fc3-a1b1-9b22c3b909f9",

    "prefLabel": "Categorie 2"

  },

  "owner": {

    "@id": "/api/v1/organisations/9c5926df-195d-01be-a40a-360bcd21d662",

    "@type": "Organisation",

    "preferredName": "Agentschap Informatie Vlaanderen"

  },

  "contactOrganisation": [

    {

      "@id": "/api/v1/groundworks/10045378/contactorganisations/2ec9d246-dfb1-4b0c-99e2-549915826673", -> contactOrganisatie details volledig mee opgenomen (enkel publieke)

      "@type": "ContactOrganisationInRole",

      "role": {

        "@id": "/api/v1/taxonomies/contactroles/aad5e947-f7bf-4592-a84a-f591555b0b8b",

        "prefLabel": "Dossierbeheerder"

      }

      ],

  "period": {

    "@type": "PeriodWithDuration",

    "start": "2022-01-01T14:00:00Z",

    "end": "2022-01-04T14:00:00Z",

    "duration": null

  },

  "estimatedDuration": {

    "value": "1",

    "type": "xs:int"

  },

  "occurrence": "/api/v1/groundworks/10045378/occurrences",

  "status": {

    "@id": "/api/v1/taxonomies/statuses/b96e6ec6-58f1-4a51-ab92-f0ce462476a7",

    "prefLabel": "Niet-concreet gepland"

  },

  "zone": [

    {

      "@id": "/api/v1/groundworks/10045378/zones/cd2b5148-caee-437e-ad47-db201c1eb83d",

      "@type": "Zone",

      "geometry": {

        "@type": "Geometry",

        "wkt": "POLYGON ((122980.5 183762, 122973.5 183742.75, 123007 183740.5, 122980.5 183762))"

      },

      "zoneType": {

        "@id": "/api/v1/taxonomies/zonetypes/6ee12839-8002-4f51-b509-4000b4a29b44",

        "prefLabel": "GrondwerkZone"

      },

      "pointOnSurface": {

        "@type": "Geometry",

        "wkt": "POINT (122984.6816860465 183752.375)"

      },

      "nisCodes": [

        "41034"

      ]

    }

  ],

  "addressRepresentation": null,

  "grbImpact": null,

  "isRelocationGroundwork": false,

  "causingGroundwork": [],

  "isPartOfTrenchSynergy": [],

  "hasConsequence": [],

  "publicDomain": true,

  "requestForGroundworks": [],

  "lastModifiedOn": "2021-11-18T14:25:11.2223785Z",

  "lastModifiedBy": {

    "@id": "/api/v1/organisations/9c5926df-195d-01be-a40a-360bcd21d662",

    "@type": "Organisation",

    "preferredName": "Agentschap Informatie Vlaanderen"

  },

  "createdOn": "2021-11-18T14:25:11.216359Z",

  "createdBy": {

    "@id": "/api/v1/organisations/9c5926df-195d-01be-a40a-360bcd21d662",

    "@type": "Organisation",

    "preferredName": "Agentschap Informatie Vlaanderen"

  }

}

 

 

HinderZoneOccurence

Attribuut

Type (bold = index)

Berekening / Filtering

Opmerkingen / voorbeeld

Attribuut

Type (bold = index)

Berekening / Filtering

Opmerkingen / voorbeeld

ID

varchar (PK)

GUID zone-YYYYMMDDHHMMSS

 

URI

varchar

 

https://private-api.gipod.vlaanderen.be/api/v1/mobility-hindrances/10043834/zones/0cd0ae5e-94b8-475d-aceb-5a6f50df0f95

zoneId

varchar

GUID zone

0cd0ae5e-94b8-475d-aceb-5a6f50df0f95

geometry

Geometry (MultiPolygon)

MobilityHindranceZone

 

pointOnSurface

Geometry (Point)

 

 

zoneType

varchar

 

Label

zoneTypeId

varchar

 

https://private-api.gipod.vlaanderen.be/api/v1/taxonomies/.../60ad4826-893d-4695-b815-a0adb39287e4

consequences

text

Regel per consequence

 

hindranceGipodId

integer

 

Vanaf hier allemaal attributen van hinder

hindranceURI

 

 

https://private-api.gipod.vlaanderen.be/api/v1/mobility-hindrances/10043834

hindranceConsequenceOf

text

regel per concequenceOf

 

hindranceDescription

text

 

 

hindranceOwner

varchar

 

Label

hindranceOwnerId

varchar

 

Link naar organisatie

hindranceContactorganisations

 

Enkel publieke contactgegevens

Als tekst, 1 regel per contactgegeven:

Rol: Organisatie, Naam, E-mail, Telefoon, URL

 

hindranceStart

datetime

 

 

hindranceEnd

datetime

 

 

hindranceStatus

varchar

 

Label

hindranceStatusId

varchar

 

Taxonomie

hindranceCreatedOn

datetime

 

 

hindranceLastModified

datetime

 

 

hindranceOsloJson

JSON

Oslo detail hinder (zonder niet-publieke informatie)

Referenties (taxonomie, …) verwijzen naar absolute url’s onder https://private-api.gipod.vlaanderen.be/api/v1/…

 

Zie bovenste tabel

hindranceZoneOsloJson

JSON

Oslo detail hinderZone

 

HinderZoneConsequences

Attribuut

Type (bold = index)

Berekening / Filtering

Opmerkingen / voorbeeld

Attribuut

Type (bold = index)

Berekening / Filtering

Opmerkingen / voorbeeld

ID

varchar (PK)

GUID zone-consequenceId

 

URI

varchar

 

https://private-api.gipod.vlaanderen.be/api/v1/mobility-hindrances/10043834/zones/0cd0ae5e-94b8-475d-aceb-5a6f50df0f95

zoneId

varchar

 

0cd0ae5e-94b8-475d-aceb-5a6f50df0f95

geometry

Geometry (MultiPolygon)

MobilityHindranceZone

 

pointOnSurface

Geometry (Point)

 

 

zoneType

varchar

 

Label

zoneTypeId

varchar

 

https://private-api.gipod.vlaanderen.be/api/v1/taxonomies/.../60ad4826-893d-4695-b815-a0adb39287e4

consequence

varchar

 

Label

consequenceTreeLevel0

varchar

Niveau 0 in de consequence taxonomie boom

vb. “Gemotoriseerd verkeer”

consequenceTreeLevel1

varchar

Niveau 1 in de consequence taxonomie boom (of null)

vb. “Hoogtebeperking”

consequenceTreeLevel2

varchar

Niveau 2 in de consequence taxonomie boom (of null)

vb. “Max x m hoogte”

consequenceTreeLevel3

varchar

Niveau 3 in de consequence taxonomie boom (of null)

vb. “Hoogtebeperking: max 2,5 m”

hindranceGipodId

integer

 

Vanaf hier allemaal attributen van hinder

hindranceURI

 

 

https://private-api.gipod.vlaanderen.be/api/v1/mobility-hindrances/10043834

hindranceStart

datetime

 

 

hindranceEnd

datetime

 

 

hindranceStatus

varchar

 

Label

hindranceStatusId

varchar

 

https://private-api.gipod.vlaanderen.be/api/v1/taxonomies/.../60ad4826-893d-4695-b815-a0adb39287e4

hindranceCreatedOn

datetime

 

 

hindranceLastModified

datetime

 

 

hindranceOsloJson

JSON

Oslo detail van hinder (zonder niet-publieke informatie)

Referenties (taxonomie, …) verwijzen naar absolute url’s onder https://private-api.gipod.vlaanderen.be/api/v1/…

 

Zie bovenste tabel

hindranceZoneOsloJson

JSON

Oslo detail hinderZone

 

Datalagen WFS / API Features

  • Inname

    • Inname occurence point on surface

    • Inname occurence multipolygoon

  • Mobiliteitshinder

    • Mobiliteitshinder occurence point on surface

    • Mobiliteitshinder occurence multipolygoon

  • Mobiliteitshindergevolg

    • Mobiliteitshindergevolg occurence point on surface

    • Mobiliteitshindergevolg occurence multipolygoon

 

Datalagen WMS