Hacker News new | past | comments | ask | show | jobs | submit login
OpenStreetMap is the Most Important thing in Geo (gisdoctor.com)
529 points by liotier on Oct 20, 2015 | hide | past | favorite | 138 comments



I'm developing a transit mapping application for Android. OpenStreetMap in place of the standard Google Maps components has been far easier, much more hackable, more flexible, and overall much more fun to work with than Google's MapView. As an added bonus the libraries for Android (OSMDroid in particular) have total interop with the Google Maps API. It really has been a pleasure to dev against.

I think OSM is an accomplishment on the significance level of Wikipedia and I'm glad it exists.


Android developer here as well. Have found the same. It has saved the day before where the only other option would have been licensing commercial options like skobbler.

I don't think Google actually dog foods their Android Google Maps API, so it tends to be pretty limited.


Google Maps is just too expensive and its pricing model isn't exponential at all, it's not even quadratic.

Very common operation is looking for pairwise distance matrix. Pricing and limits are totally irrational.

100,000 daily limit is totally impossible for an app with 10 users. 100x100 = 10,000 :D

Given that Google probably has all of the distances cached somewhere on their servers, I see no technical reason why this limit can't easily be increased. My app can have millions of shortest paths requests per day, and I certainly do not have Google's infrastructure.

I get incomparable functionality using OSM.


Online geocoding service are always the worst way to go. You only use the online services if you don't have an alternative dataset.

The osm datasets actually aren't that big, the entire PBF formatted dataset is <30GB. You can fit that on any system (not in RAM of course but hard disk access is still a million times quicker than using an online service). There are simple scripts to keep the dataset in sync on your server.

Also it's just completely fucking ridiculous to send a request over the internet to perform a calculation.

I encountered the issue myself ages ago where i had a task to reverse geocode for a railways GPS system for every train every minute. Google and other services would have costed millions of dollars every year, used massive amounts of bandwidth and been waaay too slow. I wrote a library - https://github.com/AReallyGoodName/OfflineReverseGeocode in a day that could easily do millions of lookups each minute.


What was your dataset for your reverse geocodes? The GeoNames dataset can't be that accurate, can it?


It's quite reasonable despite being a non-polygonal dataset if all you want is the nearest suburb (this was my use case). They have multiple points for the same location so nearest point search works quite well even with weirdly shaped suburbs. I've mucked around with other datasets (there's an OSM branch in my public repo that i'm currently working on to get down to street and street number level) but for the use i mentioned above the geonames works well.


You seem to be talking about the HTTP web service Distance Matrix API, but why would you call that from an app? The JavaScript Distance Matrix API scales to essentially unlimited users for free:

https://developers.google.com/maps/documentation/javascript/...

I'm also not aware of OSM offering anything comparable out of the box, although there are some commercial providers who offers similar paid services based on OSM data.

Also, if you think "all of the distances" are cached, I invite you to estimate how many places there are in the world and how big a matrix of every distance from every point to every other point would be.

(Disclaimer: Used to work on Geo at Google. Opinions mine only, etc.)


OSRM provides a distance matrix API https://github.com/Project-OSRM/osrm-backend/wiki/Server-api ("table"). All open source, if you don't want to run it yourself, you can turn to a commercial service provider, see switch2osm.org


It's a mobile app primarily.

OSRM is a nice project - out of the box. The lead went to some giant - so project is currently a bit stray but there are also some other alternatives on github which work well but might not be as mature as OSRM.

Google caches insane amounts of things. What one might think is insane algorithms, it's probably just Googles multimillion cluster memory.

Google is also lucky that no one needs the whole matrix, I'm sure that distance matrix is insanely sparse and can be stored in not that large amount of memory.

I understand completely that Google offers these APIs completely for free and they can shut them down easily. I'm willing to pay for more but my quadratic needs aren't met with root pricing.

So, to waste sub-linearly I can easily setup OSRM for my needs :D


Assume there are a billion places on Earth. (As there are ~7B people, each of whom lives in a "place", this is already an underestimate.) If it takes a single byte to store the distance between each of these places, you would need an exabyte of storage just for this single byte.


You are really arguing that?

What system would calculate a shortest path between Sydney and London? There's an incredible amount of sparseness in the matrix.

OSRM builts a hierarchy that allows fast computation of shortest paths for the whole world map. It takes about 4 hours on my server, fills around 40GB of RAM, and then after that I can magically do insane amounts of shortest path queries.

Paper below has an even faster algorithm that has an operation of finding shortest paths equivalent to just several reads in memory (according to experimental results in the paper, it's roughly equal to 5 reads, meaning it's just 5 times slower than that 1E18 table we'd have). It works on a single workstation.

It might not be a pairwise cache but man, this is some advanced stuff and I'm sure Google's engineers wouldn't think of having 1E18 elements matrix.

That's why I'm a bit surprised by the pricing and the limits. I guess network traffic bandwidth costs.

http://research.microsoft.com/apps/pubs/default.aspx?id=1456...


Nobody stores all shortest paths, that's just silly. With some rather simple preprocessing you can answer shortest paths queries on the US road network in microseconds [1], with preprocessing time of less than a day on a single machine. Surely Google can scale that up to larger graphs.

[1]http://people.mpi-inf.mpg.de/~dmatijev/papers/DIMACS06.pdf


We often hear that the pricing model is not the only problem. E.g. there are other restrictions like being forced to display the result on a (google) map etc

Also not that you cannot really cache routes, nor could you store all (not even Google) or even just distances or ETAs. But that is also not necessary to get fast and relative 'CPU light' responses.

> I get incomparable functionality using OSM.

Have a look at https://graphhopper.com/ with a reasonable pricing model for the whole Directions API and specifically for the Matrix API https://github.com/graphhopper/directions-api/blob/master/FA...

(note: I'm the author of GraphHopper)


As I've said somewhere down the thread, OSRM has the same functionality and speed is supreme. Microsoft Research paper I've cited is equivalent to 5 reads of memory and needs about 20GB RAM for the whole Europe. It's a pretty good cache.

OSS is eating the world of geo.


When I was traveling overland in central Asia, everybody I met was using maps.me with OSM. The maps were of surprisingly good quality and maps.me is superb, allowing the maps for whole countries to be downloaded (ideal if you don't have a data plan) and the route calculation is quick as long as the road grid isn't too dense.


For those who may have missed, maps.me is also gone open-source recently: https://github.com/mapsme/omim


I was amazed recently. About 3 years ago, my town in Japan had no maps on OSM at all. I set about adding in the routes that I rode on my bicycle, but it was pretty pathetic. I went to the UK for two years and when I came back somebody had finished everything. All the public paths and everything are clearly marked. I think the only thing left is to tag the stores.

The really nice thing about OSM is how easy it is to contribute. There is a famous bicycle route that goes through my town, but it is also famous because it is non-contiguous and completely unmarked on any map. The only way to find it is to ride on the roads and follow the signs (some of which are hand written by residents who live in the area). With OSM it was easy to mark the part of the route that I knew about and now I see a lot of touring cyclists coming through. It's incredibly empowering.


Tht old wiki magic :)


Ha, it's like ant-swarm optimisation! :)


Used osmand from f-droid in Indonesia few weeks ago. Google maps was basically useless. OSM map in southern Lombok did send me down a crazy dirt path that was mapped as main road. That was fine for me, I was just exploring the country on a scooter not relying on it for anything important (uploaded fixes when I got back to the home stay).

Similarly experience in Philippines in January, Google maps had basically nothing in Palawan but OSM had great coverage.


I used OSMand in Greece last Summer and it was fine as long as you applied common sense on some turns :)


I have been using it in Chile for over a year now and it has been working great. When I arrived, multiple people told me that Google Maps was terrible here, but I have had good luck with OSM.


Yeah, the quality of google maps quickly deteriorates once you leave the highly developed countries. It would be nice to have tighter integration of maps.me with OSM, e.g. to be able to make changes to the maps from the maps.me app. I wanted to remove several abandoned hotels/fuel stations, but in the end just didn't do it because editing OSM is quite tedious.


A somewhat hacky thing you can do is tweet to @OSMthis with the location embedded in the tweet, and it will add a note to OSM: https://twitter.com/osmthis/with_replies

Other editors can then see the note and might resolve it


If you use Android, I suggest OsmAnd~. https://f-droid.org/repository/browse/?fdid=net.osmand.plus

OsmAnd is an open source project, however the free OsmAnd version in the Play Store has limitations. You can get the full version (OsmAnd+) if you have money and want to support the developer, but OsmAnd~ has all the features of OsmAnd+.


In my place (and I live in a highly developed country, Germany) Google maps is missing a whole district of my city! Which leads to lots of people ending up in a dead end in a residential street, locking for the highway.

Well, it’s always funny, but with Google’s data not updated since 2005, they’re pretty useless.

It’s like Google only cares about the US.


FWIW Google Maps also has an editor which is useful when you need to help other people find you.


Google Maps and editors and other Google maps-related collaboration tools are awful, if you need human interaction.

I entered a location for the company I worked with. The company moved to another location, so I set about to change the address on Google Maps. To verify I was really the owner of the business, they decided to send mail... to the company's old address (which was occupied by a squatter at the point).

End result, now you have two locations for the company, a correct one and an incorrect one.

I also had a dispute when I edited a location on Antarctica (the Uruguayan base)... editors kept reverting the change.


I've been looking for something like this for eternity. Thank you!


That looks pretty good, but I don't understand why I can't restrict location services to when the app is in the foreground.


I do a lot of mountain bike trail mapping work using OpenStreetMap, and it's really bugged me that more public-service mapping projects (eg: MTB Project) don't build on OSM. They all tend to instead build their own mapping set which requires stuff to be re-entered... It's kind of a pain.


Similarly, a lot of charitable organizations that could be releasing data to build on top of the OSM dataset and the tooling that exists, instead create their own data silos. For instance, Sustrans (the cycling charity in the UK), and the Ramblers (the walking/hiking charity in the UK). I get the impression that managers are coming up with ideas for their digital projects without any reference to the technical landscape outside their organization.

I don't know whether there's anything which could be done to help these more corporate charities get on board (for instance to make it easy for them to set up and maintain an official database using OSM tooling, on the basis that the data they gather is publicly available and licensed as open data).


For two UK charities I've worked with, the reason is that they've been tempted by the siren voices of Google.

Google offer a tempting deal to charities: free mapping, and the chance to get your content hosted on Google Maps. So, for example, Sustrans' cycle routes are now integrated into the Google's UK mapping data.

This seems to appeal particularly to the higher-ups. The developers/GIS team may be more au fait with OSM, but when the marketing director says "We have the choice of getting our routes publicised for free on Google, or... what's this obscure 'street map' site you mentioned?", it's hard to convince them. (I did try to persuade one such charity to switch to OSM-backed mapping, but the answer was "Google is a corporate partner of our charity - we can't be seen to switch away from them".)

It's a great shame especially because, as you say, the tooling available around OSM data is so much more powerful than the Google Maps API could ever be. But I'm not too worried: it'll come in time. With OSM powering more consumer-level sites by the day, it's getting easier to answer the marketing director's question.


I have a similar experience regarding choosing OSM over people's go to mapping service (which looks completely free to them because Google doesn't ask them to pay). One way to deal with it is just not taking about the decision when they don't even know all the options. Just make it work and they'll probably be fine with it.


