openlab / OGDI-DataLab

Open Government Data Initiative
http://ogdi.codeplex.com
Microsoft Public License
57 stars 17 forks source link

1000 row limit #17

Open nikg opened 12 years ago

nikg commented 12 years ago

Fix the 1000 row limit issue in DataService & KML that cause the KML to be end at the 1000 row mark.

In the current version of the DataBrowser (KML map overlay) this should probably be done carefully, not to impact the way the map shows a limit number of points.

However, the KML download link AND the DataService should be retuning all the results.

Example: http://datadotgc2.cloudapp.net/DataBrowser/Hack%20OpenData/rows2323withGISv1#param=NOFILTER--DataView--Results

SyntaxC4 commented 12 years ago

This is going to take a bit of work to complete. Currently the code is making straight REST calls against the storage API. Essentially it will need to be changed to look for continuation tokens in order to round-trip back to the server for more records from table storage.

If the tables are very large this could cause a long delay before the kml file is downloadable. I'm not too sure how you would like the user informed about the length of time it could potentially take in order to finish the request

nikg commented 12 years ago

My assumption, the KML delay only happens once for the first client that generates it, after that it's cached, correct?

if so, this is acceptable.

ConnieM commented 12 years ago

Great thread - glad to see this issue being discussed. This issue impacts a ton of usual government datasets - 1000 is not alot of rows when you are dealing with things like the addresses for an entire municipality. Some of the highest value datasets are well beyond 1000.

From a user perspective - I'm used to pagination with other aps and think that is an acceptable approach. For us if we can get the quick fix and note that large datasets will take a bit of time thats way better than not getting the full dataset.

A partial return on a zoomed in area for the map option would work too. Then on request the rest could be returned.