如何使用原生Ruby绑定安装GEOS? GEOS是java拓扑结构的C++端口。它支持几何图形和地理空间处理,是PostgreSQL的PostGIS下的库。我想直接在Ruby中使用它,而不是在PostGIS中,而且我知道有原生Ruby绑定,但是在线文档很少,而且安装有缺陷。如何在启用Ruby绑定的情况下安装GEOS?1。编译并安装Swig
Ubuntu MacOSX 下载并解包。在解包目录中:如何使用原生Ruby绑定安装GEOS? GEOS是java拓扑结构的C++端口。它支持几何图形和地理空间处理,是PostgreSQL的PostGIS下的库。我想直接在Ruby中使用它,而不是在PostGIS中,而且我知道有原生Ruby绑定,但是在线文档很少,而且安装有缺陷。如何在启用Ruby绑定的情况下安装GEOS?1。编译并安装Swig,ruby,geometry,geospatial,postgis,geos,Ruby,Geometry,Geospatial,Postgis,Geos,Ubuntu MacOSX 下载并解包。在解包目录中: ./configure --without-pcre make && sudo make install ./configure --enable-ruby 或者使用brew安装 2.下载和配置GEOS 下载并解包。在解包目录中: ./configure --without-pcre make && sudo make install ./configure --enable-ruby 查找显示Swi
./configure --without-pcre
make && sudo make install
./configure --enable-ruby
或者使用brew安装
2.下载和配置GEOS
下载并解包。在解包目录中:
./configure --without-pcre
make && sudo make install
./configure --enable-ruby
查找显示Swig:true和Ruby绑定:true的状态行
3.编译和安装GEOS
尝试编译并安装:
make && sudo make install
如果结束时未找到-llibruby.2.0.0.dylib的错误库,则这是由于GEOS当前版本3.4.2中的错误造成的。运行以下命令修复配置文件:
然后返回到步骤2
4.建立链接
在Ruby中使用require'geos'之前,您需要确保库已正确链接。安装目录出现在sudo make install的输出中
Ubuntu
默认安装目录是usr/local/lib
在执行Ruby进程之前,将安装目录添加到LD_LIBRARY_路径
每当运行Ruby可执行文件时,都需要设置此环境变量,因此您可能希望将其添加到bash概要文件中
MacOSX
.so文件的默认安装目录类似于/Library/Ruby/Site/2.0.0/universal-darwin13
RubyonMacOSX需要一个.bundle文件,因此我们创建一个指向.so文件的符号链接
这只需要在安装时运行,就可以永远启用Ruby GEOS绑定
5.用Ruby加载GEOS
如果已正确链接到库,则应该能够使用require'geos',并且看不到任何错误
$ irb
>> require 'geos'
=> true
我知道有一个叫做ffi geos的gem,但我问了这个问题,所以我可以用一个可靠的过程来回答它,从源代码安装本机绑定。
$ cd /Library/Ruby/Site/2.0.0/universal-darwin13
$ sudo ln -s geos.so geos.bundle
$ irb
>> require 'geos'
=> true