通过 GeoServer 在 MongoDB 中提供地理空间数据
Serving Geo-spacial data in MongoDB through GeoServer
我将地理空间数据存储在 MongoDB 数据存储中,我想通过 GeoServer 提供这些数据,以便可以通过 WFS、WMS 等使用数据。我能够安装GeoServer 并放入与 GeoTools 打包在一起的 gt-mongodb 插件,并为 Java 安装 MongoDb 驱动程序。这样做之后,我可以在添加数据存储时将 Mongo 作为一个选项。但是,在创建新的 MongoDB 存储后,我无法创建新的矢量图层;我继续收到以下错误:"could not create vector layer: null".
这是我正在做的事情:
- 在数据部分下,我单击 "layers"
- "add new resource"
- select 我从下拉列表中创建的 mongodb 商店
- "create new feature types"
- "add new attribute" 并从我的数据中添加几个字段
- 输入 "type name" 并点击保存。
我是 GeoServer 的新手,尽管以我能想到的所有方式进行搜索,但仍无法找到与 GeoServer 的 MongoDB 插件相关的文档。有人告诉我,唯一的其他选择可能是为 GeoServer 编写自己的 MongoDB 扩展。在我走那条路之前,我希望能找到一些关于这个的文档或示例如何让它工作。感谢您对此提供的任何帮助。
万一有人遇到和我一样的问题,这里有一个解决方案。
在深入了解插件代码后,我意识到该插件需要一些存储的 javascript 函数存在于 mongo 上。我在 Jar 文件中找到了 javascript 文件和安装说明。然而,即使在安装了 javacript 函数之后它也不会工作(我猜是因为我的 mongodb 版本与驱动程序调用该函数的方式不兼容,但这主要是一个猜测。我没有深入研究根本问题是什么,因为我找到了一个可行的解决方案,但我认为这应该适用于 2.4 之前的 mongodb 版本,否则你必须更改驱动程序。)
当我考虑修改驱动程序以在这种情况下工作时,我发现 BoundlessGeo 发布了更新、运行速度更快且更易于使用的驱动程序。
这是 github 存储库:https://github.com/boundlessgeo/geoserver-exts 用于 geoserver-exts。该说明在自述文件中,但基本上您 "git clone" 然后执行 "mvn install" 并为您构建驱动程序(驱动程序 jar 应该类似于:gt-mongo-15- SNAPSHOT.jar).
可在此处找到安装说明:https://github.com/boundlessgeo/suite/blob/master/docs/usermanual/source/dataadmin/mongodb/store.rst#id19。
我将地理空间数据存储在 MongoDB 数据存储中,我想通过 GeoServer 提供这些数据,以便可以通过 WFS、WMS 等使用数据。我能够安装GeoServer 并放入与 GeoTools 打包在一起的 gt-mongodb 插件,并为 Java 安装 MongoDb 驱动程序。这样做之后,我可以在添加数据存储时将 Mongo 作为一个选项。但是,在创建新的 MongoDB 存储后,我无法创建新的矢量图层;我继续收到以下错误:"could not create vector layer: null".
这是我正在做的事情:
- 在数据部分下,我单击 "layers"
- "add new resource"
- select 我从下拉列表中创建的 mongodb 商店
- "create new feature types"
- "add new attribute" 并从我的数据中添加几个字段
- 输入 "type name" 并点击保存。
我是 GeoServer 的新手,尽管以我能想到的所有方式进行搜索,但仍无法找到与 GeoServer 的 MongoDB 插件相关的文档。有人告诉我,唯一的其他选择可能是为 GeoServer 编写自己的 MongoDB 扩展。在我走那条路之前,我希望能找到一些关于这个的文档或示例如何让它工作。感谢您对此提供的任何帮助。
万一有人遇到和我一样的问题,这里有一个解决方案。
在深入了解插件代码后,我意识到该插件需要一些存储的 javascript 函数存在于 mongo 上。我在 Jar 文件中找到了 javascript 文件和安装说明。然而,即使在安装了 javacript 函数之后它也不会工作(我猜是因为我的 mongodb 版本与驱动程序调用该函数的方式不兼容,但这主要是一个猜测。我没有深入研究根本问题是什么,因为我找到了一个可行的解决方案,但我认为这应该适用于 2.4 之前的 mongodb 版本,否则你必须更改驱动程序。)
当我考虑修改驱动程序以在这种情况下工作时,我发现 BoundlessGeo 发布了更新、运行速度更快且更易于使用的驱动程序。
这是 github 存储库:https://github.com/boundlessgeo/geoserver-exts 用于 geoserver-exts。该说明在自述文件中,但基本上您 "git clone" 然后执行 "mvn install" 并为您构建驱动程序(驱动程序 jar 应该类似于:gt-mongo-15- SNAPSHOT.jar).
可在此处找到安装说明:https://github.com/boundlessgeo/suite/blob/master/docs/usermanual/source/dataadmin/mongodb/store.rst#id19。