问题描述
我正在尝试使用RGeo
gem在Ruby中进行一些空间操作.不幸的是,很多操作都需要GEOS
库,而且我找不到任何文档说明如何在Windows中集成它(我使用的是Windows 7 64bit).
I'm trying to do some spatial operations in Ruby with the RGeo
gem. Unfortunately, a lot of operations require the GEOS
library and I can't find any documentation showing how to integrate this in Windows (I am using Windows 7 64bit).
我尝试从 http://trac.osgeo.org/下载并安装GEOS
的Windows二进制文件. osgeo4w/并通过gem install rgeo -- --with-geos-dir="C:\OSGeo4W64\bin
重新安装RGeo
gem(<<在此目录中有一个文件geos_c.dll
).
I tried downloading and installing the Windows binaries of GEOS
from http://trac.osgeo.org/osgeo4w/ and reinstalling the RGeo
gem via gem install rgeo -- --with-geos-dir="C:\OSGeo4W64\bin
(<< in this directory there is a file geos_c.dll
).
仍然使用RGeo::Geos.supported?
返回false
.
有人知道如何解决这个问题吗?
Does anybody know how to solve this?
推荐答案
对于其他想要这样做的人-这里有一些有关如何使其工作的提示.
For anyone else looking to do this - here are some tips as to how I got it working.
- install GEOS Windows binaries by following the link from http://trac.osgeo.org/geos/ (I have Ruby 32 bit version, so I went for the 32 bit version)
- you should now be able to find a file geos_c.dll in
C:\OSGeo4W\bin
- set a Windows environment variable
ENV['GEOS_LIBRARY_PATH']
to beC:\OSGeo4W\bin
- check at this point to make sure that ENV variable is there - maybe restart your PC!
- in your Gemfile, add
gem 'ffi-geos'
andgem 'rgeo'
and bundle install - in your Ruby file, remember to
require 'ffi-geos'
andrequire 'rgeo'
(in that order) - use
factory = RGeo::Geos.factory(:native_interface => :ffi)
- notRGeo::Cartesian.factory
- check
RGeo::Geos.supported?
as Dirk said
这篇关于Windows下在Ruby上的RGeo:如何启用GEOS支持?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!