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 occurrence/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
Innameoccurrence
Algemene filter: Enkel innames met status: concreet gepland, in uitvoering, lopende
Elke rij is één occurrence 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
...
ID
...
varchar (PK)
...
gipodId-[occurrence ID]
...
[GipodID]-YYMMDDHHMM
vb: 342-2301171329
...
gipodId
...
integer
...
URI
...
varchar
...
https://gipod.api.[test-/beta-]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)
...
enkel voor WMS
...
description
...
reference
...
type
...
varchar
...
Label (Werk / Evenement / grondwerk)
...
typeId
...
varchar
...
https://gipod.api.[test-/beta-]vlaanderen.be/api/v1/taxonomies/.../60ad4826-893d-4695-b815-a0adb39287e4
...
publicDomainOccupancyTypes
...
text
...
Puntkomma separated types
...
Type1; Type2
...
status
...
varchar
...
Enkel innames met status: concreet gepland, in uitvoering, lopende
...
statusId
...
varchar
...
Verwijziging naar taxonomie
...
start
...
datetime (UTC)
...
end
...
datetime (UTC)
...
timeSchedule (basis tekstje)
...
text
...
Tonen zoals in huidige WMS (wederkerigheid)
- Extra’s en uitzonderingen, mogelijk in afzonderlijk veld
...
owner
...
varchar
...
ownerId
...
varchar
...
https://gipod.api.[test-/beta-]vlaanderen.be/api/v1/organisations/...
...
contactOrganisations
...
text
...
Als tekst, 1 regel per contactgegeven:
Rol: Organisatie, Naam, E-mail, Telefoon, URL;Rol2: Organisatie, Naam, E-mail, Telefoon, URL;
...
Te bekijken of dit wel de goeie oplossing is, splitsen in regels vs comma separated, …
...
mobilityHindrances (❗ aangepast, was consequences)
...
text
...
Puntkomma separated per hinder die gevolg is van deze inname
...
https://private-api.gipod.vlaanderen.be/api/v1/mobility-hindrances/10043834
;https://private-api.gipod.vlaanderen.be/api/v1/mobility-hindrances/10043666
...
groundworkCategory
...
varchar
...
Enkel bij grondwerken, anders null
...
groundworkCategoryId
...
varchar
...
https://gipod.api.[test-/beta-]vlaanderen.be/api/v1/taxonomies/.../60ad4826-893d-4695-b815-a0adb39287e4
...
groundworkSpecification
...
text
...
Puntkomma separated specificatie
...
groundworkPartOfTrenchSynergy
...
text
...
Puntkomma separated Ssyn
...
createdOn
...
datetime
...
lastModifiedOn
...
datetime
...
osloJson
...
JSON (text)
...
Oslo detail (zonder niet-publieke informatie)
oliver.may nog eens bekijken met Jürgen
Referenties (taxonomie, …) verwijzen naar absolute url’s onder https://gipod.api.[test-/beta-]vlaanderen.be
Grondwerk (analoog voor werk en evenement):
"@context": "https://gipod.api.[test-/beta-]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"
}
...
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 occurrence/voorkomen.
Tabellen in public API DB
Innameoccurrence
Algemene filter: Enkel innames met status: concreet gepland, in uitvoering, lopende, uitgevoerd/afgelopen(nieuw toegevoegd 23/2/23)
Elke rij is één occurrence 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 |
---|---|---|---|
ID | varchar (PK) | gipodId-[occurrence ID] | [GipodID]-YYMMDDHHMM |
gipodId | integer | ||
URI | varchar |
| |
geometry | Geometry (MultiPolygon) | Unie van inname zones
| |
pointOnSurface | Geometry (Point) | enkel voor WMS | |
description | |||
reference | |||
type | varchar | Label (Werk / Evenement / grondwerk) | |
typeId | varchar | | |
publicDomainOccupancyTypes | text | Puntkomma separated types | Type1; Type2 |
status | varchar | Enkel innames met status: concreet gepland, in uitvoering, lopende | |
statusId | varchar | Verwijziging naar taxonomie | |
start | datetime (UTC) | ||
end | datetime (UTC) | ||
timeSchedule (basis tekstje) | text | Tonen zoals in huidige WMS (wederkerigheid)
| |
owner | varchar | ||
ownerId | varchar |
| |
contactOrganisations | text | Als tekst, 1 regel per contactgegeven: Rol: Organisatie, Naam, E-mail, Telefoon, URL;Rol2: Organisatie, Naam, E-mail, Telefoon, URL; | Te bekijken of dit wel de goeie oplossing is, splitsen in regels vs comma separated, … |
mobilityHindrances (❗ aangepast, was consequences) | text | Puntkomma separated per hinder die gevolg is van deze inname |
|
groundworkCategory | varchar | Enkel bij grondwerken, anders null | |
groundworkCategoryId | varchar |
| |
groundworkSpecification | text | Puntkomma separated specificatie | |
groundworkPartOfTrenchSynergy | text | Puntkomma separated Ssyn | |
createdOn | datetime | ||
lastModifiedOn | datetime |
HinderZoneoccurrence
Attribuut | Type (bold = index) | Berekening / Filtering | Opmerkingen / voorbeeld | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ID | varchar (PK) | GUID zone-[occurrence ID] | |||||||||||
URI | varchar |
| |||||||||||
zoneId | varchar | GUID zone |
| ||||||||||
geometry | Geometry (MultiPolygon) | MobilityHindranceZone | |||||||||||
pointOnSurface | Geometry (Point) | enkel voor WMS | |||||||||||
zoneType | varchar | Label | |||||||||||
zoneTypeId | varchar |
| |||||||||||
consequences | text | Puntkomma separated per consequence | |||||||||||
hindranceGipodId | integer | Vanaf hier allemaal attributen van hinder | |||||||||||
hindranceURI |
| ||||||||||||
hindranceConsequenceOf | text | Puntkomma separated 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 | oliver.may verder te bekijken (zie ook inname) | |||||||||||
hindranceStart | datetime | ||||||||||||
hindranceEnd | datetime | ||||||||||||
hindranceStatus | varchar | Label | |||||||||||
hindranceStatusId | varchar | Taxonomie | hindranceCreatedOn | datetime | hindranceLastModified | datetime | hindranceOsloJson | JSON | Oslo detail hinder (zonder niet-publieke informatie) | hindranceZoneOsloJson | JSON | Oslo detail hinderZone | |
hindranceCreatedOn | datetime | ||||||||||||
hindranceLastModified | datetime |
HinderZoneConsequence
Attribuut | Type (bold = index) | Berekening / Filtering | Opmerkingen / voorbeeld | ||||||
---|---|---|---|---|---|---|---|---|---|
ID | varchar (PK) | GUID zone-consequenceId-[occurrence ID] | |||||||
URI | varchar |
| |||||||
zoneId | varchar |
| |||||||
geometry | Geometry (MultiPolygon) | MobilityHindranceZone | |||||||
pointOnSurface | Geometry (Point) | ||||||||
zoneType | varchar | Label | |||||||
zoneTypeId | varchar |
| |||||||
consequence | varchar | Leaf uit consequence taxonomie boom | 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” | ||||||
consequenceId | varchar | Id Leaf uit consequence taxonomie boom | |||||||
consequenceTreeLevel0Id | varchar | Id Niveau 0 in de consequence taxonomie boom | |||||||
consequenceTreeLevel1Id | varchar | Id Niveau 1 in de consequence taxonomie boom (of null) | |||||||
consequenceTreeLevel2Id | varchar | Id Niveau 2 in de consequence taxonomie boom (of null) | |||||||
consequenceTreeLevel3Id | varchar | Id Niveau 3 in de consequence taxonomie boom (of null) | |||||||
hindranceStatus | varchar | Label | |||||||
hindranceStatusId | varchar |
| |||||||
hindranceCreatedOn | datetime | ||||||||
hindranceLastModified | datetime | ||||||||
hindranceGipodId | integer | Vanaf hier allemaal attributen van hinder | |||||||
hindranceURI |
| hindranceOsloJson | JSON | Oslo detail van hinder (zonder niet-publieke informatie) | hindranceZoneOsloJson | JSON | Oslo detail hinderZone |
Datalagen WFS / API Features
...