Use OpenStreetMap maps

what i mean by that is the code needed to actually display the maps on the page and other related services. the iNaturalist website is using Google’s codebase to do that, and it’s using Google map-related services for things like geocoding / reverse geocoding.

2 Likes

… and thus does not need to have extra servers for that purpose! If you tried that with OpenStreetMap, they’d quickly block the site, because they do not have the money to upgrade their servers to handle such a load.

1 Like

i want to make sure we’re not conflating map tiles with the other stuff needed for mapping functionality. you can use OSM tiles + Google mapping platform, though you would either need to host the OSM tiles or find a third party to host the OSM tiles. there are other mapping platforms and services besides Google, but whereas adding or changing a set of map tiles is relatively simple from a coding perspective (not from a hosting perspective), changing out the mapping platform and services is less simple. so, again, i just want to make sure that people understand the distinction here.

2 Likes

As far as I know Google will do that too and charge you money but i am not very familiar with these issues anymore. GeoCoding is more a problem, there are sites where they use your account for the free Geocoding (first 1000 are free).

OpenStreetMap US Mappy Hour ~ Conservation Projects, Open Street Art, & the Women Remembered Project

https://www.youtube.com/watch?v=wJcyYZV3eoI

1 Like

Hey folks. I’ve been looking into this again today and revisiting its many complexities. Quick question before I dive into said complexities: do you want iNat maps to show the “standard” style available at https://www.openstreetmap.org? I can see how that would be helpful in parts of the world where Google doesn’t have good data, but it also doesn’t have contours, which I find annoying.

Ok, those complexities. I’m hearing a lot of different desires in this thread, including

  1. To show maps with better detail than Google provides
  2. To show maps that people can theoretically update
  3. To show maps that are not blocked or throttled in China
  4. To use more free and open-source software and data because they are more aligned with iNat’s mission than the profit-seeking mission of a corporation like Google

Background

As @pisum pointed out, I think some of what’s happening in this thread is that people are conflating mapping software (the stuff you see, click, and tap to experience the map), map data (what’s actually on the maps), and map data providers (entities that actually provide the map data), which is understandable because in a lot of situations, one entity provides all of that: when you look at an observation on the iNat website, you’re interacting using software provided by Google, the maps were made by Google using data they aggregate from numerous sources (including OSM), and the maps are served from Google servers. But when you look at a map at https://www.openstreetmap.org, you’re viewing the map using open-source software called Leaflet, the maps are made from data added by OSM contributors, and the maps are served by the non-profit OpenStreetMap Foundation if you’re viewing the “standard” map. If you view the CyclOSM map the map is actually served by OpenStreetMap France, a different non-profit, and if you view the Cycle Map the tiles are coming from a UK for-profit company called Gravitystorm Limited.

It’s important to make these distinctions because the software we use affects the data we can use, and the server of the tiles affects how much we have to pay and/or how much damage we might do if we’re not paying. For example, if we want to show Google data from Google servers, we have to use Google’s software according to their terms. We can show OSM map data using Google software, but we can’t show Google map data using any software other than Google’s. That means if we want to satisfy desires like viewing maps in China or not associating with profit-seeking corporations, we would have to not use Google software and lose access to Google’s map data (for the record, severing ourselves from profit-seeking corporations would require becoming a much, much bigger and well-funded entity than we are now, so while I sympathize, that’s not realistic right now).

It’s also important to understand that iNat uses maps a lot. We show between 400k and 500k maps per day (that’s maps, not tiles). That’s a level where a lot of map companies don’t even list their prices and you have to negotiate something with their sales team, and it would be a lot of traffic to throw at a fellow non-profit like OSMF or OSMFR, because then they would have to pay for the traffic and compute time, or at least balance their resources to make sure they don’t let a bandwidth hog like us impact their other users. Frankly, it would be a lot of traffic to take on ourselves if we were to host the map data and pay for the resulting traffic. Google donates this to us for free. No matter how you feel about Google’s prices, ethics, or impact on the world, it’s hard to beat $0, especially when you’re a team of 9 people at a non-profit natural history museum.

I’m not even going to get into raster vs. vector map data, but that also complicates things (can’t use OSM-based vector map data with Google software).

Last bit of background: OSM map data may be more open, free, and updatable than Google map data, but Google’s data adds a lot of value, including

  1. Regularly updated high-resolution satellite imagery (in my part of the world it seems to update every few months)
  2. Internationalization (if I tell my browser I want to view Japanese, Google Maps will show me map data with street names in Japanese when I view my neighborhood in Oakland, California; most OSM maps will show labels in the language of the place being viewed, but not in the language of the viewer)

That’s not even including the services that Google provides aside from map data, like geocoding & reverse geocoding, as @ahospers pointed out.

What We Could Do

Switch all our maps to open-source software and only display open data

This would satisfy all the desires listed above, with the following costs

  1. Lots of developer time re-engineering all our maps in our web app and three mobile apps
  2. Losing access to Google’s map data, which I think is the best for most iNat users in most places and provides satellite imagery that has no equivalent in the open data world that I know of
  3. Either pay someone to host the map data or buy a data product and pay to host it ourselves (either way, spend much more on maps than the $0 we currently pay)

Our map code is ancient and in dire need of an overhaul, and I think this would be beneficial and affordable as a non-default option and as the default in places where Google is throttled, but I don’t think we can support it as the default for everyone. The service Google provides is outstanding in most ways, despite the complaints listed above, and taking it away from people on iNat would not be pleasant for anyone.

Switch all our maps to Mapbox

Mapbox is another company that provides services similar to Google, including OSM-based maps and some great satellite imagery. Their pricing for our scale of usage is opaque, and frankly they are another profit-seeking company like Google, and, like Google, you have to use their software to access their data. No idea how frequently they roll in new OSM data, or how accessible they are in China, so it’s not clear to me what the advantages over Google would really be. It is clear it would be a lot of work and probably cost more than $0 / month.

Add the “Standard” OSM map tiles hosted by the Open Street Map Foundation as optional basemaps on iNat

I actually contacted OSMF last year and someone got back to me saying they’d be ok with this, but that they’d block us if we sent them too much traffic. That seems totally reasonable to me, and this would be mostly easy to try (need to redo the way people choose the basemap on the web, at least), but it’s not clear to me if that’s what people really want, hence my question at the top. Most people seem to prefer maps with topographic info, which the OSMF tiles don’t provide. On top of that, I think this additional option would probably be confusing for the majority of people on iNat, so we might need to make it opt-in.

Add some other OSM-based map tiles hosted by someone else

E.g. Maptiler Cloud, Thunderforest / Gravitystorm, etc. Same issue with confusing people who don’t know what OSM is, plus we have to take on new costs unless someone wants to offer it for free (doubtful). About the same level of engineering as using the “standard” OSMF tiles.

Add some other OSM-based map tiles that we host

Possibly more cost-effective than using hosted tiles, but really hard to say. We would probalby purchase the data from someone like Maptiler, and we’d also have to keep it up to date, and pay for all the network traffic. Lots more work on the devops side of things, work that will continue indefinitely and get harder if we continue growing.

Priority

Honestly this isn’t super high priority and I’m mostly just diving in because our Android contractor needs new work and this was on our roadmap. Just adding the OSMF tiles as an option would be relatively straightforward and if that’s what people want, we can do that in our next round of development and get it into the Android app (and maybe the web) next month. If topo info is a requirement, I can start reaching out to providers like Maptiler and Thunderforest / Gravitystorm about pricing, so that will slow things down a bit. I don’t think totally redoing our maps is on the horizon at the moment.

12 Likes

interesting. i didn’t realize the map stuff was being provided by Google for free. if that’s the case, though, i think you might want to consider proceeding with caution if you approach third parties to provide services that you intend to pay for. (i don’t know what the relationship is exactly with Google, but if i were providing iNaturalist a service for free, and then you all paid someone else to do part of what i was doing, i might wonder why – if you had the extra money – you didn’t pay me…)

OSMF’s standard tiles look fine, though i don’t think think they really improve upon the Google map tiles much, if at all, for the places i frequent. Others have mentioned OpenTopoMaps. if OSMF is willing to provide tiles for free (up to a limit), i wonder if OpenTopoMaps would be willing to do something similar for their tiles?

1 Like

Below is, I think, Open StreetMap (=BaseMap?) which seems to be the best
image

But in general my activity is not strong related to maps. If the tables/matrixes/data is easy to access i often do not need the maps

  1. Regularly updated high-resolution satellite imagery (in my part of the world it seems to update every few months)

Amsterdam might updated regular(each year) but Satelite images of Groningen only once every 3year i think

Based on your summary of the situation, this seems to me the most worthwhile option to pursue, specifically for countries or regions where Google maps are unavailable or very poor. I’m guessing that making this available worldwide would mean that

would happen quite quickly. So maybe it could only be made available when the observation’s location is within a defined geographic area (or does not yet have location set?) if the added complexity is not prohibitive?

2 Likes

I consider it absolutely essential to use OpenStreetMap to allow a much easier localization. Google Maps is bad outside the road network, and with satellite imagery alone it is often problematic to identify the place accurately.

4 Likes

Welcome to the forum, @aghezz !!!

Google Maps has a very annoying problem in China. The GPS data in photos has a bias when shown on Google Maps, for detailed explanation please take a look at Restrictions on geographic data in China. In order to show the correct location on Google Maps I have to translate the GPS from WGS-84 to GCJ-02. It takes time and make the aerial tiles wrong afterwards. Fortunately, OSM doesn’t has this problem. It would be great if iNat has a better support for OMS.
Thanks to your great work!

6 Likes

Continuing the discussion from Use OpenStreetMap maps:

Thank you for the long write. I understand how complicated it is on the developer side, the courtesy of Google seems really generous. Although as i don’t know how it works but one reason Google giving away free services might be that they somehow could be benefiting from the geographical plant data provided by us. So after all they might not give a negative response if we happen to work with another provider as well, which also might happen as the OSM team gave a positive feedback.

If we turn into a more open-source approach, raising donations can be on the table and that would free us from any kind of dependencies. If google stops giving us service, some regions would suffer in the short run due to lack of map quality but in the long run the collaboration of OSM and Naturalist would benefit both parties as the users who contribute to world plant data would also be contributing to the map data as well.

Regarding the competition among other plant database apps, personally i use a de-googled phone and i couldn’t continue using Naturalist anymore because i can’t view the map but that didn’t make me quit using Naturalist. I tend to use the other apps as well while using Naturalist at the same time probably many others do but if Naturalist takes a more Open-Source approach i would definitely stop using others.

3 Likes

Welcome to the forum and thank you for your statement, @afusalan !

To reiterate, if folks would answer this question it would really help me make progress on this issue.

2 Likes

Yes, standard, the one that is shown here https://www.afstandmeten.nl/index.php?id=2925430

1 Like

Yes, I think the OSM standard style would be a great option.

2 Likes

Yes, OSM is much more detailed (and accurate) than Google in my neck o’ the woods.

4 Likes

Yes standard.
Offers more accurate data and more detail in regards to footpaths etc. Also permits better distingtion between land cover types.
Not having contour lines might be a drawback but personally I would be fine without.

5 Likes

Standard OSM would be good enough, thank you

3 Likes