10. Geoserver插件¶
渲染、操作和管理存储在GeoMesa数据存储中的数据的一种直接方法是使用 GeoServer ,一个用于共享地理空间数据的开源服务器。本章介绍如何使用GeoMesa Geoserver插件。
10.1. Geoserver版本¶
并非所有版本的Geoserver都与所有版本的GeoMesa兼容。有关要安装的版本,请参阅下表。建议对兼容的次要版本使用最新的Geoserver错误修复版本,尽管这可能偶尔会导致错误,因为Geoserver不遵循语义版本控制。
备注
新版本的Geoserver会定期发布。GeoMesa可以与较新版本的Geoserver一起使用,但只有下面列出的版本经过验证。
GeoMesa版本 |
Geoserver版本 |
---|---|
4.0.0及更高版本 |
2.22.2 |
3.1.1至3.5.x |
2.17.3 |
3.0.x至3.1.0 |
2.17.0 |
2.4.x |
2.15.x |
2.2.x至2.3.x |
2.14.x |
2.1.x及更早版本 |
2.12.x |
警告
GeoMesa不能与不兼容的Geoserver版本一起使用。确保根据上面的图表安装正确的版本。
10.2. 安装¶
数据存储区提供了在Geoserver中安装GeoMesa插件的说明:
转至Geoserver安装,网址为 http://<hostname>:8080/geoserver
。对于新安装的Geoserver,默认用户名为 admin
密码是 geoserver
。应更改这些设置以防止未经授权的访问。
10.3. 创建数据存储¶
按数据存储的具体说明:
10.4. 发布GeoMesa图层¶
成功创建GeoMesa数据存储后,Geoserver将显示在该数据存储中注册的要素类型列表。单击要素类型名称旁边的“发布”,在GeoMesa中创建该类型的数据层。
你将被带到 Edit Layer 屏幕上。要渲染您的层,您必须首先在“数据”面板中设置边界框的值。在许多情况下,您可以单击“从原生边界计算”链接来根据数据计算这些值。

完成后,请单击“保存”按钮。
警告
在配置启用时间的层时,通常应将演示设置为“连续间隔”。将演示设置为“List”将需要显示图层中的所有唯一时间值,并导致WMS GetCapabilities
要求慢一点。
10.5. 预览层¶
点击左侧菜单中的“层预览”链接。一旦你看到你的层,点击“OpenLayers”链接,这将打开一个新的标签。如果您已将数据摄取到GeoMesa中,它将显示在此处。
如果您获取的数据是一组纬度/经度点,请单击显示中的一个点(默认情况下呈现为红色方块),Geoserver将报告存储在地图区域下方区域的GeoMesa商店中的详细记录。
点击预览窗口左上角的“切换选项工具栏”图标。屏幕的右侧将包括一个“Filter”文本框。输入关于您获取的数据的要素类型的属性的搜索查询,然后按“Play”图标。显示屏现在将只显示与您的过滤条件匹配的那些点。
这是一个CQL筛选器,可以通过各种方式构建以查询数据。有关CQL的更多信息,请访问 GeoServer's CQL tutorial 。
备注
如果启用了层的时间维度,如中所述 GeoMesa Acumulo快速入门 ,则需要在表单的URL中指定时间参数: &TIME=2014-01-01T00:00:00.000Z/2014-01-31T23:59:59.999Z
That tells GeoServer to display the records for the entire month of January 2014. GeoServer will add an implicit time filter if you do not specify one, which may cause unexpected results. This TIME parameter is distinct from the CQL_FILTER parameter and specifying a CQL time filter without the TIME parameter may create an empty intersection with the implicit time filter. You can find more information about the TIME parameter from GeoServer's documentation 。
10.6. 使用WPS进行分析¶
正如开放地理空间联盟的 Web Map Service 佩奇,
OpenGISHTTPWeb地图服务接口标准提供了一个简单的®接口,用于从一个或多个分布式地理空间数据库请求地理注册的地图图像。WMS请求定义要处理的地理层(S)和感兴趣区域。对该请求的响应是可以在浏览器应用程序中显示的一个或多个地理注册的地图图像(返回为JPEG、PNG等)。该界面还支持指定返回的图像是否应该是透明的,以便可以合并来自多个服务器的层。
像Geoserver这样的工具(一旦安装了它的WPS插件)使用WPS从GeoMesa检索数据。WPS流程可以链接在一起,允许您使用其他WPS请求来构建以前的结果。
10.7. 配置¶
10.7.1. WMS插件¶
根据您的硬件,将WMS插件的限制设置得更高或通过单击Geoserver管理页面左侧“服务”下的“WMS”来完全禁用它们可能很重要。请咨询您的服务器管理员以确定正确的设置。对于大规模查询,标准的60秒超时可能太短。
10.7.2. 临时目录¶
Geoserver创建用于缓存各种文件的临时目录。在多租户环境中运行时,当不同用户尝试写入相同目录时,可能会导致权限错误。要避免这种情况,请使用以下系统属性配置您的应用程序服务器:
-DEPSG-HSQL.directory=/tmp/$USER-hsql
-DGEOWEBCACHE_CACHE_DIR=/tmp/$USER-gwc
10.7.3. 日志记录解释查询规划¶
GeoMesa数据存储可以显示其执行查询的计划,如中所述 说明查询计划 。要在Geoserver中启用解释查询规划的日志记录,请将以下内容添加到 $GEOSERVER_DATA_DIR/logs/DEFAULT_LOGGING.xml
文件::
<Logger name="org.locationtech.geomesa.index.utils.Explainer" level="trace">
<AppenderRef ref="stdout"/>
<AppenderRef ref="geoserverlogfile"/>
</Logger>
如果您不确定Geoserver数据目录的位置,则在启动Geoserver::时会将其打印出来
--------------------------------------------------------------------
CONFIG [org.geoserver] - Loading catalog /path/to/geoserver-data-dir
--------------------------------------------------------------------
参考Geoserver的 Advanced log configuration 有关如何以及在何处管理Geoserver日志的详细信息,请参阅文档。
10.7.4. 审核GeoMesa数据存储区¶
GeoMesa数据存储可以审计查询指标。要启用审核,请选中复选框 geomesa.query.audit
在Geoserver中注册数据存储时。
GeoMesa数据存储通常会将经审核的查询写入日志文件。要配置审核日志,请为设置级别 org.locationtech.geomesa.utils.audit
至 DEBUG
。这可以通过编辑Geoserver日志记录配置(例如 $GEOSERVER_DATA_DIR/logs/DEFAULT_LOGGING.xml
):
<Logger name="org.locationtech.geomesa.utils.audit" level="debug" additivity="false">
<AppenderRef ref="auditLogFile"/> <!-- note: requires an appender to be defined with this name -->
</Logger>
Acumulo数据存储区还将审核的查询写入 <catalog>_queries
桌子。
看见 查询审计 有关查询属性的详细信息,请参阅。
10.8. GeoMesa地理服务器扩展模块¶
由于许可,与GeoMesa相关的Geoserver特定代码在单独的 repository 。它可以从Maven Central下载,也可以从源代码构建。
它是Geoserver中的Arrow输出所必需的。
一旦获得,就可以通过复制来安装Geoserver模块 geomesa-gs-*.jar
进入Geoserver lib
目录。