Hacker News new | past | comments | ask | show | jobs | submit login
Amazon Location Service (amazon.com)
280 points by jeffbarr on Dec 16, 2020 | hide | past | favorite | 94 comments



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.

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


Thanks for the mention John.

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.


Can it be run for a subset of locations on a subset of those memory requirements? For example, just North America?


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."

https://github.com/pelias/docker/tree/master/projects/north-...

(Building the db typically takes more resources than just running the services using the db.)


It's buy, not build culture where I've been working for, we decomissioned a lot of self-host services for transitioning to managed services.


What are your impressions so far?


Another good option for self hosted geolocation is using Postgresql+PostGIS.


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.

[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...


That's why they point to Mapbox GL JS v1 in the script tag [0]

[0]: https://docs.aws.amazon.com/location/latest/developerguide/t...


Thank you, great observation!

"Amazon Location supports open source versions of Mapbox GL JS (v1.13.0 or earlier)."

Cheers


I wonder if this was the whole reason Mapbox made their change?


It absolutely is.


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


Leaflet.js is just the client piece. You still need a tile server, which is one of the commercial services being offered here.

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.


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.


I experimented with my own OSM tile server a few months ago.

I used this tutorial https://www.linuxbabe.com/ubuntu/openstreetmap-tile-server-u...

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.


Yeah that's the issue, it requires a ton of resources. You can use pre baked tilesets but I could only find pretty expensive options for that.


I've been hosting my own tileserver for a while, but because I couldn't build the latest times from OSM, I had to use outdated tiles.

I can't remember what I used, but I built a Docker image in the end.


Ah understood

I've always used MapBox free tier for tiles (which I believe may be changing) so this could be a good alternative for that


Mapbox GL 1.x is pretty good though, it's much faster and smoother, along with rotation and 3D support. It's under the same license too.


I wonder if this is related to the recent shift of mapbox away from OSS. Was on page 1 in the last week.

https://news.ycombinator.com/item?id=25347310


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.

I guess this is what he was referring to.


Products developed at Amazon typically take more than a week from start to launch.


Not sure if you are serious but what I meant was, I wonder if Mapbox's recent shift was based on preexisting knowledge of this Amazon release.


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."

https://www.theglobeandmail.com/business/article-privacy-wat...


This sounds like a lack of full disclosure and/or the app not placing appropriate limits.

This hardly seems like an issue with the underlying API.


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--

https://www.usatoday.com/story/money/2018/12/04/burger-king-...


BK & Timmy's are owned by the same parent company. Hmmm.


> You can choose between maps and map styles provided by Esri and by HERE Technologies,

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/


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.


Do you have a source for this assertion? I assuming the privacy policy or terms of use would have this spelled out fairly clearly.


It's well known that companies respect their privacy policy and terms of use.


https://www.cnbc.com/2020/04/23/wsj-amazon-uses-data-from-th...

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.


They also launched street view before Google (though Google was involved in some related Standford thing from earlier):

https://en.wikipedia.org/wiki/A9.com#BlockView


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.


This was posted a while after your comment:

------------ kylebarron 8 hours ago [–]

That's why they point to Mapbox GL JS v1 in the script tag [0] [0]: https://docs.aws.amazon.com/location/latest/developerguide/t...

------------


"Until now, doing this has been somewhat complex and expensive, and also tied you to the business and programming models of a single provider."

Um.. It ties you to AWS as the single provider of this API.

I look forward to taking a look at it. Other products I have used were complex.


Pricing here: https://aws.amazon.com/location/pricing/

Scroll down to see it.

No idea why Amazon always hides their service pricing on completely different pages.


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.


There is a permanent free usage limit though. For example Lambda has it. But agreed that they could differentiate between the different free tiers.


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.


Jeff,

Excited to try this out, but it would be great if AWS could also support GIS libraries on Amazon Linux 2. C.f.: https://github.com/aws/elastic-beanstalk-roadmap/issues/28

Without this feature, AWS is basically only enabling half of what's needed to build location-based apps.


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.


Now I can say I'd rather have ALS than use Google Maps.

Joking aside, this is cool, pricing is good. Hopefully the mobile SDK provides more features than Google Maps'.


Anyone know if Location can/will offer street view? With the new amazon trucks driving around they could grab a ton of updated images every day.


Can I get satellite images? Only thing holding me back from switching completely from GCP to AWS for a couple projects.


You might be referring to very processed satellite images, but AWS has many more satellite/aerial data sources than GCP in their Open Data program

[0]: https://registry.opendata.aws/sentinel-2/ [1]: https://registry.opendata.aws/sentinel-2-l2a-cogs/ [2]: https://registry.opendata.aws/landsat-8/ [3]: https://registry.opendata.aws/naip/


Those are way too low-res for typical satellite map usage, though. It doesn't even look to have a pixel/house resolution, even.


Well it depends, it's true that Landsat is only 15m resolution, and Sentinel is 10m, but if you only need US-coverage, NAIP is 60cm resolution.


why nobody use openstreetmap ?

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.



Microsoft does use OSM data in Bing Maps. If you zoom to a the scale of a city block on Bing Maps, you'll see "© OpenStreetMap" in the lower right corner of the screen.


10x cheaper than Google (at least for geolocation). That's unexpected. GCP is usually cheaper than AWS.


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.


We went from basically free to 10k per month. Just switched over to Apple Maps, but that hit its limit last night, so we had to switch back.


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 :)


You can do IP to location if you deploy a Lamda@Edge and get the cloudfront headers

https://aws.amazon.com/about-aws/whats-new/2020/07/cloudfron...


You don't even have to use Lamda@Edge, you can just forward them to your origin and use them there.

A client used an IP to country service until we realized that we already had the information they needed in the Cloudfront headers.


To me this is clear indicator that Amazon itself is entering the transport business, like the company has also already stated.

Geofencing, tracking and location is of course key to their own delivery services they are building.

I would be very interested in this if i was still in the transportation and shipping business


Not sure how well it compares to Azure Maps https://azure.microsoft.com/en-us/services/azure-maps/


Why isn't this page loading? http://aws.amazon.com/location


What a ridiculous name for an AWS services /s


Top comment there, should be called something like AWS WGS84 to really confuse people like all the other services.


I wonder if this is the opening shot across ESRI's bow that Amazon is getting into the GIS space. Could be a problem for them.


Well Amazon is licensing data from ESRI, so I don't think they will be incredibly shocked by this announcement.


Sure but that's just a matter of timing. :)


Im curious where this puts TomTom on the landscape.


Can one use this to reverse geocode an address?


I'm not sure how Amazon exposes everything, but from the esri side of things it's possible.


How does OpenStreetMap compare to this?


What OSS has AWS cannibalised and stuck an API on to put this out? Doesn't seem obvious from the post.


> 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.


Openstreetmap is behind apple maps, facebook maps, and much of mapbox, if I understand it right.


here.com ? (That's what Amazon UK uses for location tracking maps)


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.


maybe mapbox?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: