Snippets

Piotr Szrajber Fetch chunks of features from WFS

Created by Piotr Szrajber
const url = (min, max, count) => {
    let filter = encodeURIComponent(`<fes:Filter xmlns:fes="http://www.opengis.net/fes/2.0"><fes:PropertyIsBetween><vrp2:Literal xmlns="http://www.intergraph.com/geomedia/gml" xmlns:vrp2="http://www.opengis.net/fes/2.0">ID1</vrp2:Literal><fes:LowerBoundary><fes:Literal>${min}</fes:Literal></fes:LowerBoundary><fes:UpperBoundary><fes:Literal>${max}</fes:Literal></fes:UpperBoundary></fes:PropertyIsBetween></fes:Filter>`);
    return `https://demo.hexagongeospatial.com/DemoBuildingsNY/Service.svc/get?request=GetFeature&typeNames=BUILDINGS&service=WFS&version=2.0.0&outputFormat=application%2Fvnd.geo%2Bjson&Filter=${filter}&count=${count}`
}

let start = 100000,
    step = 5;

let requests = [...new Array(10)].map((d, i) => Number(i)).map(d => new Promise((resolve, reject) => fetch(url(start + d * step, start + (d + 1) * step, step)).then(d => d.json()).then(d => resolve(d.features))));

Promise.all(requests).then(function(values) {
    console.log([].concat.apply([], values));
});

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.