Skip to content
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

Any plans on providing pip and/or conda packages? #6

Open
theroggy opened this issue Mar 21, 2023 · 9 comments
Open

Any plans on providing pip and/or conda packages? #6

theroggy opened this issue Mar 21, 2023 · 9 comments

Comments

@theroggy
Copy link

Am I correct that the library isn't available at the moment as pip or conda package?

If this is the case, are there any plans to do so?

Regards,
Pieter

@kempenep
Copy link
Collaborator

Hi Pieter,

Yes, that is the case. I plan to do so, but have not found the time yet. I think it would take some time as I am not sure how easy it is with the dependency C/C++ libraries jiplib and miallib. Especially miallib might not be straightforward, as it is not based on cmake.
Let me know if you would need some help with the current installation process of these dependencies , or willing to contribute to create a pip or conda package ;-)

Pieter.

@theroggy
Copy link
Author

Yes, that is the case. I plan to do so, but have not found the time yet. I think it would take some time as I am not sure how easy it is with the dependency C/C++ libraries jiplib and miallib. Especially miallib might not be straightforward, as it is not based on cmake. Let me know if you would need some help with the current installation process of these dependencies , .

To be honest, I haven't tried yet. I haven't programmed in C/C++ in 10+ years, so even just getting it compiled might be a pain for me. And then the next step... getting it deployed in our test/production environments (I'm working in a large organization ;-)) will be even more difficult.

Some background why I'm reaching out: I'm looking for a fast implemention of zonal_stats, so I'm in the process of comparing the performance of the different implementations I find... So my only first step would be to test the performance of my test case, and if pyjeo would be significantly faster than other implementations it would be great to be able to use it.

or willing to contribute to create a pip or conda package ;-)

For pyjeo, as it is in python, I'm definitely willing to give a hand, for the dependencies I'm afraid I'm not qualified :-(...

@kempenep
Copy link
Collaborator

Interesting topic, this benchmarking of the zonal stats methods.
I agree, the C/C++ library dependencies would be the challenging part. Hopefully, I will get to it some time.

@pesekon2
Copy link
Contributor

Giving it a thumb to support the idea of pyjeo pip wheels.

@theroggy: Actually, if you don't mind docker images, you can try the Deb11 based one in the docker directory. Maybe it could be sufficient for your performance tests unless you do some magic with resources.

@theroggy
Copy link
Author

theroggy commented Mar 23, 2023

Interesting topic, this benchmarking of the zonal stats methods. I agree, the C/C++ library dependencies would be the challenging part. Hopefully, I will get to it some time.

For information, here you can see the results of a few tests I already did:
https://github.com/geofileops/geobenchmark/blob/main/results_zonalstats/GeoBenchmark.png

The test I'm currently using is calculating the zonal stats for 5.000 parcels on a 10mx10m pixel size image of the flemish region in Belgium for 1 band in one thread. For my uses multi-band is more appropriate, but...
Eg.: the test with rasterstats: https://github.com/geofileops/geobenchmark/blob/main/benchmarks_zonalstats/benchmarks_rasterstats.py

So, QGIS looks very good performance-wise, it's just a pity that the processing tools aren't properly packaged seperately (as far as I know) which makes the installation and use on a server at least not super elegant at first sight.

@theroggy
Copy link
Author

@theroggy: Actually, if you don't mind docker images, you can try the Deb11 based one in the docker directory. Maybe it could be sufficient for your performance tests unless you do some magic with resources.

I haven't really used docker images yet, but I've been planning to look into it for a long time already... so this may be as good a reason as any to dive into it ;-)... if I find the time to do so. Good idea!

@theroggy
Copy link
Author

theroggy commented Mar 23, 2023

I had another look at installation options for qgis, and apparently there is a conda package for installation. I had a go with it and it workd fine, so the manuel test I did before as a benchmark is now replaced with an automated test using pyqgis...

@kempenep
Copy link
Collaborator

kempenep commented Nov 1, 2023

@theroggy I had a look at your benchmark, great initiative. I created a fork and adapted the code for zonal statistics with pyjeo. Performance is not as good as qgis, but still better than the other packages (see results). The code is multi-threaded (see results for 1 - 4 threads).
If it is fine for you, I could create a pull request for your repository?

@theroggy
Copy link
Author

theroggy commented Nov 1, 2023

Nice. A PR is very welcome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants