码迷,mamicode.com
首页 > 其他好文 > 详细

基于ArcObject河流渐变效果实现

时间:2015-07-28 16:00:45      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:河流渐变   arceninge   

河流渐变效果效果,可以用ArcMap的制图表达功能实现河流渐变效果。

河流渐变实现需要河流要素包含起始宽度字段属性,和终止宽度字段属性。如下图所示

技术分享

本文主要是计算河流起始宽度值和终止宽度值小节。

原理:

技术分享

第一步:构建最短路径树即:所有边到选择边的河源口最短距离,,选择主干河流,即:所有边里面最长的距离。对于上图,边HG距离河源口最长,选为主干河流,遍历主干河流GH->HC->CB->BA。这里可应用树的最短路径,广度优先算法计算每条边距离河口源距离。

第二步:计算河流要素起始宽度值和终止宽度值,需要设置end:0.5;start:0.1;主干河流GH->HC->CB->BA总长LenghtMain; GH河流要素起点宽度为0.1;终止宽度:(BH的长度/LenghtMain)X(end - start) + start;CH的起点宽度为GH的终止宽度,GH的终止宽度同理可计算。

对于支流比如:BE河流同理计算。

第三步运用ArcMap制图表达功能制图,效果如下:

技术分享技术分享

主要注意的是:由于制图表达功能制图效果跟河流要素数字化方向有关,所以需要判断河流要素的起点,是否是河流源头方向,进行起始宽度和终止宽度的计算,即:对换!


版权声明:本文为博主原创文章,未经博主允许不得转载。

基于ArcObject河流渐变效果实现

标签:河流渐变   arceninge   

原文地址:http://blog.csdn.net/wordtopzerg/article/details/47106219

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!