QuantStack / jupytergis

JupyterGIS
BSD 3-Clause "New" or "Revised" License
15 stars 5 forks source link

Allow for creating tile layers #6

Closed martinRenou closed 1 week ago

martinRenou commented 2 weeks ago

Defining basic tile layers.

To do:

https://github.com/QuantStack/jupytergis/assets/21197331/33e73751-dd75-4a10-8fc4-c7ad5cb0364c

github-actions[bot] commented 2 weeks ago

Binder :point_left: Launch a Binder on branch _martinRenou/jupytergis/tilelayerschema

davidbrochart commented 2 weeks ago

QGIS's power lies for a big part in its plugin system. One of the most popular QGIS plugins is QuickMapServices (over 5M downloads), which allows adding basemaps and geoservices. If we're going to model JupyterGIS after QGIS, shouldn't we start adopting the same plugin architecture?

davidbrochart commented 2 weeks ago

FWIW, Felt has a QGIS plugin which allows to export QGIS projects to new maps in felt.com. Maybe that's something we should look at.

martinRenou commented 2 weeks ago

@davidbrochart thanks for commenting this. I don't think it's related to this PR though. Could you open issues with your comments?

davidbrochart commented 2 weeks ago

What I mean is that this PR is taking a direction which already diverges from the QGIS model. Shouldn't we first discuss these architectural questions?

martinRenou commented 2 weeks ago

What I mean is that this PR is taking a direction which already diverges from the QGIS model

How does this PR in particular diverges from the QGIS model?

power lies for a big part in its plugin system. One of the most popular QGIS plugins is QuickMapServices (over 5M downloads), which allows adding basemaps and geoservices

This is perfectly fine, and I believe we'll be able to achieve the same kind of designs thanks to the lumino plugin system

FWIW, Felt has a QGIS plugin which allows to export QGIS projects to new maps in felt.com

Yes definitely, it's part of the plan to support importing .qgis xml files. We've done something similar with JupyterCAD and freecad with https://github.com/jupytercad/jupytercad-freecad

But again I don't think any of this is related to this PR in particular. This PR merely adds simple tile layers support in the .jgis format.

davidbrochart commented 2 weeks ago

OK, I guess I was confused by the JGIS/QGIS split, where QGIS projects can be imported to JGIS, and JGIS projects can be exported to QGIS. But JupyterGIS won't directly work on QGIS projects, right? Maybe we could set up a test suite that will check that a QGIS project is importable in JGIS, and a JGIS project is exportable to QGIS, where applicable?

martinRenou commented 2 weeks ago

But JupyterGIS won't directly work on QGIS projects, right?

Right. The plan is to have our own JSON-based format so that's easy to use for collaboration.

Maybe we could set up a test suite that will check that a QGIS project is importable in JGIS, and a JGIS project is exportable to QGIS, where applicable?

Yes we should definitely do that 👍🏽

Also we probably want to start implementing the interface between QGIS/JGIS early so that we make the proper decisions on the JGIS format.

Concerning the plugin system, it's also part of the plan to implement an equivalent of the plugin https://enmap-box.readthedocs.io/en/latest/general/about.html, probably shipped as a plugin to jupytergis.