theCrag / website

theCrag.com: Add your voice and help guide the development of the world's largest collaborative rock climbing & bouldering platform
https://www.thecrag.com/
111 stars 8 forks source link

Alternative to GoogleMaps: OSM openstreet maps / Baidu / vtrhome #365

Closed MelwinQ closed 5 years ago

MelwinQ commented 13 years ago

You probably have heard that Google starts to charge for the use of the map API (http://googlegeodevelopers.blogspot.com/2011/10/introduction-of-usage-limits-to-maps.html). I don't know if this is an issue for you or if thecrag can remain below the limits that still are free. If not and you are looking for an alternative, I'd like to point your attention to openstreetmap.org . Here's a short summary for your information. pros:

General tasks:

scd commented 13 years ago

Thanks Melwin for this heads up - I think we will be under the usage limits for some time. We will keep this issue open until we have either committed to paying google costs or moving to a free service, but I think we have a good 12 months before the final decision needs to be made.

brendanheywood commented 13 years ago

Thanks. Yeah I saw the announcement and I've looked at and played with open streetmap but the big killer is that it has no aerial or sat photo data and probably never will. At least for now I don't think we'll be close to the GM limits but I'm monitoring it.

brendanheywood commented 13 years ago

Note to self: look into licensing implications of openstreet map data and comparability with other content licenses in use on thesite

brendanheywood commented 13 years ago

If we use open streetmap to overlay stuff like track data then we need our users to be able to contribute to it. I really like the idea of outsourcing map creation to someone who can do it really well...

But to be honest it seems pretty flaky. I've tried to add some track outlines locally and found it pretty clunky to use and super slow. Secondly you can draw tracks over existing aerial photos but it uses bing maps which has woeful quality in many places. I'd want to be able to quickly swap the photo underlay between different sources to find the best one for tracing over.

scd commented 13 years ago

unless there is some hidden gotcha's in the google maps usage it will be ages before we hit their limits. If we are getting 25,000 map translations a day then I recon we should be attracting some significant sponsorship. I'm thinking we just wear the costs for google maps.

MelwinQ commented 13 years ago

Well if the numbers currently are not an issue, all the better, you don't have to worry. I totally agree that the aerial maps and functionality of GM is far superior. However, if one could switch to OSM-maps for viewing, if required, this would be the best of both worlds. Not for the programmer, though :-( Thanks for your considerations, as always.

MelwinQ commented 10 years ago

I very much appreciate you put OSM-layers into the map view in "edit" mode. It would be nice to have them in the regular "view" mode, too. Some areas are really well-mapped in OSM.

brendanheywood commented 10 years ago

This is kinda two issues, one technical, one philosophical:

1) The editing page uses a 3rd party map library OpenLayers to do all the multi map swapping stuff. However OpenLayers is super heavy JS lib and not something I want to load for viewing maps on every page on the site. For viewing only the Google maps api and interface is way better that OpenLayers. I've also toyed recently with swapping to Leaflet or some other lighter 3rd party mapping library but generally by doing this you end up with a lowest common denominator solution as well as increased code bloat, ie a general reduction in UX quality vs sticking with a single map API.

2) Getting "in bed" with a map provider. We could use bing, google, OSM, etc. But if we allow multiple maps we need to do it consistently across the board. And extending this idea to actually editing the base map and not simply using it. ie as part of editing a crag you draw some walking tracks into OSM or into Google. If someone like you has done a lot of edits in OSM, and this becomes an essential part of the climbing guide, we need to support it on the web, in the pre-baked PDF's and in the android app, and in the future iPhone app, or windows app etc. The more maps we support this becomes a combinatorial problem to solve well. However if we stick with just one it's a whole lot less work. At heart I support the OSM concept more than a proprietary solution like Google, but since Google MapMaker was opened up this argument has essentially disappeared. Editing tracks in Google is easier than OSM, and the review process is damn near ideal, and you get a more tightly integrated high quality end result, ie I can now use Google maps on my iPhone to give you walking directions on tracks I've drawn to a particular cliff I've added on thecrag.com. I'd love to be proven wrong but I can't see OSM ever providing this level of service. As an example in the last two weeks I've fixed the driving directions in Oatlands, added walking tracks to crags on Mt Wellington, and fixed up road alignment issues in Bicheno (all in Tasmania). In all cases my changes were either published live, or approved in a couple hours, and propagated to all Google's servers within less than an hour. Then there are also the business continuity concerns around using Google vs say openrouteservice.org - I'd bet that google outlives them all.

So either one of these is a pretty strong argument to stick with just Google Maps. Together they are very compelling. If you haven't already looked into it I'd encourage you to have a look at Google MapMaker and have a go at adding some walking tracks at a local crag. Yes I'm kinda selling my soul to Google, but we get a damn lot for it, and lets face it they probably already had my soul 5 years ago :)

