基于ArcObject河流渐变效果实现

河流渐变效果效果,可以用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河流渐变效果实现

相关文章:

你感兴趣的文章:

标签云: