TerriaJS / terriajs

A library for building rich, web-based geospatial data platforms.
https://terria.io
Apache License 2.0
1.18k stars 362 forks source link

Allow users dynamic control of CSW query parameters #2397

Open rsignell-usgs opened 7 years ago

rsignell-usgs commented 7 years ago

It is super-cool that TerriaJS can be configured to find all datasets that have a specified serviceType, free-text string, bounding box and time period. For example, here we search for all datasets that contain WMS services, have a text string "CMG_Portal" in the metadata, are in the Barnegat Bay, New Jersey, USA region, and have data during Hurricane Sandy in 2012: https://github.com/USGS-CMG/terriajs-dive/blob/master/examples/csw.json#L7-L12

So loading this URL: http://gamone.whoi.edu/terriajs/#clean&proxy/_60s/https://raw.githubusercontent.com/USGS-CMG/terriajs-dive/master/examples/csw.json

gets you to this:

2017-03-06_10-53-09

NICE!!!

BUT, it is a bit less than super-cool that we have to specify a search like this by creating JSON that looks like this: 2017-03-06_10-52-01

It would be extra-super-cool if the user could specify these CSW parameters via some widgets, for example, choosing one or more services via a dropdown menu, then BBOX range via type in or rubber banding a box on a map, time range via calendar popup....

Is this feasible?

kring commented 7 years ago

Interesting idea! This would be sort of similar to our CatalogFunction type, except that instead of the invoked function producing a thing on the map, it would produce a CatalogGroup. I guess the UX side of this might be the most difficult part. Where does the group appear, and how does the user specify a new set of parameters after they've already opened the group once?

rsignell-usgs commented 7 years ago

@kring, I'm hoping you don't expect me to answer those questions! :stuck_out_tongue_winking_eye: