我们在数据库中存储栅格,我们希望在我们的网络应用程序中实现一个功能,允许用户根据栅格向地图添加轮廓线。我们希望用户能够自定义轮廓水平和颜色。
有谁知道我应该使用哪些工具?我认为我应该使用GeoServer的Python脚本扩展,但我不知道是否可以实现这样的功能。
感谢您的评论!
答案 0 :(得分:1)
从GeoServer中的栅格数据源动态创建轮廓的最简单方法是使用渲染转换2016-02-11 13:17:56.685 Project[820:201184] -[LoginViewController handleKeyEvent:]: unrecognized selector sent to instance 0x166add30
2016-02-11 13:17:56.689 Project[820:201184] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[LoginViewController handleKeyEvent:]: unrecognized selector sent to instance 0x166add30'
*** First throw call stack:
(0x24afc10b 0x242a2e17 0x24b01925 0x24aff559 0x24a2fc08 0x28c39471 0x28cafd3f 0x28caf89f 0x28ed8f9d 0x28cacebd 0x28ed7d81 0x28eebb9d 0x28ed53ab 0x25de0c7f 0x25de0f71 0x24abf68f 0x24abf27d 0x24abd5eb 0x24a10bf9 0x24a109e5 0x28ca65bd 0x28ca0ba1 0xe068d 0x246bf873)
libc++abi.dylib: terminating with uncaught exception of type NSException
。 full example中有一个documentation。这显示了如何使用SLD文件指定轮廓值,然后在渲染时提取轮廓值并使用SLD文件的其余部分绘制。该示例假定使用静态文件的一组固定轮廓,这是最简单的。
但WMS standard允许客户端(OpenLayers)通过地图请求upload a new SLD file - 这正是您想要在此处执行的操作。我建议您生成一个正常工作的SLD文件,然后使用您选择的模板引擎将用户选择的值插入到文件中,然后再将其发送到GeoServer进行处理。这样做的缺点是你需要发送每个请求的SLD文件,并且平铺可能不会很好(完全没有?)。使用library mode作为样式可能会加快速度,但存在使客户端复杂化的风险。