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

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

add tile providers for OpenStreetMap and ESRI Imagery #9560

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

Comments

@comperem
Copy link
Contributor

comperem commented Jan 5, 2020

Hello,

TL;DR
This issue is to initiate a pull request to add the following tile providers to the Bokeh file ./bokeh/tile_providers.py:

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

Background:
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

Licensing:
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.

Rationale:
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.

Example:
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:

https://discourse.bokeh.org/t/open-source-tile-provider-replacement-for-google-maps/4462

Marc Compere

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

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
@comperem
Copy link
Contributor Author

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 git@github.com, so that seems to be working.

I cloned the main bokeh repository with: git clone git@github.com:bokeh/bokeh.git

Then made the necessary changes to tile_providers.py.

Then git add bokeh/tile_providers.py,

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?

@bryevdv
Copy link
Member

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:

https://github.com/bokeh/bokeh

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
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants