RGeo: ошибка proj4 не поддерживается?

Я новичок в работе с геопространственными данными и работаю с 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 

Я погуглил сообщение об ошибке, но не могу найти никаких ресурсов для решения этой конкретной проблемы. Любые идеи?


person dmanaster    schedule 23.05.2014    source источник
comment
Была ли у вас установлена ​​библиотека Proj4 при установке драгоценного камня RGeo? Если да, то в каком каталоге он находился?   -  person    schedule 23.05.2014
comment
Я не знал, что это существует как отдельная библиотека, пока не получил это сообщение об ошибке. Вы имеете в виду именно эту библиотеку? trac.osgeo.org/proj   -  person dmanaster    schedule 23.05.2014


Ответы (1)


Как сообщает ошибка, библиотека Proj4 не была установлена ​​во время установки RGeo gem.

По умолчанию RGeo ожидает, что библиотека Proj4 будет находиться в одном из следующих каталогов:

/usr/local
/usr/local/proj
/usr/local/proj4
/opt/local
/opt/proj
/opt/proj4
/opt
/usr
/Library/Frameworks/PROJ.framework/unix

Если вы устанавливаете его в другом месте, вам необходимо установить гем RGeo с параметром --with-proj-dir=/path/to/proj4/directory.

Я предлагаю вам gem uninstall rgeo установить Proj4 в один из каталогов по умолчанию, а затем снова gem install rgeo.

Вы можете найти сообщение об ошибке, которое вы получили, в верхней части метода projected_factory lib/rgeo/geographic/interface.rb. RGeo::CoordSys::Proj4.supported? в свою очередь ищет наличие метода _create. Это определяется подпрограммой C, основанной на установке библиотеки Proj4, поэтому библиотека должна присутствовать во время установки драгоценного камня, а не может быть добавлена ​​позже.

person Community    schedule 23.05.2014
comment
Есть еще несколько мест, где это выглядит сейчас, включая /usr/lib64 . - person tadman; 11.09.2014