javascript - OpenLayers3/GeoServer 的轮廓功能

标签 javascript python scripting openlayers geoserver

我们在数据库中存储了栅格,并且希望在 Web 应用程序中实现一个功能,允许用户根据栅格向 map 添加等高线。我们希望用户能够自定义轮廓级别和颜色。

有人知道我应该使用哪些工具吗?我认为我应该使用GeoServer的Python脚本扩展,但我不知道是否可以实现这样的功能。

感谢您的评论!

最佳答案

从 GeoServer 中的栅格数据源动态创建等值线的最简单方法是使用渲染变换 gs:Contour。有一个full exampledocumentation 。这展示了如何使用 SLD 文件来指定轮廓值,然后在渲染时提取轮廓值并使用 SLD 文件的其余部分进行绘制。该示例假设使用静态文件的一组固定轮廓,这是最简单的。

但是WMS standard允许客户端 (OpenLayers) upload a new SLD file带有 map 请求 - 这正是您想要在这里执行的操作。我建议您生成一个工作 SLD 文件,然后使用您选择的模板引擎将用户选择的值插入到文件中,然后将其发送到 GeoServer 进行处理。这样做的缺点是您需要在每个请求中发送 SLD 文件,并且平铺可能无法很好地工作(根本?)。您可以使用 library mode 来加快速度。对于样式,但存在使客户复杂化的风险。

关于javascript - OpenLayers3/GeoServer 的轮廓功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35293856/

相关文章:

python - SciPy 模块错误 w = np.zeros(M) TypeError : 'float' object cannot be interpreted as an integer

python - 使用 python with-statement 柯里化(Currying)?

python - 大型二维 numpy 数组中相同元素的高效成对计算

c++ - 编程语言究竟如何与脚本语言交互?

bash - 是什么导致我的别名无法在 shell 脚本中扩展

linux - 使用 g 命令 sed

javascript - 隐藏推送的属性

javascript - 如何在 API 调用中传递 key 作为授权 header

javascript - 客户端下载外部html内容,发送到django服务器,将处理后的数据发送回客户端

javascript - 在无序列表中查找重复项