Open source tile provider replacement for google maps

Hello,

I’m searching for an open-source replacement tile provider for Google Maps and have found GeoViews and HoloViews, both of which are in the PyViz ecosystem. Bokeh is a Core library in PyViz, which is great, but my bokeh serve script works great now and switching to GeoViews or HoloViews is not my goal. Replacing Google Maps is my goal.

Geoviews has more tile providers integrated but it seems that Bokeh could just as easily provide the same. In particular, the EsriImagery and OSM tile sources appear to work the best as nearly-equivalent Google Maps replacements.

Is there a reason Bokeh does not have the EsriImagery and OSM tile sources integrated?

The image below shows these two seem to work the best, at least for the Florida, USA location I’ve selected. After zooming and panning from the GeoViews demo page, some tile sources don’t even have zoom levels that close:
http://geoviews.org/user_guide/Working_with_Bokeh.html:

What’s the best way to get EsriImagery and OSM plumbed into Bokeh’s tile_providers.py?

The hooks are all there… it seems like these two could work with a modest effort.

Ok, I updated tile_providers.py to also use OpenStreetMaps nominal, their Wikimedia format, and also Esri’s imagery with these additional tile provider keys:

  • OSM
  • WIKIMEDIA
  • ESRI_IMAGERY

What’s the preferred method for submitting updates? I would attach the updated version but there doesn’t seem to be a way to attach.

Now these work (one at a time):

  • tile_provider = get_provider(Vendors.OSM)
  • tile_provider = get_provider(Vendors.WIKIMEDIA)
  • tile_provider = get_provider(Vendors.ESRI_IMAGERY)

This seems like a really clean open-source replacement for Google Maps basemap.

Marc

1 Like

What’s the preferred method for submitting updates?

Updates to add new publicly available tile sources (assuming this usage falls within their TOS) would certainly be welcome. The standard way to make contributions to OSS projects on GitHub is to fork your own copy of the rep (bokeh/bokeh in this case) and submit a Pull Request to merge the changes. We’ve helped lots of folks make their first PR and are certainly happy to help or offer guidance here as well.

Ok, thanks Bryan. I’ll begin the process and am familiar with git but may need some input on the PR and merge.

I’ll give it a go.