Windows下的Ruby RGeo:如何启用GEOS支持?

时间:2014-03-10 10:05:35

标签: ruby windows-7-x64 geos rgeo

我正在尝试使用RGeo gem在Ruby中执行一些空间操作。不幸的是,很多操作需要GEOS库,我找不到任何文档显示如何在Windows中集成它(我使用的是Windows 7 64位)。

我尝试从http://trac.osgeo.org/osgeo4w/下载并安装GEOS的Windows二进制文件,并通过RGeo重新安装gem install rgeo -- --with-geos-dir="C:\OSGeo4W64\bin gem(<<在此目录中有一个文件geos_c.dll)。

仍然使用RGeo::Geos.supported?返回false

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

对于任何想要这样做的人 - 这里有一些关于我如何运作的提示。

  • 按照http://trac.osgeo.org/geos/的链接安装GEOS Windows二进制文件(我有Ruby 32位版本,所以我选择了32位版本)
  • 您现在应该可以在C:\OSGeo4W\bin
  • 中找到文件geos_c.dll
  • 将Windows环境变量ENV['GEOS_LIBRARY_PATH']设置为C:\OSGeo4W\bin
  • 此时检查以确保ENV变量在那里 - 也许重启你的电脑!
  • 在您的Gemfile中
  • ,添加gem 'ffi-geos'gem 'rgeo'并捆绑安装
  • 在您的Ruby文件中
  • ,请记住require 'ffi-geos'require 'rgeo'(按此顺序)
  • 使用factory = RGeo::Geos.factory(:native_interface => :ffi) - RGeo::Cartesian.factory
  • 按照Dirk所说的那样检查RGeo::Geos.supported?