I can explain at least why OSM data is not used because I have been through the process many times. OSM is frequently rejected for reasons having nothing to do with awareness or quality. The licensing makes it unusable for many analytics applications.

There is a de facto prohibition on the blending and derivation using many geo data sets due to licensing restrictions and regulatory requirements, including many government data sets. Even OSM does not have the equivalent of a BSD-like license. In many cases, blending two sets of geo data and doing derivative analytics creates an unresolvable conflict between the individual licensing terms and the requirements of a specific application. Specific to OSM, many popular geo data sets have regulatory restrictions that make them fundamentally incompatible with OSM for many applications where OSM would otherwise be a great data set.

With commercial data set providers, the license is customizable to be appropriate for the regulatory and other requirements of the application. With OSM, you are stuck with an OSM license, which would violate all kinds legal and practical constraints for many use cases. I can say that for many geo applications I've supported, compliance with the OSM licensing would literally be violating the law. Fortunately, commercial data sets are much cheaper than they used to be.


Can you please give some specific examples of the obstacles presented by the OSM license to the projects you mention?


Most interesting products of spatiotemporal analysis that might use OSM data as an input are defined as a derivative database under the OSM database license. The mapping data is enriched and blended with multiple orthogonal data sources (like social media, mobile phone telemetry, remote imaging, etc) to provide a more accurate model of physical world dynamics. I think a big part of the problem is OSM's tacit assumption that the data would only ever be used to make maps. The derived analytical data model is not cartographic in nature, and use cases range from emergency management to consumer behavior.OSM's requirement that the derivative database be publicly and freely available is problematic for several reasons:

- OSM may be a minor input to a petabyte scale derived database, a large percentage of which may be modified every day. Many popular derivations would be technically and economically implausible to make publicly available.

- Jurisdictional restrictions on where the derived database can reside because of the type of data that was used to construct it. Making it available publicly without compliance mechanisms would break the law.

- Regulatory restrictions on the public usage of an input it is blended with, such as PII data like raw mobile network telemetry. Proper compliance mechanisms are often post-derivation and outside the derived database. Again, making the underlying database available without the compliance mechanisms would be breaking the law.

- OSM is the tail wagging the dog for many of these applications. Trying to make the licensing and compliance of complex applications revolve around OSM's requirements is unjustifiable effort. It is the same reason no one adds a little bit of useful GPL code to a million LoC code base even when it would make sense in the abstract.

This is a long-term problem for OSM in that applications are increasingly about getting intelligent answers out of spatial data systems, which implies the above analytical data models, rather than a map that a human is still required to interpret. Commercial cartographic database providers are usually more than happy to write you a license that conforms with the legal and practical requirements of your analytics application.


What is the upside for OSM if it changes licensing terms to be more amenable to those users? You say it is the tail wagging the dog, but you skip over why OSM should even care about capturing those users.

I realize that "funding" is an obvious answer, but I'm not real sure what that is supposed to look like. I also don't think the generic answer would convince proponents of the share a like terms (I'm personally ambivalent about share a like, but it's clear that a big chunk of the OSM community values it).


I wonder, could OSM even change their licensing in that way if they wanted to? Because all the contributors submitted their content under the old license, they'd all have to agree to the new license again, right?


No. Originally OSM was under a CC licence. In 2012, it was changed to the current ODbL licence. All the data from mappers who didn't agree had to be deleted. In order to map now, you have to agree to the "Contributor terms" which means the licence can be changed to any other "free and open" licence with a 2/3 vote of active mappers.


Contributions are under a contributor agreement, the OpenStreetMap Foundation controls the data and can change the license.

The previous license change was a lesson learned.


> the OpenStreetMap Foundation ... can change the license.

Not exactly. The licence can only be changed to a "free and open licence" after a 2/3 vote of active mappers.

http://wiki.osmfoundation.org/wiki/License/Contributor_Terms


I've been trying to learn the world of GIS for a cycling/pedestrian project I've been working on over the last few months. I'm also working with the local Open Data/Open Government groups. As I've gotten to know the communities I've seen this over and over...even in the Open Data groups.

I've come to the conclusion that it's not malicious (or even 'Not Invented Here' syndrome), but ignorance and a complete misunderstanding of the FOSS world. It seems that a lot of the people and groups involved come from a corporate background where they had to build and keep everything in house. Whenever I mention not reinventing the wheel, building on others work, collaborating with other groups, or opening up our the data I'm met with mostly blank stares. (I could go on and on about this disconnect and why I think it's happening, but it's not directly relevant to your comment.)

I think the major issue is that non-developers (and even some developers) have no idea how to work with others. It isn't that they don't want to or are refusing to, they fundamentally just don't know how to. The idea of working with more than the fifteen people that are present in the room is mind-boggling, let alone the idea of working with people all around they world they may never meet. On top of that simple issue you have the same concerns you do with any person outside the Open* communities: security, trust, liability, etc. Have you ever seen a layperson look at a software/data license? It's beyond overwhelming, so they all go back to whats safe, even if it's not the right thing for their goals or the community as a whole.

To begin to remedy this I think we have a lot of work ahead of us...starting with making the ideas and principles of Openness more accessible to those outside our community.

TL;DR: I believe that silos are a symptom of being ignorant and/or overwhelmed by the Open-anything world.


GIS Manager here. The reason silos happen in the GIS world is because of trust. Every organization has different priorities and standards when it comes to data. The accuracy you need for your building footprints might be (and probably is) unusable for someone else. Data sharing between entities is common but even then oftentimes a great deal of finesse is needed to make another organization's data work in your dataset. In the government sector there is mistrust of data requests from those who would use data for commercial interests so the default option is to charge for it or just make it unavailable.


Another challenge has been that GIS data is historically expensive to acquire. As consumer grade spatial applications have become more popular there has been a noticeable shift to release data for the common good rather than trying to recover the cost of acquisition. Of course there are still plenty of silos out there. The push towards regional datasets for public infrastructure also seems to be gaining momentum but these projects often go nowhere unless they are mandated by a Federal or State agency.


One thing that I've found really helps with this is saying that OSM is "like Wikipedia for maps". These days most people understand what Wikipedia is, how it works, and trust the content. OSM really is like a cartographic Wikipedia...


...with fewer rules and less aggressive reverters, we hope!


http://wheelmap.org/, a map for wheelchair accessible places builds on OSM.


Just a warning for any other contributors, at the moment the changeset that WheelMap posts to OSM puts a huge bounding box on the map which makes it really hard for other OSM users to see what's been changed.

https://github.com/sozialhelden/wheelmap/issues/29


In practice, though, a lot of other editors also make huge bounding-box edits, to the point where I've found box history basically useless in London even ignoring wheelmap edits. And I'd take having accessibility data over cleaner edit history.


Well there goes my spare time for the next little while - adding all the places I know of in my home town. It doesn't seem to switch to English properly, though.


It's a known issue and being worked on. Thanks for contributing!


This is by OSM policy, which wants an individual (in this case, you) inspecting everything. It isn't fair to blame public data sources for this. OSM policy makes it incredibly difficult to import data from public sources like this. OSM could change this, if they wanted to. If we want more high-quality data out there that integrates with public data sources, we should make it easy for them rather than putting barriers in front of them.


Sorry, but in this case I'm not talking about public (eg: gov't, et al) data sources. For most of the MTB trail guides out there (eg: MTB Project, Trail Forks) they ask users to submit trail data then they keep it locked up.

I'm particularly bothered by this in the case of MTB Project which works with IMBA, a non-profit, yet doesn't share the data back with the greater world.


How are you finding is the easiest way to do this? I would love to be able to add more trail information.


Where are you starting from?

If you have never contributed to OSM, the process can be pretty easy:

Go walk/hike/bike the trail so you remember what it looks like, perhaps taking notes and recording a GPS trace of it.

Go to openstreetmap.org, make an account, move the map to the area where the trail starts, click "Edit".

If you recorded a trace, drag it into the editor so it can show it as a reference (hopefully it's a GPX, it might be necessary to convert it).

Using the "line" tool, trace the trail, combining the information from the GPS trace, notes and imagery. Make sure to select the finished trace and mark it as a walking/biking/hiking trail. Then click save.

So there is a lot to do, but none of the individual steps are hugely complicated.


I'm still slightly new to editing OSM as a MTBer, maxerickson and c0nsumer have covered the details of how to do this already very well, but i found after comparing a seemingly never ending number of competing apps in this space, i found Viewranger GPS really useful:

a) For planning routes in advance to then download to your smartphone and follow using the app (as mentioned elsewhere OSM was definitely the best mapping layer to use for this both as a resource and as a mechanism to feed your own updates back in).

b) For creating tracks from the routes you've actually cycled which can then be uploaded to the website for later examination.

c) In addition to b) you can annotate your uploaded track on the website with actual pictures from the journey round. These can be from a number of sources (i use flickr) and it will either time sync or gps sync them to the route so you get a nice one stop for looking at previous trips. This has the added benefit you can just take pictures as your going round to then refer back to when fixing OSM without having to worry about making notes as to where it was etc.

Has anyone else used this app or anything else to do this as i'd be interested if there's any alternative ways.

Example annotated track from Hay Bluff: http://my.viewranger.com/track/details/MTIzMzAxNg==


In case you aren't aware, Strava has switched to OSM for its maps which is pretty darn handy.

(It's also knowing that all of the local MTB trails that I've surveyed / mapped are now properly on Strava.)


That is amazing! One thing I'm very interested in is the vertical data which Strava seems to be very good at interpolating from GPS traces. Do you know if they contribute that data anywhere?


They pull the elevation data from government data sets:

https://strava.zendesk.com/entries/20965883-Elevation-for-Yo...


Thank you! That was very interesting. I had assumed that they were interpolating GPS data, but I guess not. It seems they are smoothing it, though.

That being the case, perhaps I should write the program I was thinking of writing. Even though GPS elevation data is really, truly horrible I think you could probably use statistical techniques to get good data with enough GPS traces. Even routes that are mildly popular can have thousands, or tens of thousands of rides per year. Each one of those rides on Strava has GPX data associated with it. I'm sure it would be more than enough.

Unfortunately, I have about a million other projects on the go :-P


Ah thanks, it's been over a year since i did the initial evaluation, sounds like i'm overdue another :).


This isn't super-detailed (it's more a framework) but here is my general mapping workflow: https://nuxx.net/blog/2012/06/05/mtb-trail-mapping-workflow-...

The end goal for this is printable PDF maps, with good data ending up in OSM one of the stepping stones.


I'm a big fan of OSM, but I have to say that for my purposes (more geological than anthropocentric), QGIS becoming more functional over the past 5 years has been more important, especially after going independent. Similar to Python overtaking MATLAB in utility and likely eventual adoption, I think QGIS (esp. with improving OSM/python/JS support) will become the new standard for GIS outside of the mega-enterprise/private data world where ESRI is focusing.

It's really nice watching the confluence of open source technologies making a bigger and more powerful wave.


Yeah, I recently had to use some basic GIS to implement custom reverse geocoding functionality for my college senior project. My workflow looked like this:

- Get map data from OSM

- Use QGIS for analysis, feature extraction -> export as GeoJSON

- Write GeoJSON to MongoDB instance

Geolocation "works" out of the box thanks to Mongo's geospatial queries and the MongoDB client for Node. Overall, it was an extremely smooth experience, and involved the use of open-source tools from start to finish. This would have probably been impossible to do for free even just a few years back.



As a regular data contributor for Openstreetmap: Openstreetmap is terribly broken in many many ways.

There's no regular checkup of the data if it's still valid. Reverting is extremely hard and there are no checks for changing the data. The multipolygon model for areas can be extremely complex and is the cause that many regions aren't touched at all anymore. In many regions it's just an import desert where already open data gets relicensed under the more restrictive OdBL license. Those areas also only rarely get touched by mappers.


That's harsh, but in the spirit of being constructive, here's a project for someone reading this.

Let's take the first identified weakness: regular checkup of the data.

The easiest way to check this for highways is to run distance matrix calculations. Take 500 points in a given area, and calculate a distance matrix from them (OSRM makes this trivial: https://github.com/Project-OSRM/osrm-backend/). Store the result.

The next day, rerun the same matrix on the latest data. Compare the result against yesterday. If anything has changed significantly, the data has either been broken or improved. Flag this up so that it can be reviewed.

Repeat ad infinitum.

A really simple task for someone with the time and hardware, and it'd make a big difference to OSM. I don't got the time myself, but am happy to help/advise anyone who'd like to take it on.


Is there a specific place where I would go to flag things like this? Sounds like an interesting little project to build.


I guess you would do something similar to this:

http://osmose.openstreetmap.fr/en/map/

There isn't really a "central" place to flag such errors.


What could be done to fix these issues?

I'm working on a project to create a parcel layer on top of OSM, to open source ownership data for all parcels in the US. This is relevant to my interests!


There are plenty of QA tools available including such which show data that is stale.

It is true that very large multi-polygons can be hard to edit however they tend to be exclusively used for modelling large landuse areas and administrative boundaries, and tend to have no impact at all on adding and editing roads, buildings, POIs and so on.


I would love to contribute data, but have also experienced difficulty using the tools.


I would suggest help.openstreetmap.org or one of the itc channels http://wiki.openstreetmap.org/wiki/IRC for support.

The in-browser editor iD is really easy to use, however currently does not work with IE.


I contribute from time to time to OSM. What bothers me a bit is my productivity when doing surveys with my phone and OSMTracker. The GPS is not precise enough to record doors locations precisely, and taking photos is time consuming (I feel quite productive when tracing roads against satellite views using JOSM, though). I can imagine that Google's stack (with their Google cars and adapted home-grown software) must be something like 100 or 1000 times more productive.

Also, OpenStreetMap provides the data, but Google aggregates the data, which makes very cheap to add/search a lot of information (ex: shops) available from on-line sources (such as web sites). I don't expect OSM to have the same amount of information any time soon.


There was a video Google made recently about some maps-related thing, and they had a brief clip of the software their map curators use.

It looked extremely good. For example they automatically extract signs from streetview and overlay them on the map. They also had a kind of fast streetview fisheye thing. Hard to describe but it looked excellent.


Openvenues (search on github) is working on extracting addresses from web sites.

Scout (part of telenav) has a project to recognize traffic signs from free street view videos (dashcams, mapillary photos). Street lanea, exit signs on highway, companies are already working on that.


As to adding addresses/doors: simply do it on location with Go Map! (iOS) or Vespucci (Android), real easy particularly if you added building outlines before or they are already there.

Mapillary (mapillary.com) offers StreetView similar capabilities, including sign detection and can be used together with the desktop OSM editor JOSM and the in-browser editor iD.


The only drawback I see with OSM that none of the apps I have tried has good search capability. I would like to be able to enter "11077 Wilshire, Los Angeles", instead I have to click through state. city and then street which is tedious and sometimes impossible.

The maps themselves are very good.


What kind of work has been done publicly on a data model for resolving this kind of query? I was just wondering about that because I was noticing a little of how Google Maps responds in terms of different language names for places and features.

Could this model be built automatically from existing OSM data, or would someone else have to manually add some kind of additional hierarchy information? Has this been studied from the computational linguistics side as well as the geospatial information side?


The short answer is yes: OSMand (note, not OSM - but a fairly popular mapping/nav android app using its data) has users who build "full address maps" for entire countries, but it has to be put together as a downloadable bundle and mostly hasn't.

The other problem is OSM tends to have good street maps, but very limited door-to-door coverage.


I'm just curious about how this works with some things that seem to add complexity (I haven't worked in this area at all):

- Different names for things in different parts of the address because of different languages? (What if two different parts are in different language, e.g. giving a Belgian city name in Flemish but the street name in French? Giving a Swiss address with a street name in French, city name in German, and canton name in French+? Giving a Russian address with the street name in Russian but the city and oblast name in English, possibly using different scripts?)

- Landmarks and points of interest, maybe with separate colloquial and official names? (Tower of St. Vincent? Torre de São Vincente? Torre de Belém? Tower of Belém? Tower of Belem?)

- How do you search if an address component is omitted (like leaving out a city in a U.S. address but including a state or a postal code)?

- How do you handle free-form text searches that might omit address delimiters, or include postal codes in a locally nonstandard order, or omit or include official postal designators for the components of the address (for example, Brazilian addresses might include the word "CEP" before the postal code but could be given without explicitly mentioning that the postal code is a postal code)?

Is there a good book or web site or FAQ about geographic name matching that I could look at to get a sense of what standard answers to these sorts of questions are?

+ In Switzerland, the same city could theoretically be referred to as "Fribourg, [Staat ]Freiburg" or "Freiburg, [État de ]Fribourg". Well, of course a human user might always search using any combination of languages with which they're familiar, or even ones they're not familiar with that they just copied and pasted from somewhere.


OSM nominally assigns the "name" tag to the name locally used, and there are also "name:en", "name:fr" tags, etc. Presumably you could search through all of them, using an inverted index and a Bayesian prior for how likely words like "CEP" are to occur in addresses. Bag-of-words should do just about everything except distinguish ZIP codes from street numbers, and possibly distinguish between street and city.

OsmAnd~'s interface for this is absolutely terrible.

A corpus of address searches to test against would be really helpful for this kind of development.

I suspect there is a good book or web site or FAQ about geographic name matching, but you have to be a Googler to see it.


Photon builds nice, find as you type, free text search on top of OSM data:

https://photon.komoot.de/

I wonder if GP is talking specifically about on device apps, Photon needs a pretty big index (31 gigabytes compressed):

https://github.com/komoot/photon


Yes, I was talking about phone apps.

Just played with Photon on their website: It's better but still far away from Google's capability. Like it or not, but Google is very, very good with search :-)


Besides Photon there is Mapzen search that provides search as you type.

Naturally comparing with google is a bit apples and oranges, on the one hand a company that purchases essentially all its data and spends billions on its mapping department, compared to the OSMF with a annual budget of roughly $150k. So it is not a surprise that some things take a bit longer with OSM, but it is tortoise vs. hare....


Not quite satisfying search is a known functional gap in the Openstreetmap universe - a few projects are rising to the challenge, such as https://mapzen.com/blog/the-world-is-yours-announcing-mapzen...


I recently used maps.me while in Europe (Germany and Poland), with no data plan and only GPS on Airplane mode. With the downloaded maps, it was great. It even included entertainment, restaurants and some transportation options.


I was actually surprised recently to find out that GPS works in airplane mode. Really fun to see what landmarks you're flying over when you see something cool out the airplane window.


Wi-Fi also does works in airplane mode, on Android at least...


Your phone is not in airplane mode if it's making any kind of signal. You're just using Wi-Fi with the cellular modem disabled. Since GPS is only reading the satellite signals, it works fine.


The last time I was on a plane I was asked to turn on pairplane mode during take-off and the landing. I could use it in the air, there even was a (extremly expensive) GSM network. Can't remember if GPS works in Airplain mode, though. But I'd suspect it to do since GPS is only passive.


Maybe not from a legal standpoint, but you can put your phone in airplane mode and then re-activate Wi-Fi and it will still be in airplane mode... unless they changed the behavior on newer Android OS


I was skeptical so I just attempted this on my Galaxy S5 and it turns out you're right! Very interesting.


I thought there was some kind of aviation safety rule against using radio receivers on board commercial flights, maybe because of retransmission of signals on the receiver's intermediate frequency?


How does that work on for example Norwegian planes that offer wifi sometimes?


It didn't used to but was enabled in iOS 8.3.


I discovered it recently as well, also it's pretty snappy due to the offline data.


It is awesome. Here's a docker image that'll serve as a tile server. Add a JS library (I use d3) and a OSM snapshot and go.

https://github.com/geo-data/openstreetmap-tiles-docker

Note: a bit finicky.


I was going to post a comment how I would like to have a local instance of OSM for my state/region.

Is it possible to calculate directions/routing locally too?


try out maps.me


OSM is great of course, but it's a bit of a stretch to say it's more important in geo than GPS.


If I had to pick one or the other, I'd pick OSM. Given a map, I can figure out my location, but the reverse is not true. (Of course, this is ignoring the fact that a lot of OSM data is likely generated using GPS.)


Knowing where you are is truly disruptive. Having better maps is just having better maps. GPS has been so incorporated into daily life that we don't appreciate it any more.


Google maps on the web and on mobile has become such a miserably bad experience that I hope OSM wins big. Google's data is not bad, but the apps are awful.


Yeah, user experience on Google Maps app has been atrocious recently. I especially hate when I search and get cards when I want a map with placemarks on it, then try to get to the map and it forgets my search. Some designer sure went all out making it pretty, but they took out most of the functionality.


Just noticed OSM has overhead power lines on their maps. A quick search reveals GM either doesn't have that data or doesn't have any way of displaying it. +1 for OSM in my book.