I'll add one more thought: climbing specific stuff on maps, like say the outline of a cliff, or GPS of a rap anchor, I don't think these belong in the base map and I'm planning to be able to add these as overlays on top of google maps (just time and effort as usual).

P.S. As another aside I believe in some cases Google ingests OSM data, after all it is open licensed. They are also supporting the OSM in various ways, financially and coder time.

MelwinQ commented 10 years ago

Thanks Brendan, for the detailed explanations. I can see your points and understand you decision. Just some comments on the technical and philosophical aspects:

  1. I have heard that OpenLayers is somewhat bulky. I recently implemented some Leaflet stuff (http://klettern-in-berlin.de), which was quite easy. Admittedly with less functionality what is currently used in thecrag, but as far as I gathered from the docu much more is available - for both viewing and editing. Leaflet also claims to be especially suited for mobile devices. However, the choice of API is (partially) independent of the layers to display. OSM layers may also be used with GM-API (http://wiki.openstreetmap.org/wiki/Google_Maps_Example). In many cases I found Bing imagery superior to Google images - I don't know if they can also be displayed by the Google API.
  2. Germans tend to be more paranoid than other people in many respects. Even among these people, I may be a special weirdo: using a non-standard browser, PGP, avoiding Google, Facebook, Paypal (two more things to debate ;-)). So please consider the following statements as of some fanatic - but apparently you have (at least one) such users. I agree that editing OSM-maps takes some getting used to. But you don't need use overlays for cliff outlines, cairns, signpost, wells, caves, walls, ... it's all there...well, prepared. As for the navigation, I have been using Pocketnavigator (mapfactor.com) for some time. It is free, uses OSM-maps, works offline (big plus in remote areas), on multiple platforms. I am not a lawyer, but as I understand http://www.google.com/permissions/geoguidelines.html Google maps may not be used in guide books without special license, which would touch the automatically generated guidebook-PDFs. Probably Google gives this license for free, OSM definitely does. While Google may display OSM data, afaik any edits by google must be CC-by-SA. So, unless the OSM-community decides to switch the license, Google cannot legally absorb OSM-data.

So, I don't know if I can save your souls, but at least I tried ;-)

Keep up the great work,

Melwin

brendanheywood commented 10 years ago

Yeah thanks for understanding. Leaflet does look pretty cool and I'd like to play with it just to see how far I can get with it. My big problem is I'm always running off on tangential ideas and sometimes I just need to put blinkers on and mash out code. When I implemented OpenLayers for editing leaflet didn't exist yet.

Your comment about Bing maps being better in places I get - from my experience bing often has higher res data in particular places like big cities where as google seems to have better all round coverage. There are heaps of places in australia at least where bing just has nothing. And vice versa.

Can you also send me a url of places in OSM with cliff outlines etc? I'd love to see that

Also our careful reading/understanding of the google T&C boils down to: you can use maps offline as long as you don't modify the image and you also link back to either your webapge which embeds a google map, or google maps itself for that location (which we do). This was also one of the sticking points which once we clarified made us feel better with sticking with google maps.

And yes my belief is that Google uses the OSM data as-is without editing it or re-mixing it into their other data sources. They source from a large number of copyrighted data sets all of which would preclude being mixed with each other - it's actually fairly similar to how we can host content under different multiple licenses. But I can' find any hard evidence of where this has happened so it's all hearsay.

Also thanks for discussing this - we often have these epic internal discussions over minor clauses in license terms, or T&C, and not many people appreciate how much we angst over all of this stuff. Nothing ever seems to be clear cut.

MelwinQ commented 10 years ago

I guess we will always find places where one source excels over the other, in imagery or in maps. That is why I like the way you implemented it in the editing mode - one can just choose which is best. Concerning cliff outlines, as always with OSM, the coverage is very diverse. A particularly impressive example is Sächsische Schweiz (~ 20k routes), where many cliffs and summits have been mapped: http://osm.org/go/0MgWt5on-- Zooming will also reveal shelters, stairs, viewpoints, etc. The cyclist layer also contains contours. Compare this to google (which is not too bad with the paths): https://maps.google.de/maps?q=schmilka&hl=de&ll=50.904088,14.242229&spn=0.022679,0.024376&sll=52.428362,13.027412&sspn=0.350857,0.390015&hnear=Bad+Schandau,+Dresden,+Sachsen&t=m&z=15

I sympathize with you having to care about that legal stuff - coding is strenous, but at least you get some result (mostly). With this license stuff, one may end up with less than begun with.

brendanheywood commented 10 years ago

Thats cool - just makes me distracted and want to come visit Europe again :)

MelwinQ commented 10 years ago

Let me know, I'll take you around if I can.

brendanheywood commented 10 years ago

