Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add tile providers for OpenStreetMap and ESRI Imagery #9560

comperem opened this issue Jan 5, 2020 · 3 comments · Fixed by #9582

add tile providers for OpenStreetMap and ESRI Imagery #9560

comperem opened this issue Jan 5, 2020 · 3 comments · Fixed by #9582


Copy link

@comperem comperem commented Jan 5, 2020


This issue is to initiate a pull request to add the following tile providers to the Bokeh file ./bokeh/

  • OpenStreetMaps map tile provider
  • Wikimedia / Wikipedia map tile provider (via OSM)
  • ESRI Imagery with satellite imagery

In my search for a Google Maps replacement, the current Bokeh has tile providers are a good start but the Stamen and Carto tiles do not provide a combination of:

  • ability for close zoom-in (map data not available)
  • detail at high zoom (it's just blank, or not descriptive)
  • satellite imagery

The OpenStreetMap data is an excellent map-style alternative and the ESRI Imagery tiles are excellent satellite image replacements. OSM is entirely open-source. Esri has generous open-source and open-data policies. Neither of these require api keys or registration, although responsible usage is, indeed, encouraged and enforced. Unusually high usage places a penalty on volunteer and donated hardware and network services.

But, for simple basemap overlays (underlays), prototyping for research purposes, or usage in other open-source projects, these two are outstanding.

Both of these tile providers, and others, are already integrated into PyViz, Holoviews, and GeoViews, all of which rely on Bokeh as an underlying library. Rather than adding layers (and moving to Anaconda package management) to access those map tile providers, it seems Bokeh could (should) have these maps available directly.

The screenshot at this link shows multiple failed or poorly displaying zoomed-in options from the fine work presented at the GeoViews page on working with Bokeh:

Marc Compere

@comperem comperem added the TRIAGE label Jan 5, 2020
Copy link

@bryevdv bryevdv commented Jan 7, 2020

@comperem This seems like a great addition, then. Do you think you could submit the PR to add new instances to bokeh.tile_providers?

@bryevdv bryevdv added this to the short-term milestone Jan 7, 2020
Copy link
Contributor Author

@comperem comperem commented Jan 13, 2020

Yes, certainly. The PR process is not entirely obvious. I've gotten ssh keys loaded into gitlab, was able to get a good authentication response from ssh -T, so that seems to be working.

I cloned the main bokeh repository with: git clone

Then made the necessary changes to

Then git add bokeh/,

Then git commit -a and ctrl-X with a descriptive string and git status says I'm ahead of origin/master by 1 commit.

It seems I'm ready for the git push -u origin master but I'm getting a permissions error:
ERROR: Permission to bokeh/bokeh.git denied to comperem.

Some how I skipped the pull-request process from the web interface. I'm not exactly sure where I went wrong.

Any ideas?

Copy link

@bryevdv bryevdv commented Jan 13, 2020

@comperem Almost there :) Instead of cloning the main repo (which you will not have permissions to push to) you need to first fork the repo in to your own GH account. If you look in the very upper right of the page there is a button to fork the repo. Once this is done, clone your fork, and push the change there (you will have permission to since the fork is in your account). Finally, on the main page:

There is a "New Pull Request" button where you can specify that you would like for us to pull changed from your fork into the master branch of this main repo. Let me know if I can elaborate on anything!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet

Successfully merging a pull request may close this issue.

2 participants