Versies vergeleken

Sleutel

  • Deze regel is toegevoegd.
  • Deze regel is verwijderd.
  • Formattering is gewijzigd.

...

const vectorSource = new VectorSource({

  format: new GeoJSON(),

  url: function (extent) {

    return (

      'https://geo.api.vlaanderen.be/Gebouwenregister/wfs?service=wfs&' +

      'version=2.0.0&request=GetFeature&typename=Gebouwenregister:Gebouw&' +

      'srsname=EPSG:31370&outputFormat=application/json&' +

      'bbox=' +

      extent.join(',') +

      ',EPSG: 31370'

    );

  },

  strategy: bboxStrategy,

});

 const vector = new VectorLayer({
source: vectorSource,
style: {
'stroke-width': 0.75,
'stroke-color': 'white',
'fill-color': 'rgba(100,100,100,0.25)',
},
});

Naast deze vector zou een achtergrondkaart handig zijn, zodat een gebruiker zich kan situeren. We voegen de WMTS toe van de orthofotomozaïek van Vlaanderen (i.e. satellietfoto’s van Vlaanderen). Deze heeft als endpoint:

 Ook hier kan met behulp van de GetCapabilities de metadata ontdekt worden om de nodige parameters af te leiden.

const raster = new TileLayer({
source: new WMTS({
url: 'https://geo.api.vlaanderen.be/OGW/wmts',
layer: 'ogwrgb13_15vl',
matrixset: 'BPL72VL',
format: 'image/png',
projection: getProjection('EPSG:31370'),
style: 'default'
}),
});

Om deze twee kaarten te combineren kan er een nieuwe kaartconstante gecreëerd worden. Hier kunnen ook de zoomschalen en het centercoördinaat gedefiniëerd worden. Het is dan de bedoeling om als startcoördinaat het coördinaat gevonden uit het adresID mee te geven.

Laten we als voorbeeld het adres nemen van OVAM:

Hier zie je in de json dat deze als coördinaat 158255.51, 190049.18 heeft in Lambert72.

const map = new Map({
layers: [raster, vector],
target: document.getElementById('map'),
view: new View({
center: [158255.51, 190049.18],
maxZoom: 20,
zoom: 17,
}),
});

Zo is het ook mogelijk om filters toe te voegen op de WFS queries om bijvoorbeeld enkel de gerealiseerde, geplande, of gebouwen in aanbouw op te halen.

Meer informatie en voorbeelden in lijn van bovenstaand voorbeeld kan hieronder gevonden worden: