我们在数据库中存储了栅格,并且希望在 Web 应用程序中实现一个功能,允许用户根据栅格向 map 添加等高线。我们希望用户能够自定义轮廓级别和颜色。
有人知道我应该使用哪些工具吗?我认为我应该使用GeoServer的Python脚本扩展,但我不知道是否可以实现这样的功能。
感谢您的评论!
最佳答案
从 GeoServer 中的栅格数据源动态创建等值线的最简单方法是使用渲染变换 gs:Contour
。有一个full example在 documentation 。这展示了如何使用 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/