Git Product home page Git Product logo

Comments (6)

zigaLuksic avatar zigaLuksic commented on July 3, 2024 1

I do agree, and these are my thoughts on the situation:

  1. 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
  2. we very rarely use xarray so we never felt the need for such a converter, while pandas 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"
  3. 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.

zigaLuksic avatar zigaLuksic commented on July 3, 2024

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.

idantene avatar idantene commented on July 3, 2024

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.

idantene avatar idantene commented on July 3, 2024

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.

zigaLuksic avatar zigaLuksic commented on July 3, 2024

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.

mlubej avatar mlubej commented on July 3, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.