gee-community / GEE-Dev-Docs

A collaborative platform for accessing and submitting Google Earth Engine tutorials.
https://gee-community.github.io/GEE-Dev-Docs
8 stars 5 forks source link

Support Jupyter Notebooks #6

Open tylere opened 5 years ago

tylere commented 5 years ago

Markdown tutorials are nice, but non-interactive. It would be nice to support Jupyter Notebooks, which could be rendered statically (examples: GitHub, Colab) or opened up in a users's local Jupyter environment (example: jupyterlab-github) or on a hosted Jupyter server (example: Open in Colab)

Relevant technologies:

guy1ziv2 commented 5 years ago

Colab is great, and I found it is very good tool for GEE & Python API. The difficulty is that most GEE users are using Javascript. Also, despite some progress - there isn't a really good way to show multi-layer maps, interactively zoom, allow creation of geometries such as region-of-interest or training set etc. The Earth Engine Code Editor is very convenient for newcomers.

slattery commented 5 years ago

Yes, I wish jupyter and node were better friends! I have a hello-world level test that works on observablehq, but there are some accommodations that need to be made to run the js there vs google's own env.

guy1ziv2 commented 5 years ago

I noticed some observablehq on GEE here https://beta.observablehq.com/collection/@donmccurdy/earth-engine but it doesn't look very clean way for users....

tylere commented 5 years ago

Here is an example of a project (TensorFlow) that accepts contributions as Markdown or Jupyter Notebooks: https://www.tensorflow.org/community/contribute/documentation

jdbcode commented 5 years ago

@tylere Thanks for sharing the TensorFlow example of community contributions. It certainly provides some good ideas. It looks like they use the same (or similar) rendering system as the GEE User Guide - do you know what it is? A couple of convenience links for later reference:

slattery commented 5 years ago

Correct Guy, my attempt forks @donmccurdy's - and you are right that for this use case observable doesn't seem to match up perfectly.

Observable has promise for GEE API use that takes place only in the browser. It does appear unsuitable for materials that need to have more cut-and-paste fidelity with what must be a nodejs based exec model in GEE's IDE.

I want to try runkit.com next to see if that can get us apples-to-apples. Has anyone tried it?

On Tue, Feb 26, 2019 at 3:21 PM Guy Ziv notifications@github.com wrote:

I noticed some observablehq on GEE here https://beta.observablehq.com/collection/@donmccurdy/earth-engine but it doesn't look very clean way for users....

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gee-community/GEE-Dev-Docs/issues/6#issuecomment-467598098, or mute the thread https://github.com/notifications/unsubscribe-auth/ABvpzodvalrsyHTXC4YJkugYZaAW0PhBks5vRZdSgaJpZM4bS9v7 .

guy1ziv2 commented 5 years ago

It can work, although I did not manage yet to put a visualization map see https://runkit.com/guy1ziv2/test-gee . This possibly can be embedded into tutorials see https://runkit.com/docs/embed and as it has a way to be created programmatically (see link), I imagine it would be possible to make a wrapper that puts the authorization and ee.initialize() code around the script?

Guy Ziv

On Mon, Mar 11, 2019 at 4:17 PM Mike Slattery notifications@github.com wrote:

Correct Guy, my attempt forks @donmccurdy's - and you are right that for this use case observable doesn't seem to match up perfectly.

Observable has promise for GEE API use that takes place only in the browser. It does appear unsuitable for materials that need to have more cut-and-paste fidelity with what must be a nodejs based exec model in GEE's IDE.

I want to try runkit.com next to see if that can get us apples-to-apples. Has anyone tried it?

On Tue, Feb 26, 2019 at 3:21 PM Guy Ziv notifications@github.com wrote:

I noticed some observablehq on GEE here https://beta.observablehq.com/collection/@donmccurdy/earth-engine but it doesn't look very clean way for users....

— You are receiving this because you commented. Reply to this email directly, view it on GitHub < https://github.com/gee-community/GEE-Dev-Docs/issues/6#issuecomment-467598098 , or mute the thread < https://github.com/notifications/unsubscribe-auth/ABvpzodvalrsyHTXC4YJkugYZaAW0PhBks5vRZdSgaJpZM4bS9v7

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gee-community/GEE-Dev-Docs/issues/6#issuecomment-471610790, or mute the thread https://github.com/notifications/unsubscribe-auth/AB_vO4VIuMnHT50gzA1rXuXR8Ga4vN5Hks5vVoG0gaJpZM4bS9v7 .