2016-05-20 5 views
0

У меня есть геопространственные данные, хранящиеся в хранилище данных MongoDB, которое я хотел бы обслуживать через GeoServer, чтобы данные могли потребляться, хотя WFS, WMS и т. Д. Я был в состоянии для установки GeoServer и включения плагина gt-mongodb, который поставляется вместе с GeoTools, а также установить драйвер MongoDb для Java. После этого я смог использовать Mongo в качестве опции при добавлении хранилища данных. Однако после создания нового хранилища MongoDB я не могу создать новый векторный слой; Я продолжаю получать следующую ошибку: «невозможно создать векторный слой: null».Выполнение геопространственных данных в MongoDB через GeoServer

Вот что я делаю:

  • в разделе данных, я нажимаю «слои»
  • «добавить новый ресурс»
  • выбрать MongoDB магазин, который я создал из выпадающего списка
  • «создавать новые типы функций»
  • «добавить новый атрибут» и добавить несколько полей из моих данных
  • введите «имя типа» и нажмите «Сохранить».

Я как бы новый GeoServer и, несмотря на поиск во всех отношениях, о которых я могу думать, не смог найти документацию, относящуюся к плагину MongoDB для GeoServer. Мне сказали, что единственным другим вариантом, который у меня может быть, является создание моего собственного расширения MongoDB для GeoServer. Прежде чем идти по этому пути, я надеялся найти документацию по этому поводу или примеры того, как кто-то мог заставить его работать. Я ценю любую помощь в этом.

+0

Вы уверены, что загрузили правильную версию плагина в соответствии с вашей версией GeoServer? В противном случае посмотрите в файле журнала, чтобы узнать, что он говорит. –

+0

@iant, я использую gt-mongodb-9.4.jar с GeoServer 2.5.2. Насколько я могу судить, все должно быть в порядке. Вы видите какую-то проблему? – Sanjeev

ответ

0

В случае, если кто-то сталкивается с тем же вопросом, что и я, вот решение.

После копания кода плагина я понял, что плагин ожидает, что пара сохраненных функций javascript будет существовать на монго. Я нашел файлы javascript и инструкции по их установке в файле Jar. Однако даже после установки функций javacript это не сработало (я предполагаю из-за несовместимости между моей версией mongodb и тем, как драйвер вызывает эту функцию, но это в основном предположение. Я не слишком заглядывал в то, что корень проблемы, потому что я нашел рабочее решение, но я думаю, что это должно работать для версий mongodb до 2.4, или вам придется изменить драйвер.)

Хотя я рассматривал возможность изменения драйвера для работы в этом я узнал, что BoundlessGeo публикует драйвер, который новее и работает быстрее и проще в использовании.

Ниже приведено репортаж github: https://github.com/boundlessgeo/geoserver-exts для geoserver-exts. Инструкция находится на readme, но в основном вы «git clone», а затем выполняете «mvn install» и строят драйверы для вас (флешка драйвера должна выглядеть примерно так: gt-mongo-15-SNAPSHOT.jar).

Инструкцию по установке можно найти здесь: https://github.com/boundlessgeo/suite/blob/master/docs/usermanual/source/dataadmin/mongodb/store.rst#id19.