Because I don't think a lot of people know about it, I'll mention pelias here. If you have 16 GB RAM and 600 GB of disk, you can have a free, open source, pre-populated geo database that covers the entire planet.
Pelias does geocoding (turns addresses, POIs, and administrative regions into coordinates), reverse geocoding (given coordinates, finds nearby POIs, addresses, neighborhood, city, county, state, country), full-text search, and autocompletion. You can also import CSV to use your own custom data.
I run it on an extra PC, where it powers about 20 twitter bots that turn lat/lon coordinates of aircraft into descriptions like "flying over Silver Lake, Los Angeles, 0.5 miles from Circus Liquor."
Co-maintainer of Pelias here so I'll chime in with some more background info.
Pelias came out of Mapzen which (sadly) shut down about 3 years ago, but we had a great team of people working on it for 4 years before that, and the project has continued to grow since then. We have contributions from my company, Geocode Earth, which I plugged in another thread so I won't repeat, other contributors like Jawg(https://www.jawg.io/), and of course individuals and teams from many other places.
The core architecture uses Elasticsearch, Node.js, SQLite and some Go to build a fully featured, modular geocoder.
Geocoding is both a fascinating and incredibly frustrating challenge so we are always looking for more people reporting bugs and contributing fixes or other improvements. We truly believe a quality geocoder can't be built outside the large bankrolls of Google, etc without growing a strong open-source community around it.
Pelias is great, I ran it + open route service + a custom router all on one server for 30€ a month + a few other non maps related services. It made for a surprisingly coherent maps experience.
Yes, for example the north-america docker project says "As a fairly large build, this will require significant resources to complete quickly. It can still run on a personal computer with 8GB+ RAM, but will take a while. It will require 300GB or so of disk space."
That's not really comparable. It's kind of like saying you can have a self-hosted search engine by using Elasticsearch. The devil is in the data and details.
Sorry for posting a second comment, but this just occurred to me:
Mapbox serves all of its customers’ vector tiles through AWS CloudFront.
Is this a possible case of Amazon seeing Mapbox’s traffic numbers, being able to estimate revenue based on pricing/the number of average tiles loaded per map session, and deciding that it was worth to take a plunge?
(There might have been other factors too but — was this /not/ a factor?)
To be very (... paranoid doesn’t feel like the right word), wouldn’t Amazon also have info in the same way on Mapbox’s largest customers and know who to pursue/target first for their new service?
Based on the recent license change by Mapbox[0], it means that Amazon Location's tutorial[1] suggesting to use Mapbox GL JS should be updated, right?
i.e. using Amazon Location with the v2 Mapbox GL JS would also require paying Mapbox for every map load, or you'd need to use the pre v2 version (the last "Open Source one") of the Mapbox GL JS library, correct?
EDIT: as pointed by @kylebarron below, Amazon specifically mentions "Amazon Location supports open source versions of Mapbox GL JS (v1.13.0 or earlier)." [2] which is the last Open Source version.
Always great to have an alternative to Google but I'd encourage anyone to have a look at Leaflet.js which is a great free alternative and doesn't take much JS knowledge to get up and running
Edited to say: and of course it runs on OpenStreetMaps
They also have ongoing operational problems/expenses from people using their tile servers, and it's possible that they will one day break you in order to keep their own site functioning.
I've been looking at potentially selfhosting a tile server and it's way more complicated than I thought. Even getting the OSM tileset in is a pain - not even just from the filesize.
Should add that I wanted to self host mostly for privacy. This project I'm working on I'm trying really hard to have no external requests and everything privacy respecting. Unfortunately I really need maps on it and none of the providers I've seen are either in budget or have a compatible privacy policy.
From your link: As far as I know as someone who worked here for 7+ years (take this as personal opinion), Mapbox wants to keep investing heavily in open source and open data sustainably and indefinitely, and this GL JS change is an unevitable prerequisite for that. This may not be easily apparent at this moment but it will be soon.
If you're looking for a simple, polished, developer-friendly alternative, check out Radar (https://radar.io). Think Twilio/Braze/Amplitude/Segment/Radar vs. SNS/Pinpoint/EventBridge/Location Service.
Tim Hortons in Canada is being probed for using Radar Labs in their mobile app.
"Tim Hortons' parent company, Toronto-based Restaurant Brands partners with Radar Labs, a Brooklyn, N.Y.-based company , which provides location-based data analytics, and helps the Tims app to identify when users are near competing fast-food restaurants and coffee shops."
Heh, Burger King did that to offer $0.01 whopper coupons but I guess the difference is the app had to be in use and known to the user to recognize the location--
If you're a big business and already have a contract to pay for AWS it can be easier than getting approval to enter a business relationship with a new company
I've used HERE maps for a couple of small projects (using leaflet.js plus HERE map tiles) and it works really well. The HERE developer experience is pretty sweet actually.
HERE's big "trick" is their accurate gradient data. If you're driving big heavy trucks around, and want to take advantage of routing around steep hills to save in fuel costs, HERE are your best choice by far. (Or at least, they were 4-5 years back, anyway...)
They also have some interesting indoor location/mapping stuff I've read about but not used in anger, which seems to be quite promising too. The ability to map and locate phones in multi story buildings including getting each floor right with individual floorplans is not a trivial thing to get right. Their docs, at least, make it seem like they know how to solve that for you.
Because then Amazon can't track all your users. Imagine a delivery company uses Amazon's API for its in-truck apps or route planning. Amazon drinks your data, it drinks it up.
Honestly, I'm surprised that Amazon hasn't done this sooner. Google and to a lesser extent Apple both have a huge lead in this space. Amazon is one of the few companies that can afford the massive capital cost to create this kind of service.
I am curious about the quality though. It seems like they're just reselling from 3rd party data providers. Hopefully, we see this forcing price cuts to Google's Maps API at some point, but I think it will be a while until they reach parity in data quality.
Amazon acquired a mapping startup and built out a full 1st party maps product for the FirePhone launch. I'd assumed that was discarded along with the next-gen FirePhone - but it's possible bits and pieces of that effort ended up being integrated into this offering.
If I had to guess, the maps stuff was rolled into the app for delivery drivers. This offering is probably a spin out of the backend for that, since it seems very focused on asset tracking and route optimization.
Yeah me too. Google's cloud APIs especially the location related ones have always been a royal pain to use due to limits and really weird policies around how you are allowed to use them (for example, you have to provide attribution, you cannot use them in vehicles, you can't cache, you can't scrape, you can't create content from Maps content, you can't use it near a non-Google map, you can't use it in certain territories, etc.)
I'd much rather have a service that I just pay for and I can then use however I want.
> to a lesser extent Apple both have a huge lead in this space
When Apple maps first came out, it was terrible. Now it's actually pretty solid - I've heard Apple is very actively contributing to try and really solidify their maps data, but I wonder if the personnel requirements make this an expensive proposition in the first place...
Of course it's expensive, but when you get for example 10+ billions USD every year just to allow Google to be your default search engine, it's not like you have any money problems!
https://github.com/pelias/pelias
Pelias does geocoding (turns addresses, POIs, and administrative regions into coordinates), reverse geocoding (given coordinates, finds nearby POIs, addresses, neighborhood, city, county, state, country), full-text search, and autocompletion. You can also import CSV to use your own custom data.
I run it on an extra PC, where it powers about 20 twitter bots that turn lat/lon coordinates of aircraft into descriptions like "flying over Silver Lake, Los Angeles, 0.5 miles from Circus Liquor."
There are docker configs for the whole-planet DB as well as various countries or metro areas if you don't need the whole Earth. https://github.com/pelias/docker/tree/master/projects
Co-maintainer of Pelias here so I'll chime in with some more background info.
Pelias came out of Mapzen which (sadly) shut down about 3 years ago, but we had a great team of people working on it for 4 years before that, and the project has continued to grow since then. We have contributions from my company, Geocode Earth, which I plugged in another thread so I won't repeat, other contributors like Jawg(https://www.jawg.io/), and of course individuals and teams from many other places.
The core architecture uses Elasticsearch, Node.js, SQLite and some Go to build a fully featured, modular geocoder.
Geocoding is both a fascinating and incredibly frustrating challenge so we are always looking for more people reporting bugs and contributing fixes or other improvements. We truly believe a quality geocoder can't be built outside the large bankrolls of Google, etc without growing a strong open-source community around it.
https://github.com/pelias/docker/tree/master/projects/north-...
(Building the db typically takes more resources than just running the services using the db.)
Mapbox serves all of its customers’ vector tiles through AWS CloudFront.
Is this a possible case of Amazon seeing Mapbox’s traffic numbers, being able to estimate revenue based on pricing/the number of average tiles loaded per map session, and deciding that it was worth to take a plunge?
(There might have been other factors too but — was this /not/ a factor?)
To be very (... paranoid doesn’t feel like the right word), wouldn’t Amazon also have info in the same way on Mapbox’s largest customers and know who to pursue/target first for their new service?
i.e. using Amazon Location with the v2 Mapbox GL JS would also require paying Mapbox for every map load, or you'd need to use the pre v2 version (the last "Open Source one") of the Mapbox GL JS library, correct?
EDIT: as pointed by @kylebarron below, Amazon specifically mentions "Amazon Location supports open source versions of Mapbox GL JS (v1.13.0 or earlier)." [2] which is the last Open Source version.
[0] https://news.ycombinator.com/item?id=25347310
[1] https://docs.aws.amazon.com/location/latest/developerguide/t...
[2] https://docs.aws.amazon.com/location/latest/developerguide/t...
[0]: https://docs.aws.amazon.com/location/latest/developerguide/t...
"Amazon Location supports open source versions of Mapbox GL JS (v1.13.0 or earlier)."
Cheers
Edited to say: and of course it runs on OpenStreetMaps
While you _can_ use the OSM's tile servers, they offer no guarantees: https://operations.osmfoundation.org/policies/tiles/
They also have ongoing operational problems/expenses from people using their tile servers, and it's possible that they will one day break you in order to keep their own site functioning.
Should add that I wanted to self host mostly for privacy. This project I'm working on I'm trying really hard to have no external requests and everything privacy respecting. Unfortunately I really need maps on it and none of the providers I've seen are either in budget or have a compatible privacy policy.
I've always used MapBox free tier for tiles (which I believe may be changing) so this could be a good alternative for that
https://news.ycombinator.com/item?id=25347310
I guess this is what he was referring to.
"Tim Hortons' parent company, Toronto-based Restaurant Brands partners with Radar Labs, a Brooklyn, N.Y.-based company , which provides location-based data analytics, and helps the Tims app to identify when users are near competing fast-food restaurants and coffee shops."
https://www.theglobeandmail.com/business/article-privacy-wat...
This hardly seems like an issue with the underlying API.
https://www.usatoday.com/story/money/2018/12/04/burger-king-...
I wonder why not use the HERE or Esri APIs directly? Is this just a marketing gimmick so Amazon can complete their offering?
https://developer.here.com/
They also have some interesting indoor location/mapping stuff I've read about but not used in anger, which seems to be quite promising too. The ability to map and locate phones in multi story buildings including getting each floor right with individual floorplans is not a trivial thing to get right. Their docs, at least, make it seem like they know how to solve that for you.
I am curious about the quality though. It seems like they're just reselling from 3rd party data providers. Hopefully, we see this forcing price cuts to Google's Maps API at some point, but I think it will be a while until they reach parity in data quality.
https://en.wikipedia.org/wiki/A9.com#BlockView
I'd much rather have a service that I just pay for and I can then use however I want.
When Apple maps first came out, it was terrible. Now it's actually pretty solid - I've heard Apple is very actively contributing to try and really solidify their maps data, but I wonder if the personnel requirements make this an expensive proposition in the first place...