koopjs / koop-provider-composite

Combine multiple geoservices into a common, normalized geoservice
Other
4 stars 3 forks source link

JSAPI not rendering all returned features #6

Closed MarkTorrey closed 6 years ago

MarkTorrey commented 6 years ago

Viewing service in the map viewer does not render all features returned. I think this may be something to do with tiled query requests...not sure if this is related to #4? Making requests directly to the service through postman returns proper number of features. features_not_rendered

these manually queries combined return all features in the above extent http://localhost:3001/composite/addresses/featureserver/0/query?f=json&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=%7B%22xmin%22%3A-8783378.923690563%2C%22ymin%22%3A4325418.561405674%2C%22xmax%22%3A-8783226.04963404%2C%22ymax%22%3A4325571.435462197%2C%22spatialReference%22%3A%7B%22wkid%22%3A102100%2C%22latestWkid%22%3A3857%7D%7D&geometryType=esriGeometryEnvelope&inSR=102100&outFields=*&outSR=102100

http://localhost:3001/composite/addresses/featureserver/0/query?f=json&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=%7B%22xmin%22%3A-8783073.175577516%2C%22ymin%22%3A4325418.561405674%2C%22xmax%22%3A-8782920.301520992%2C%22ymax%22%3A4325571.435462197%2C%22spatialReference%22%3A%7B%22wkid%22%3A102100%2C%22latestWkid%22%3A3857%7D%7D&geometryType=esriGeometryEnvelope&inSR=102100&outFields=*&outSR=102100

http://localhost:3001/composite/addresses/featureserver/0/query?f=json&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=%7B%22xmin%22%3A-8783226.04963404%2C%22ymin%22%3A4325265.68734915%2C%22xmax%22%3A-8783073.175577516%2C%22ymax%22%3A4325418.561405674%2C%22spatialReference%22%3A%7B%22wkid%22%3A102100%2C%22latestWkid%22%3A3857%7D%7D&geometryType=esriGeometryEnvelope&inSR=102100&outFields=*&outSR=102100

etc...

MarkTorrey commented 6 years ago

@ajturner, @dmfenton , @adamajm

Adding an AggregateID (aid) field to the baseSchema and setting that to a machine generated number (not sure how random this will be, and there might be a case where there could be collisions) looks to have fixed the random rendering behavior we were seeing earlier...

https://github.com/koopjs/koop-provider-composite/blob/3d8e4d72c83369b6b37269d0b56cc30942b2cdc0/model.js#L332

oid_issue

dmfenton commented 6 years ago

Booyah!

dmfenton commented 6 years ago

Now I need some way to make this happen automagically inside Koop because other providers will have this issue too.

dmfenton commented 6 years ago

@MarkTorrey did you see my suggestion for a better way to calculate this objectid?