You can add just about anything on OSM (http://wiki.openstreetmap.org/wiki/Category:En_key_descripti...), so the only limit is what people actually map :)

(and sometimes what the community decides, e.g. adding things that can't be seen anymore, like old tram lines, is generally frowned upon in main OSM and requested for something like Open Historical Map instead)


We've been navigating on top of OSM for about 18 months now (Scout in the US, Scout/Skobbler in the EU/RoW) and it's pretty amazing how far it has come.

From a navigation standpoint the devil is in the details, like flow speeds and turn restrictions, which is where we see the majority of our issues (flow speeds significantly impact how you treat traffic and turn restrictions of course impact routing).


The only thing OSM is missing is a good open places database


If this is what you're referring to, we're getting there: http://openaddresses.io/


"Places" usually means something like Foursquare.


Wow, they've really got Japan covered


OpenAddresses is a separate project from OSM that is aggregating publicly available address data. Japan has a national entity that makes the data available. The sources are all here:

https://github.com/openaddresses/openaddresses


Out of interest, people may not realize that Japan has a very different addressing system than in the west. Streets do no generally have names (though there are a few that do). Instead a city is divided up into areas. I won't try to explain it (for fear of getting it wrong ;-) ): https://en.wikipedia.org/wiki/Japanese_addressing_system

Often foreigners get confused and see things that look like street signs, but which are actually signs for the chome (kind of a big block). They get very confused when they see another such sign on a different street going in a completely different direction :-)

Anyway, Japanese people generally don't put address numbers on their houses. Instead they will put their name. So if you want to find an address for someone you don't know (or a business) it is really hard. For businesses that have to deliver things, it's really important to be able to find the address. So the public database is really useful. These days everybody generally navigates by GPS. You put the address in and the GPS unit will take you to the right place. Most navigation units will even be able to navigate from a land line phone number (as the phone numbers are pre-assigned to the address).


There is widely used tagging for a large variety of place types, and it isn't all that complicated to extract that data (which is maybe glib, but the extraction shouldn't be a big hurdle for someone that is using the data for something interesting). So the problem is that the data is sparse.



From programmer's point of view working with OSM is quite annoying. OSM is being considered more as database than drawn map. But that database is inconsistent, contains many errors and its data structures are not good to represent non geographical items. On top of that mechanical edits of map are very discouraged. I think that OSM would only be good for simple stuff like showing on your website where's your business located. Anything more advanced like address searching or routing would never work reliably.


I think you'll find that there are plenty of companies making lots of money selling services on top of OSM's "inconsistent" data. Mapbox sells an extremely powerful map styling system, geocoding/searching, and routing. Mapzen sells similar services. MapQuest offers services using OSM data. Apple Maps uses OSM data in areas where commercial data isn't available.

I think you'll find that OSM is great for more than just simple stuff. In fact using and contributing to it is a million dollar industry.


Mapzen isn't selling anything.


True 'nuf. I suppose I meant "selling" in terms of promoting, not dollar bills.


Not at all. Plenty of people, myself included, route with OSM data.

Address searches are possible though, as ever, it depends whether contributors have added those addresses to OSM.


The flag OSM geocoder is Nominatim. It turns out it won't work if you provide only part of street name (if OSM contains full street name) or when you provide full name (if OSM contains only part of the name) [1]. So in my opinion searching for addresses is not reliable.

That's one thing, another is that addresses are quite often duplicated. There's no automatic check for that and such duplicates exist for years.

[1] - https://help.openstreetmap.org/questions/45825/how-can-i-geo...


There are several geocoders available for OSM. To say that "the database is inconsistent [and] contains many errors", and then back that up solely with a criticism of one piece of client software, makes no sense.


I've backed the statement that OSM contains errors by saying that there are duplicated addresses.

I've backed the statement that OSM is inconsistent by saying that sometimes streets in OSM contain full name and sometime only most important part (and that makes Nominatim unable to search for addresses).


I agree, we started looking at OSM's address data sets only to find them pretty sparse. For the areas we investigated I'd estimate around 5% coverage from community efforts. Made me wonder why nobody's done something stupid like grab the files from http://openaddresses.io and create a reasonable starting point? But that got me thinking why even bother with Nominatim vs just throwing all that data into elastic for better fuzzy searches or match.


Mapzen is pretty much doing what you describe:

https://mapzen.com/blog/the-world-is-yours-announcing-mapzen...


Nominatim is the one I've always tried using, and it doesn't work very well. Can you recommend a better one?


We at hammerhead.io have been using OSM to its full potential. It is been very helpful in navigation and tiles.


I wish it didn't show Philadelphia as Trenton/Camden. That is so incorrect.


https://www.mapbox.com/map-feedback/

Mapbox does a great job of fixing things with out relying on users to do it for OSM! Just drop a pin and type out the problem and Mapbox's data team will likely fix the problem! These changes go right into OSM.


I'm not being facetious, don't take it the wrong way, but you could fix it. It's surprisingly easy.

I fixed a bunch of stuff wrong with my home town and found it pretty gratifying


Prominence is hard to do automatically, so it may not be trivial to get the system that renders the osm.org tiles to prefer Philadelphia (it does things like look at population, but that data is present for Philadelphia).


Very true!

I also took a look at it to figure out why it was showing up that way. They look like they are the same magnitude of thing (city) and they both have population. I'm wondering if it's actually showing Camden county?


No, it's not the county. I think what is happening is that the renderer decides there is no room to draw the Philadelphia label once the New Jersey label is in place.


Somewhat unrelated, but any OpenWebSearch exist?


Sort of. If you wanted to make one you could probably get started with the Common Crawl dataset:

http://commoncrawl.org/


IMHO Leaflet/OSM dev experience is so much better than Google maps - really glad to have this option.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: