快捷搜索:

通过GeometryService和gp服务实现河流污染模拟

首先来看看终极的效果图:

本文将说一下实现该功能的思路和措施,鉴今朝项目涉及到一些保密文件,在此不便贴出代码,不过在后续的事情中,我会抽光阴来逐一收拾本博客的所有代码,并整个共享。

下面就来看看详细实现的思路。

1.河流的网格划分

关于河流的网格划分,可以参考前一篇文章:

http://www.fengfly.com/plus/view-211377-1.html

该文给出了网格划分的思路,在此不再多说。

2.河流的污染猜测模型的选择。

这里本文采取了二维的河流污染扩散模型,并以中间排放为例,其他模式也是一样。这里涉及到一个对照难的问题是:若何求出每一个网格点的(X,Y)坐标,即网格点到河流中间线的间隔以及沿河流偏向到污染源的间隔。

本文这里供给一个办理规划是:

(1):对付求沿河流偏向到污染源的间隔,可以经由过程路径办事实现,首先提掏出河流的中间线,将该中间线构建成收集数据集,宣布成收集阐发办事,那么我们随便拔取的两个点(两个点分手到中间线的间隔都要小于收集阐发办事设置的搜索容差,否则无法求出间隔),经由过程收集阐发办事可以求出其沿河流偏向(中间线)的间隔。

(2):对付网格点到河流中间线的间隔可以经由过程GIS的GeometryService的Distance操作来实现,这个对照轻易。

求得每一个网格点的(X,Y)后,接下来便是根据选定的污染扩散模型,谋略每一个点的浓度。

3.污染物浓度散播的可视化

在获得每一个点的浓度之后,那么接下来便是进行插值衬着。然则这里我们必要留意的便是,我们要包管衬着的图层落在河流之内。也便是上图的彩色区域都在河流中。然后我们会留意到一个问题,默认插值时的范围都是矩形,假如不进行其他的操作,那么我们的获得的图层将是一个矩形区域,这显然不相符河流污染物的扩散,是以必要裁剪掉落河流以外的区域。这里实现插值的历程采纳的是GP办事,GP办事的模型如下所示:

这里经由过程掩膜提取对插值的删格图像进行裁剪,以包管插值图层在河流的之内。

关于GP办事的宣布可参考这里:

http://www.fengfly.com/plus/view-210135-1.html

关于Web端调用GP办事可参考这里:

http://www.fengfly.com/plus/view-210134-1.html

转自:http://www.cnblogs.com/potential/archive/2012/12/28/2837762.html

您可能还会对下面的文章感兴趣: