koopjs / FeatureServer

An open source Geoservices Implementation (deprecated)
https://geoservices.github.io
Other
101 stars 32 forks source link

Queries that return no results throw an error #32

Closed jkerr5 closed 7 years ago

jkerr5 commented 7 years ago

If the provider returns a response with an empty features array, the following error response is returned from koop:

{"error":"Cannot read property 'properties' of undefined"}

This happens a lot when extents are broken into a grid and each region is request separately as there will likely be some regions that have zero results.

Here's the trace

Trace: TypeError: Cannot read property 'properties' of undefined
    at normalizeCollection (/home/jkerr/projects/koop-provider-marklogic/node_modules/winnow/dist/options.js:36:41)
    at Object.prepare (/home/jkerr/projects/koop-provider-marklogic/node_modules/winnow/dist/options.js:15:17)
    at Object.Winnow.query (/home/jkerr/projects/koop-provider-marklogic/node_modules/winnow/dist/index.js:22:21)
    at query (/home/jkerr/projects/koop-provider-marklogic/node_modules/featureserver/dist/query.js:24:28)
    at execQuery (/home/jkerr/projects/koop-provider-marklogic/node_modules/featureserver/dist/route.js:44:16)
    at Object.route (/home/jkerr/projects/koop-provider-marklogic/node_modules/featureserver/dist/route.js:30:14)
    at /home/jkerr/projects/koop-provider-marklogic/node_modules/koop-output-geoservices/index.js:9:24
    at /home/jkerr/projects/koop-provider-marklogic/node_modules/koop/dist/models/index.js:15:9
    at mq.providerGetData.then.data (/home/jkerr/projects/koop-provider-marklogic/marklogic.js:40:8)
    at execQuery (/home/jkerr/projects/koop-provider-marklogic/node_modules/featureserver/dist/route.js:46:52)
    at Object.route (/home/jkerr/projects/koop-provider-marklogic/node_modules/featureserver/dist/route.js:30:14)
    at /home/jkerr/projects/koop-provider-marklogic/node_modules/koop-output-geoservices/index.js:9:24
    at /home/jkerr/projects/koop-provider-marklogic/node_modules/koop/dist/models/index.js:15:9
    at mq.providerGetData.then.data (/home/jkerr/projects/koop-provider-marklogic/marklogic.js:40:8)
dmfenton commented 7 years ago

Got it. This one is an easy fix.

dmfenton commented 7 years ago

This was fixed in Winnow@1.10.5