We've had a few more requests from this, often from german's. I'm going to re-open this one but it isn't scheduled, has a lot of dependencies, and it a whole bucket of work and so don't expect it any time soon. My plan is to probably swap to leaflet just for viewing, and let the end user swap to other maps themselves but still default to google maps.

This has a lot of knock on effects like rewriting / re-selecting libraries for clustering for leaflet instead of the Gmaps api, so will effectively be a ground up rewrite of the maps to replace both list view maps and the full screen maps tab. Map editing would probably be unaffected. See also and probably bundle this with #1145, #1094, and possibly replace #862, #421 and many others will be affected too.

MelwinQ commented 10 years ago

Looking forward to this. A quick fix could be some link like "Open in OSM" or "Open in GoogleMaps". The former would provide a simple OSM-view, the latter enable using GM's navigation features, ie letting me find a way towards a crag.

MeForThis commented 10 years ago

Openstreetmap would be a great feature. I live in west Africa right now and google / bing is completely useless, also the satellite pictures often have a 10m = 1px solution :-( There are other places where these are very good, unfortunately most of the time where the decision makers / developers are.

lordyavin commented 10 years ago

Just want to highlight this issue. On my trip to the Dolomites I found the satellite images provided by bing much better. It would be great if the backend stores with which map display the location was saved and should display this as default on the index page. Look at my recent contributions. You will see that the current display of GM is crap.

brendanheywood commented 9 years ago

Another +1 from FB https://www.facebook.com/thecragcom/posts/10153533269322604

Drazhar commented 9 years ago

And a +1 from me, because you aren't allowed to edit google maps in Swiss or Germany

brendanheywood commented 9 years ago

Yeah mapmaker worldwide has been turned off for a couple month due to some spam data.

brendanheywood commented 7 years ago

Bump from support email (Henning)

Heineken commented 7 years ago

I claim the "bump". My mail was specifically about the help text on https://www.thecrag.com/article/Geolocation#addtrack encouraging users to contribute to GM without mentioning OSM.

If that has proven to be problematic and the plan is to become less dependent on GM (yay!), both facts could be expressed in that help text in order to stop sending people's ambition in the wrong direction. No coding involved :-)

brendanheywood commented 7 years ago

Just split that off into it's own smaller issue: #2464

Heineken commented 6 years ago

Names of cliffs/subareas/crags can be set in OSM, for example here: https://www.openstreetmap.org/edit#map=19/37.17117/22.89754 I don't where they would be rendered/used, but it would be nice to exchange that data with theCrag to avoid double work. Like:

gui84 commented 6 years ago

I just wand to add that it's a pity that Openstreetmap layer is not displayed in maps area, but only when we edit location. We can't simply use their work for geolocalisation. Moreover, many times Openstreetmap is more accurate than Google maps for crags approach. It's an openproject compared to Google maps.

lordyavin commented 6 years ago

@gui84 I don't agree. As I stated earlier I think the map should display the layer that was used to set/draw the geo location. The different layers differ in quality and IMHO a human should decide what to display best. The standard OSM layer isn't the best for our use case because it doesn't show the terrain features. Much better would the opencyclemap.org layer.

brendanheywood commented 6 years ago

Next year we will embark on a major ground up rebuild of the maps. The intention here is that the cliff / crag can specify what tile layer to use as the default. Yes OSM is better in some places, but in other places it is not great, google maps will continue to be the default unless overridden. Also pushing and pulling data into and out of OSM is very problematic for lots of reasons, some technical and some around licensing, but mostly because it's not really structured data and the semantics of it don't cleanly map to our data model. OSM is also a general purpose map, often climbing areas are called one thing by climbers and another by tourists.

gui84 commented 6 years ago

@lordyavin "I think the map should display the layer that was used to set/draw the geo location" But OSM is already a layer helping us to set the geolocation. And https://opentopomap.org/#map=5/49.023/10.020 layer is good. @brendanheywood "Also pushing and pulling data into and out of OSM". You're right, I think there is not a total compatibility between CCBYNCSA and ODbL. My point is to add a layer to Map area with OSM, in order to choose between these services.

MeForThis commented 6 years ago

Google is good where it's market is, e.g. in many parts of Afrika it's useless. There is no money to make, so there is nothing done. Google is just usefull in the first world.

brendanheywood commented 6 years ago

Another example of this, google has no data for this part of malaysia so the map is just black:

https://www.thecrag.com/climbing/malaysia/area/1640276538

lordyavin commented 6 years ago

@brendanheywood just zoom out. There is some data. Is it possible that the map display detects a blank map and zoom until there is some data?

brendanheywood commented 6 years ago

That's the point though, there is no data at a fixed zoom level and we don't know ahead of time. We can zoom in the js api, but it would appear not really in the static maps api. The static maps api isn't something I've considered for the new maps rebuild, ideally each new alternate tile server we allow would also have a static map api but I doubt this is the case :(

gogulfresh commented 6 years ago

+1 for supporting OSM as alternative to GoogleMaps. In many areas (at least in Europe) GM has nothing but the satelite view while OSM is pretty good mapped!

brendanheywood commented 6 years ago

from @rouletout :

Google Maps doesn’t work in China. For the Map-re-work we should also make sure that Chinese maps work. The most important ones are Baidu Map https://map.baidu.com/ and VTR www.vtrhome.net

brendanheywood commented 6 years ago

Note to self, google maps does work in china, but we need to set the region for it and load it differently:

https://developers.google.com/maps/documentation/javascript/localization#GoogleMapsChina

This one is a little tricky though because we are targeting where the user is from, rather than the region the user is looking at. So this should be independent of the ability to toggle maps tiles to different map bases like baidu and osm.

brendanheywood commented 6 years ago

Well it took 7 years to bite us...

brendanheywood commented 6 years ago

Work is commencing on this. If anyone has particular examples of countries or crags where on certain map service is better than google please document it here so I have as many working test cases as I can.

Also please let me know if there are any location specific map services with open access or open licensing that have better quality maps than google. I've found a couple and they are usually government run but the more the merrier. In particular ones which support terrain view or satellite / aerial view. The OSM data is only good for street maps. Or any others which may be of general interest to climbers, for instance there might be a few geology / rock type map services, or map services which help identify owner for access etc.

Not all services may end up in the initial release but I want to make sure we are flexible enough to accommodate most mapping services that we might want to down the track.

gui84 commented 6 years ago

Great ! For Mainland China and Hong Kong (where I live), OSM data is way better than Google maps (for approach path).

brendanheywood commented 6 years ago

What about for aerial? Do you prefer Baidu or something else?

gui84 commented 6 years ago

https://map.qq.com/ or Baidu are fine.

MelwinQ commented 6 years ago

As commented on 7 Jan 2014, OSM is excels over Google Maps e.g. in Sächsische Schweiz and its Czech counterpart Labske piskovce (see eg https://www.openstreetmap.org/#map=15/50.9086/14.2257). I reckon that this would also apply to most other crags in Germany. As for other alternative services, https://www.outdooractive.com/ have good maps that are also used by the German, Austrian and South Tirolean Alpine Club on their platform alpenvereinaktiv.com . Certainly not free, but worth checking out.

gogulfresh commented 6 years ago

Wilder-kaiser: https://www.thecrag.com/climbing/austria/area/11879953

http://tools.geofabrik.de/mc/#13/47.5627/12.3056&num=4&mt0=mapnik&mt1=google-map&mt2=geofabrik-basic-colour&mt3=mapnik-german

Sulzfluh: http://tools.geofabrik.de/mc/#13/46.9993/9.8360&num=4&mt0=mapnik&mt1=google-map&mt2=geofabrik-basic-colour&mt3=mapnik-german

Spitzingsee/Rotwand (I am surprised that Google maps has quite some trails but still it's far off): http://tools.geofabrik.de/mc/#14/47.6418/11.9396&num=4&mt0=mapnik&mt1=google-map&mt2=geofabrik-basic-colour&mt3=mapnik-german

Steinplatte (skiing is pretty good at GM but hiking...): http://tools.geofabrik.de/mc/#14/47.5958/12.5793&num=4&mt0=mapnik&mt1=google-map&mt2=geofabrik-basic-colour&mt3=mapnik-german

brendanheywood commented 6 years ago

Wow that's a cool tool :)

Drazhar commented 6 years ago

Outdooractive is using osm with an own renderer, so it's also osm ;)

brendanheywood commented 6 years ago

I have briefly considered the idea of setting up our own maptile server, but only as a very last resort, and even then it doesn't solve a few issues and will create a lot more work.

I do really like their custom static maps previews:

image

TillF commented 6 years ago

@Drazhar: While Outdooractive / Alpenvereinaktiv offer OSM as an option, they also have ther own layer which in places is significantly different (and often more detailed) than OSM. However, apparently it is not free.

Drazhar commented 6 years ago

@TillF: Strange, I always tought, that outdooractive is also using OSM for their default app. Espacially cause when I added something to OSM it also appears on outdooractive. As far as I understand it, it just gives you the option for the default OSM render style. But it was a long time ago where I actively used it ;)

lordyavin commented 6 years ago

Hey guys, please treat this issue with high priority. I think the static maps a a real pain in the ass. I'm so used to be able to zoom out to check where a crag is located.

brendanheywood commented 6 years ago

Just a heads up that progress on this has been moving along fairly well. Stay tuned :)

lordyavin commented 6 years ago

👍 Any details?