GeoDaCenter / spatial_access

https://spatial.uchicago.edu
37 stars 11 forks source link

Investigate removing libspatialindex dependency #36

Closed lmnoel closed 5 years ago

lmnoel commented 5 years ago

geopandas spatial join requires installation of libspatialindex by brew/apt-get. Try to find an alternative implementation of spatial joins to simplify installation

jkoschinsky commented 5 years ago

from Xun: GeoDa uses boost::rtree and libgeos(via gdal/ogr) for parallel spatial joins in case that's helpful

On Sat, 9 Feb 2019 at 18:06, Logan Noel notifications@github.com wrote:

geopandas spatial join requires installation of libspatialindex by brew/apt-get. Try to find an alternative implementation of spatial joins to simplify installation

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/GeoDaCenter/spatial_access/issues/36, or mute the thread https://github.com/notifications/unsubscribe-auth/ANC8f2IWamWhAECcrKAy_LjJI1NDkZLyks5vL2KVgaJpZM4ayzyI .

lmnoel commented 5 years ago

Unfortunately I don't think that would help--the problem is that my current solution requires installing a library with a system package manager (aka outside of python)--relatively much more complicated than pip installing. Boost and GDAL have the same problem, as far as I know--although please let me know if I'm wrong

lixun910 commented 5 years ago

@lmnoel I see you are dynamic linking protobuf library, which is also required to be installed outside of python. Can you install libspatialindex with libprotobuf?

Another way is to implement spatial join from scrach if you only do points-n-polygon spatial joining: there are many headers only R-tree for spatial join, and you just need to add points-n-polygon detection code.

lmnoel commented 5 years ago

@lixun910 Actually in the process of removing protobuf right now, trying to eliminate the need for all non-standard libraries.

I will definitely look in to implementing it from scratch if nothing better comes up