-
Notifications
You must be signed in to change notification settings - Fork 0
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
discussion on the content of this repository #2
Comments
The geemap.core module is lightweight version of geemap. What do you mean by rewriting addLayer and centerObject functions? We can easily make them available in the core module as well. https://github.com/gee-community/geemap/blob/master/geemap/core.py |
sure I meant that at the moment when you load the |
All widgets on the map are customizable. They can be toggled off during map initialization. Like this: m = geemap.Map(data_ctrl=False, toolbar_ctrl=False, draw_ctrl=False) |
Or geemap.Map(lite_mode=True), which only contains the zoom control. |
I didn't know about the lite mode which is exactly what I expected: "opt-in" the controls I want to see instead of the original "opt-out" |
Or using the core module, which is very minimal. Try it out and let me know what widgets you want or don't want on the map. We should be able to make those customizable and be toggled on/off easily. In general, we should avoid duplicating the work. That would make more work for you to maintain the package import geemap.core as geemap |
to me the minimal version should look like a vanilla ipyleaflet (only the zoom and copyright controls) |
Correct. The core module is co-developed and maintained by the GEE team. Additional widgets and be added as needed. Users can build upon the core without duplicating the essential features, making it easier to maintain |
You can propose in the geemap repo to allow opt-in controls. It should be relatively easy to implement |
But my point was to externalize it here outside from
similar to what Instead of having |
Understood, but I think it would be better to have a single minimal version for map widget rather than duplicating the work. The geemap.core is designed for that. Geemap can't depend on ipygee if ipygee has its own map widget because geemap can't utilize it |
why cound't you depend on ipygee if it's a transfer of geemap.core ? (that's what I meant by extraction) |
The geemap Map class depends on the geemap.core Map class. Keep in mind that the core module also depends on several other modules in geemap. Of course, you can duplicate all those modules in ipygee, but they will just create extra work for you to keep synced with those in geemap. If ipygee has its own Map class, that means geemap's Map class can't utilize it. Of course, geemap can still utilize other non-map functionality in ipygee. If both geemap and ipygee have their own map widgets, then users will have to choose either the geemap map or ipygee map. |
Ok got it, I need to dive deeper in the core module to better understand how intricate it is with geemap itself. In the meantime can I start working on the task manager and the asset crawler ? |
Sure. These are great features. Looking forward to it |
Tagging relevant individuals for distribution: @giswqs, @jdbcode, @fitoprincipe, @gena, @dfguerrerom.
Following discussions with both @giswqs and @jdbcode during G4G, I propose an initiative to extract the essential ipywidgets-based interactions from
geemap
and house them in a separate repository. This proposal stems from the current scenario where anyone intending to create a new library based on theMap
object is faced with the dilemma of either rewriting all key functions from scratch (e.g.,addLayer
,centerObject
) or resetting the map during instantiation. An illustrative case is found insepal-ui
, where we follow this approach.There is also a secondary use case where someone may require only a
Map
or a specific key widget rather than the completegeemap
package.Planned Actions:
earthengine-api
andgee_tools
for static computations (note thatgee_tools
will soon incorporate matplotlib outputs using the same data as any interactive plotting library).geemap
.sepal-ui
.ipygee
.I was thinking about the following structure (all being available directly from
ipygee
:A quick note for @fitoprincipe : I've made an earnest effort to adapt the original
ipygee
code, but it's proving to be an exceedingly labor-intensive task. Do you concur with the idea of moving forward with this new repository, which will be linked to my 'copier'pypackage
? Regardless of what portions I borrow from your code, I'll manually credit you as a contributor in the commits for proper acknowledgment.I'm eager to hear your thoughts on this, and please do inform me if you believe more individuals should join this discussion.
The text was updated successfully, but these errors were encountered: