Propose new functionalities for Decidim software
#DecidimRoadmap Designing Decidim together
Change "here.com" for "Open Street Map"
Finished
The process to add an address to here.com is not transparent. We should switch to an open source services, I suggest Open Street Map.
The interest is double, making the contribution process clear and contributing to a common good.
The development of this proposal has finished
- Reviewed by @product and included in Decidim Roadmap
- Funded by Mainio Tech
- Developed by Mainio Tech
- Available in release 0.23 via #6340
List of Endorsements
and 9 more people
(see more)
(see less)
Report inappropriate content
Is this content inappropriate?
10 comments
Hi! We have this on the documentation 0:
"""
Decidim has the ability to geocode proposals and meetings using Open Street Maps, for instance, you can use Here service. We can't use the OSM server by their tile usage policy. As an alternative, you may also want to use your own self-hosted tile server.
"""
Currently there is also the problem with HERE Maps that they have limited the "projects" you can have under your developer account. This makes it harder to have properly separated mapping backend credentials for each instance ((staging + production) * number of customers).
It would be great if the geocoding and dynamic maps were also more easily swappable e.g. to Google Maps (or any other solution out there). Google Maps does not have any limits for the developer/trial accounts for instance, making it easier to setup demos.
Conversation with Antti Hukkanen
Here is an open source alternative for the geocoding (based on OpenStreetMap data):
https://osmnames.org/about/
The data is generated with this tool:
https://github.com/osmnames/osmnames
And the geocoding server API implementation is provided by this tool:
https://github.com/klokantech/osmnames-sphinxsearch
The OpenStreetMap tiles can be hosted e.g. with:
https://github.com/klokantech/tileserver-gl (Node.js)
https://github.com/klokantech/tileserver-php (PHP)
And here's a commercial service that runs these two services for you if you don't want to host your own server:
https://www.maptiler.com/cloud/
This commercial service does not seem to have such API key limitations as HERE Maps.
Overall MapTiler seems like a good deal compared to HERE if you you are hosting more than 5 Decidim instances with geocoding enabled. The free plan is slightly worse than HERE but it is still suitable for many low-scale Decidim instances.
HERE:
- Free plan (max 250k transactions / month)
- $449 / month for 5 million transactions / month - No other plans available
- Project based pricing ($449 / month for each instance)
- API key limitations, max 5 projects per account
- Closed commercial data
- Company registered in Netherlands, GDPR compliant
MapTiler:
- Free non-commercial plan (max 100k transactions / month)
- $20 / month for 500k transactions / month OR $245 / month for 5m transactions per month
- No project limitation, one price for all instances (use more -> pay more)
- No API key limitations that I'm aware of
- Open data based on OpenStreetMaps
- Can be self-hosted with your own server if you want to switch
- Company registered in Switzerland, GDPR compliant
Further info from MapTimer:
- They do have an API key limitation which is 30 keys / account (HERE has 5 projects, 10 keys / account).
- Additional keys are available for $140/year for 100 more keys (this option does not exist at HERE).
- The city needs to create their own MapTiler account in order to get the free "non-commercial" plan to start with.
- Any company setting up a Decidim instance for cities is not able to use the "non-commercial" plan and they have to setup a paid plan from day 1.
Just to be aware of the limitations. The main point to take from their answers is that any company setting up a Decidim instance with their own MapTimer account needs to pay compared to now when they can start for free and pay when they exceed the limits.
Even with this, I would still support Maptiler because the initial plan $20/month shouldn't be a problem for anyone providing such services.
I've now actually tested MapTiler in action and it works OK for other services than geocoding which is really bad with them. They are planning a new version of the geocoding service based on this discussion (not earlier than Q3/2020):
https://support.maptiler.com/i716-geocoder-can-t-find-an-address
Another service I found that is based on OSM-data is Geoapify which actually provides all the functionality Decidim needs:
https://www.geoapify.com/
Their geocoding service also works great.
For open source self-hosted geocoding services, here's few more options:
https://nominatim.openstreetmap.org/
https://github.com/pelias/pelias
http://photon.komoot.de/
Here maps is a defective Eurocentric or US solution, for example it does not work in Latin American countries (impossible to put an address in Quito or Santiago de Chile or any city in Colombia) or in Africa or Asia. Decidim should not have technologies that only work in some countries in the northern hemisphere, and it should be a priority to change this defective technology for one that does work globally.
Conversation with Antti Hukkanen
It should be shortly possible to configure OSM based map service providers in case this pull request is accepted:
https://github.com/decidim/decidim/pull/6340
It's now merged, so this will be included in the next 0.23 release.
0.23 has been released November 05, 2020 - so this is solved.
Documentation:
https://github.com/decidim/decidim/blob/develop/docs/services/maps.md
https://github.com/decidim/decidim/blob/develop/docs/customization/maps.md
Add your comment
Sign in with your account or sign up to add your comment.
Loading comments ...