azavea / tilegarden

Serverless raster and vector map tile generation using Mapnik and AWS Lambda
https://azavea.github.io/tilegarden/
Other
97 stars 7 forks source link

Sort out the need for filters to be pre-defined #78

Closed mattdelsordo closed 6 years ago

mattdelsordo commented 6 years ago

Currently, any filters on data need to be predefined in the MML or MSS of the map. Ideally, this should be able to be done from the client. Windshaft handles this in some way that apparently isn't a huge security hole, so that should be a good point of reference.

mattdelsordo commented 6 years ago

For reference, Windshaft used to allow for sql queries to be specified in a url query: https://github.com/CartoDB/Windshaft/blob/f6fba547372f35117efd21f71207391292ee0215/lib/windshaft/controllers/tiles.js#L32

Currently, Windshaft uses a system in which layers are specified in a JSON config file (https://github.com/CartoDB/Windshaft/blob/master/doc/MapConfig-1.7.0.md) which looks like a JSON wrapper around the MML/XML format we use. You can also send authenticated POST requests to a Windshaft server in order to add new layergroups (https://github.com/CartoDB/Windshaft/blob/master/doc/Multilayer-API.md) which seems like the closest thing it allows for that resembles dynamic querying from the front end.