Comments (7)
@philss @cigrainger After much research and cooperation from community members, steps are beginning to be taken to resolve this issue. Initially I opened this discussion, pola-rs/polars#1830 , but finally Kyle Barron shed light on how to incorporate geospatial analysis into polars, here is a new library that promises if we support it and that we can integrate it into explorer in the future. It is based on georust ecosystem libraries and algorithms are perfectly integrated
https://github.com/kylebarron/geopolars
from explorer.
I know this is not related to the feature request, but I want to add this just as reference for people that want to work with Geospatial data in the Elixir ecosystem today: if you are using Livebook, you can work with GeoJSON and TopoJSON (a subset of GeoJSON) through VegaLite.
The only problem is that you may need to convert the data from other formats to these formats.
I made a small study using those tools here: philss/brazil-in-notebooks#1 👉 Run in Livebook
from explorer.
Excellent work!,
I am trying to integrate some functionalities of the georust ecosystem into an elixir NIF library in order to be used with spatial data, especially related to the gdal library that would allow working with a great variety of geographic data, both raster and vector.
Maybe you don't like the idea of using Rust very much, but there are more advances in this field than in elixir, in addition to the performance in some operations that demand calculation power
from explorer.
Oh very interesting! This is far outside my wheelhouse but absolutely seems like a good idea. My understanding is that it might be worthwhile to implement the Simple Features Standard. https://en.wikipedia.org/wiki/Simple_Features.
This is where the reliance on a Rust library wholesale becomes quite hairy. I think it would need to be approached way upstream with Polars, with respect to maybe the GeoRust ecosystem.
I'll give this some thought.
from explorer.
I have been investigating the georust ecosystem a bit and it seems to me a good option, to carry geopandas you need management of projections, reading of different raster and vector formats and conversions between them, management of geometries and all those functionalities exist within their libraries, It would only be necessary to integrate them into the Polars or maybe create a packages in elixir as a first step.
from explorer.
@roger120981 thank you!
I am trying to integrate some functionalities of the georust ecosystem into an elixir NIF library in order to be used with spatial data, especially related to the gdal library that would allow working with a great variety of geographic data, both raster and vector.
Cool! Please share with us when you have something.
Maybe you don't like the idea of using Rust very much, but there are more advances in this field than in elixir, in addition to the performance in some operations that demand calculation power
I prefer to use Elixir when possible, but I agree that a NIF in Rust for this is a good idea. Specially if they have a complete set of tools for this field. Although we have some tools in Elixir like Geo that can be used for some tasks without problems.
Just be aware of some limitations of NIFs. Even if they are written in Rust, you can have some drawbacks.
from explorer.
@philss Thanks for the observation.
from explorer.
Related Issues (20)
- Add support for log and exp operations in DF.mutate HOT 5
- Support returning infinity and nan from aggregation functions
- Allow summarize to work without groups
- Allow stable sorting to be turned off HOT 1
- RFC: Rename functions from_ndjson and load_ndjson HOT 1
- Improvements to categorical to series Rust implementation
- Series.and/2 and Series.or/2 behaviours HOT 1
- Use of `..` nullary operator in Release 0.5.3 introduced Elixir 1.4 dependency
- ISO 8601 DateTime format with timezone info can't be parsered HOT 5
- Allow diff of date and datetime series HOT 20
- DataFrame.iter_rows method? HOT 3
- libexplorer-v0.5.6-nif-2.16-aarch64-apple-darwin.so nif panic HOT 6
- Min not working for datetime[NS] HOT 4
- Largish CSV hangs on from_csv/load_csv HOT 8
- Return {:error, string} instead of {:error, {:polars, string()}} HOT 3
- [idea] Allow pivot_wider on categorical values HOT 12
- load_csv for a single-column csv drops the first row if nil (nit) HOT 1
- Missing Window Functions from Polars HOT 6
- AVX support HOT 1
- Support relocating columns
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 explorer.