我不熟悉使用地理空间数据并正在使用Rails RGeo gem。我在rails控制台中收到以下错误:
> geo_shape = ES_Zone::FACTORY.parse_wkt
RGeo::Error::UnsupportedOperation: Proj4 is not supported because the proj4 library was not found at install time.
当我测试是否支持proj4时,它可以预测会返回为假。
> RGeo::CoordSys::Proj4.supported?
=> false
我用Google搜索了错误消息,但我找不到任何有关此特定问题的资源。有什么想法吗?
答案 0 :(得分:5)
如错误所示,在安装RGeo gem期间未安装Proj4 library。
默认情况下,RGeo期望Proj4库位于以下目录之一:
/usr/local
/usr/local/proj
/usr/local/proj4
/opt/local
/opt/proj
/opt/proj4
/opt
/usr
/Library/Frameworks/PROJ.framework/unix
如果您将其安装在其他地方,则需要使用选项--with-proj-dir=/path/to/proj4/directory
安装RGeo gem。
我建议您gem uninstall rgeo
,将Proj4
安装到其中一个默认目录,然后再安装gem install rgeo
。
您可以在projected_factory
lib/rgeo/geographic/interface.rb
方法的顶部找到您收到的错误消息。 RGeo::CoordSys::Proj4.supported?
反过来查找是否存在_create
方法。这是由基于C
库安装的Proj4
例程定义的,这就是在安装gem时需要存在库的原因,不能稍后添加。