如何在Bluemix上匀称安装?

时间:2015-12-03 21:07:52

标签: geospatial ibm-cloud pyspark shapely

我有一些现有的iPython代码,用于匹配多边形中的点:

现在,我正在尝试将代码移植到Bluemix上的pyspark(版本1.4)

运行以下行失败:

!pip install --user shapely

错误消息显示为:

Collecting shapely
  Using cached Shapely-1.5.13.tar.gz
    Complete output from command python setup.py egg_info:
    Failed `CDLL(libgeos_c.so.1)`
    Failed `CDLL(libgeos_c.so)`
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "/tmp/pip-build-ylMKmC/shapely/setup.py", line 38, in <module>
        from shapely._buildcfg import geos_version_string, geos_version, \
      File "shapely/_buildcfg.py", line 167, in <module>
        fallbacks=['libgeos_c.so.1', 'libgeos_c.so'])
      File "shapely/_buildcfg.py", line 161, in load_dll
        libname, fallbacks or []))
    OSError: Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so']

显然存在对Geos C库的依赖。现在,我不知道是否可以安装Geos C或前进的方式。

所以我真正的问题是,在pySpark中对地理空间数据进行多边形匹配的点的最佳方法是什么?任何经历?

谢谢

/亨里克

1 个答案:

答案 0 :(得分:1)

这就是如何在正确的路径中获取地理库以进行形状安装:

wget http://download.osgeo.org/geos/geos-3.5.0.tar.bz2

tar jxf geos-3.5.0.tar.bz2

cd geos-3.5.0 && ./configure --prefix=$HOME/geos-bin && make && make install

sudo cp /home/hadoop/geos-bin/lib/* /usr/lib

sudo /bin/sh -c 'echo "/usr/lib" >> /etc/ld.so.conf'

sudo /bin/sh -c 'echo "/usr/lib/local" >> /etc/ld.so.conf'

sudo /sbin/ldconfig

sudo /bin/sh -c 'echo -e "\nexport LD_LIBRARY_PATH=/usr/lib" >> /home/hadoop/.bashrc'

source /home/hadoop/.bashrc