Skip to content(if available)orjump to list(if available)

JupyterGIS breaks through to the next level

erremerre

I don't see any advantage working on JupyterGIS over working in QGIS.

tasuki

> Collaborative GIS Environment: Work together on geographic data projects in real-time.

What does this mean? How is it collaborative in real-time? (I don't even know how Jupyter is collaborative... as in, several people can open a Jupyter Notebook and make changes simultaneously, and things don't break for either of them?)

sph

Yes, Jupyterlab has a collaboration extension.

I've spent the past month writing a HTTP+WebSocket proxy to be used with Jupyterlab for an ESA-adjacent company, and spent a good deal of time trying to make the collaboration system work behind this proxy.

That said, I don't think my contribution is at all related to this post.

lou1306

I guess things might get nasty when you try to _run_ simultaneously, unless they actually have implemented a CRDT for the whole notebook state (it would still be nasty from a usability POV, but at least it would be consistent). Just writing on the notebook would work just as any other collaborative editor out there, I expect.

arjxn-py

You can try JupyterGIS live on this deployment powered by JupyterLite - https://jupytergis.readthedocs.io/en/latest/lite/lab/

tasuki

Ok, you link to a deployment, and also the docs say this:

> Collaborative GIS Environment: Work together on geographic data projects in real-time.

How does that work? I can apparently make changes to the files, and even save them, but then my changes are gone when I reload it. Where were the changes saved? This is exactly what I'm wary of when using Jupyter...

skissane

> How does that work? I can apparently make changes to the files, and even save them, but then my changes are gone when I reload it. Where were the changes saved? This is exactly what I'm wary of when using Jupyter...

The GP linked to JupyterLite, which is browser-based Jupyter based on WebAssembly...

Then there is JupyterLab which runs on your own machine, or on a server somewhere (e.g. a K8S pod)...

And then there are options like JupyterHub and Kubeflow which start K8S pods for you dynamically to run JupyterLab in...

So "where is my data stored" all depends on how Jupyter is deployed... at the moment, when I use Jupyter, I'm mainly using it running inside a Docker container which in turn runs inside a K8S pod (weird way of deploying it, but I have my reasons)... and then the notebooks are stored in a volume (PVC) attached to the K8S pod (statefulset actually), but that's just temporary storage while I work on them, anything I want to keep permanently is put in Git and pushed to our corporate Git host... and then our actual datasets are mostly on S3 (or something else which speaks the S3 protocol)

rossant

Looks great! What visualization backend is used? Is it GPU accelerated?

arjxn-py

JupyterGIS uses OpenLayers as its visualization backend. It runs entirely in the browser and supports GPU-accelerated rendering through WebGL when available

TheChaplain

Question from the ignorant, how does this relate to OpenStreetMap?

gorbypark

This seems to be a Python based Jupiter notebook (style?) thing for collaboratively working with GIS data/visualizations.

OpenStreetMap is a project to "map the world". In the end, OpenStreetMap provides data (and map tiles) for other things to use.

Going out on a limb (since I haven't used it) but JupyterGIS can probably make use of OSM data, along with other data sources.

harvey9

Osm is a database (in the Wikipedia sense not the Postgres sense). You will be able to use osm data in this tool.

pastage

Openstreetmap is not mentioned anywhere in the JupyterGIS repo [1]. As is mentioned OSM data can be used anywhere.

[1] https://github.com/search?q=repo%253Ageojupyter%252Fjupyterg...

arjxn-py

JGIS builds on OpenStreetMap and other open geospatial data sources as basemaps or overlays. JupyterGIS itself is a Jupyter-based interface for working with GIS data—so you can visualize, query, and process OSM or any other data directly from notebooks alongside Python tools like GeoPandas.