Bunting Labs provides an OSM feature API. The free tier has a monthly quota of 10M features. This isn't as vast as it sounds, since a well-labeled dense area can have thousands of Soundscape-relevant features in a single tile, but might still support a modest number of users.
One significant limitation is that it only matches one tag/value pair at a time, and Openscape requests around 50 such tag values (see svcs/data/soundscape/other/mapping.yml. It would be undesirable to have to make 50 such API requests for each tile, especially since the app often requests multiple tiles at once. If we were happy with Openscape announcing just amenities or buildings or bus stops, this would be perfect.
I expect we could put these API requests inside a serverless function like Cloudflare Workers, which could provide some caching and do the necessary translation of JSON field names to the ones Openscape expects. But the fact it can't get all the features we need in a reasonable number of queries might be prohibitive.
Bunting Labs provides an OSM feature API. The free tier has a monthly quota of 10M features. This isn't as vast as it sounds, since a well-labeled dense area can have thousands of Soundscape-relevant features in a single tile, but might still support a modest number of users.
One significant limitation is that it only matches one tag/value pair at a time, and Openscape requests around 50 such tag values (see svcs/data/soundscape/other/mapping.yml. It would be undesirable to have to make 50 such API requests for each tile, especially since the app often requests multiple tiles at once. If we were happy with Openscape announcing just amenities or buildings or bus stops, this would be perfect.
I expect we could put these API requests inside a serverless function like Cloudflare Workers, which could provide some caching and do the necessary translation of JSON field names to the ones Openscape expects. But the fact it can't get all the features we need in a reasonable number of queries might be prohibitive.