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.
If like me you have basic Linux skills it's not that hard, just time consuming.
However the resources needed are quite consequent: I managed to load all Europe tiles on a Core i7 3770k / 32 GB ram / 1 TB SSD workstation.
I think it took 2+ days to load data into Postgres and many more days to render tiles zoom 0 to 18 for France. I estimate that to run a world tile server you would need as many core as possible, at least 64 GB of ram and 2 TB of disk (SSD is mandatory here).
I didn't experiment with updating the DB with new OSM data but it looks quite a chore.
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.
Don't know why people are downvoting. This is SOP at Amazon. You want to blame me for Amazon's reputation? You want to blame cnbc? What the fuck, fuckers.
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!
I've read through all the docs and it is unclear if aerial imagery is supported. I just launched a JavaScript 3D mapping library (https://github.com/felixpalmer/procedural-gl-js) and would be up for trying it out if it were supported.
Also interesting to see them use Mapbox as an example of an open source library that can be used with this. They obviously haven't been paying attention this past week.
Their "free-tier" drives me nuts. It's always extremely convoluted and unless something has changed it's more of a 1-time "trial" for a period of time rather than a "tier" like GCP. Also their "free-tier" lasts different periods of time for different products. Like EC2 is 1 year but this is 3 months.
A baseline "free usage" everyone always gets and then if you go over, you pay, would be so much easier to understand. I understand it's not in Amazon's financial interests to make such a change but it always leaves me with a bad taste in my mouth.
Ack! Ugh see this is what I’m talking about. I use Lambda for some side projects but I forgot about this because all the different products have such different types of billing and free tiers. I just wish it wasn’t so confusing. Thank you for correcting my mistake!
It's 4c/1k tile loads, vs $5/1k sessions for mapbox.
I don't have great handle on the number of tiles per map, but I wouldn't be surprised if my more complicated maps don't have o(100) tile loads per session.
On the other hand, a managed geoserver replacement would be worth a significant premium.
AWS has been tip-toeing into the maps space for a few years with their hosted GIS data.
They have the infrastructure to create a very compelling imagery dataset from their combination of Amazon Air, and Amazon Prime Air (drone delivery).
Google flies planes to capture cities for Google Earth, but none of the other mapping companies are regularly capturing this data as part of their everyday business.
I know someone is going to say "yeah, but you have to fly vertical and horizontal paths across cities to capture all the data", but I think that is a current limitation which will be resolved with large amounts of data and ML/AI.
I was always wondering why google concurrent don't use OSM, the quality is better than here and they would benefit a lot from OSM to compete against google.
I don't understand why microsoft doesn't use OSM for bing map to replace their shitty map and why facebook doesn't use OSM to display map.
Google Maps is really expensive compared to the other GIS providers. Amazon's just reselling those same services. Google seems to coast somewhat on the strength of their map (including the unique and very hard to replicate StreetView).
Google increased their pricing, I think last year or 2.
My website used to be within the free tier, but after the increase, I started paying $100 a month.
I ended up spinning up a self-hosted tile server, which I used for new projects unrelated to my website or its data.
Don't think of Gmaps as a cloud service in the sense of GCP. It's a SAAS api that offers a unique service and the charge is for that service. It is pretty much the only option for what it does and can charge accordingly. This will cause Google to either lower prices or give more access for the same price (essentially lowering prices).
This is great but I really hope they get into the more popular uses like IP to location, autocomplete, etc APIs. There’s tons of small providers and some big ones out there that do this but it seems like an easy add for Amazon to do.
Speaking as co-founder of Geocode Earth(https://geocode.earth) where we do provide autocomplete geocoding, it's a much, _much_ harder problem than regular geocoding (not that any geocoding is exactly...easy).
For one, the latency requirements are much more strict. People type fast and if results don't come in within about 100ms or so, the interface doesn't feel responsive. We spend a ton of time ensuring our servers are as fast as possible. There's always more work to do here, since obviously network latency matters, so where your servers are matters too.
Second, the queries themselves are much harder. If someone has typed "India", did they want the country? Or have they not yet finished typing Indiana? The answer probably depends on their location, which may not always be available. That's a simple example, obviously there are much more subtle queries that don't always have as clear an answer.
Anyways, we enjoy the challenge of autocomplete and hope to continue to do a better and better job, even after Amazon inevitably releases their own :)
> Maps – Amazon Location Service lets you create maps that make use of data from our partners. You can choose between maps and map styles provided by Esri and by HERE Technologies, with the potential for more maps & more styles from these and other partners in the future.
Amazon has dropped a ton of cash into maps. They won't use google for.. reasons, and there's a pretty limited selection of providers, including OSS offerings. A lot of this data has probably been enriched by the logistics arm.
Amazon has been using HERE maps internally for many years. It was the map included in the Fire phone and tablet, and also it's used in the online shop, such as for showing the parcel on the map, among other things. When I left HERE it was also heavily using AWS, so it's a two-way relationship.
For those who may not be familiar with HERE, they're huge on Enterprise, especially in Automotive, logistics but also on public sector.
HERE used to be part of Nokia and used to power their maps application. It's now owned by a wide consortium where the well-known German car making companies still have a majority. They also heavily use HERE maps and location based services, as many other car makers do. Not sure if they still do, but when I left, it was heavily used by Microsoft for Bing maps. Yahoo and Facebook maps were all based on the HERE map data and used many of the the same backend services.
Note: I currently work at AWS and previously worked at HERE but this message is not written on behalf of my current/former employer.
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