Comments (6)
I do agree, and these are my thoughts on the situation:
- if such features exist, they shouldn't be hidden away in visualization utilities. One should also be mindful of dependencies,
eolearn
is already far from slim - we very rarely use
xarray
so we never felt the need for such a converter, whilepandas
does not scale well (our projects frequently span several petabytes). So large part of the answer is "we never implemented this because we didn't really need it" - While eopatches and xarrays might be a bit similar, eopatches and dataframes use a very different approach. This does not mean such conversions are not possible or not useful, it is just that they are non-canonical, and there is no inherently 'right' approach for this. To showcase some of this problem, imagine you have an eopatch with a temporal feature and one timeless feature. Should this result in two separate dataframes? Do we inflate the timeless feature to be a temporally-constant one and include it in the dataframe? it really depends on what you need it for.
So at this point we consider such converters to be the responsibility of the users, because we do not have enough insight on what the 'right' conversion would be. But if such features become more sought after, we will consider adding them.
from eo-learn.
Hi @idantene
I assume you are talking about the function that converts eopatches to xarray datasets?
It was used only in the hvplot
-backend visualization, which broke during the last two years (and we weren't able to fix it). With the addition of the matplotlib
-backend for visualization we decided to abandon the old approach in version 1.4.0 (see note about hvplot backend being removed).
Since then xarray
should also no longer be a dependency of any kind.
from eo-learn.
That makes sense, thanks for the recap!
Wouldn't you agree though that such conversion methods benefits the eolearn package as a whole, providing streamlined interoperability with pandas and xarray, which are core tools in the data scientist tool box?
from eo-learn.
I understand - thanks again for the detailed answer!
One point of interest, if I may still, is that xarray offers its own conversion methods to DataFrames. To me, that suggests that eolearn can potentially support a conversion method to xarray, and ignore the pandas conversion, since it's available in xarray and has its own "native" answer to the uncertainties you raised in (3).
We anyway ended up lifting the code from 1.3.1 for this conversion in the meantime.
from eo-learn.
One point of interest, if I may still, is that xarray offers its own conversion methods to DataFrames. To me, that suggests that eolearn can potentially support a conversion method to xarray, and ignore the pandas conversion, since it's available in xarray and has its own "native" answer to the uncertainties you raised in (3).
Sadly xarray is the problematic one, since it brings in an extra dependency. But might be worthwhile if there is a need for it.
We anyway ended up lifting the code from 1.3.1 for this conversion in the meantime.
Probably the easiest solution for now. Even if we decide to add something like this, it could take a while :)
from eo-learn.
Closing for now, as there is no plan in the near future to tackle this and users are encouraged to make they own solution which suits their specific needs.
from eo-learn.
Related Issues (20)
- [BUG] ImportError: cannot import name 'PointSamplingTask' from 'eolearn.geometry' HOT 5
- SI_LULC_pipeline notebook HOT 9
- readthedocs links not working HOT 1
- [FEAT] Enable timestamp filtering from interval end towards interval start HOT 5
- [BUG] SentinelHubInputTask downloads incorrect timestamps HOT 6
- [BUG] Issue with the SpatialResizeTask in ImportTiffPipeline when using the resolution approach HOT 5
- [BUG] eo-learn installation issue due to open-cv latest update on Dec 30, 2022. HOT 2
- Registration HOT 4
- [BUG] Failing tests on MacOS related to lock-related EOExecutor tests HOT 1
- [BUG] Reading EOPatches saved with eo-learn 0.10.1 with eolearn 1.4 HOT 2
- [FEAT] TDigestTask handle nans HOT 1
- [HELP] Error when I'm trying to run land-cover-map HOT 5
- [HELP] Perform sen2cor atmospheric correction on L1C EOPatch HOT 2
- [HELP] Using eo-learn for the classification of land surface types of Ukraine HOT 23
- Why I have problems with these imports? HOT 3
- ExecutableNotFound: failed to execute WindowsPath('dot'), make sure the Graphviz executables are on your systems' PATH HOT 3
- how do i fix this HOT 2
- CRSError in rasterio when using ExportToTiffTask HOT 6
- `eo-learn` 1.5.0 migration guide
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eo-learn.