lzhr4u 发表于 2006-5-8 09:38:00

[求助][VBA]计算各个图层闭合多段线面积

<P>假设有"1","2","3","4","5"这几个图层,当前图层为"1",怎样通过程序计算各个图层中闭合多段线的面积,得到的各图层面积放到新建图层"6"中并列表显示。其中各图层中闭合多段线的扩展数据分别为"1","2","3","4","5",请高手给出个思路,当然给完整程序更好。</P>

xinghesnak 发表于 2006-5-8 09:57:00

<P>先通过选择集+过滤器选择图层上的线段,再通过Area属性算出面积。其他的不说了</P>

兰州人 发表于 2007-12-5 15:58:00

xinghesnak发表于2006-5-8 9:57:00static/image/common/back.gif先通过选择集+过滤器选择图层上的线段,再通过Area属性算出面积。其他的不说了

<p>这种解释太笼统了,根本没这么简单,近期编个程序解决实际问题。</p>

gdzhou 发表于 2007-12-6 17:45:00

<p>根据线的Area属性累加,如果是三维多段线就没有这个属性了...</p><p>或者用根据多边形面积计算公式:Area&nbsp;&nbsp; =&nbsp;&nbsp; 1/2∑(Xi&nbsp;&nbsp; *&nbsp;&nbsp; Yi+1&nbsp;&nbsp; –&nbsp;&nbsp; Xi+1&nbsp;&nbsp; *&nbsp;&nbsp; Yi)&nbsp;&nbsp; (i从0到i-1)来计算面积..</p><p></p>

兰州人 发表于 2007-12-7 09:50:00

gdzhou发表于2007-12-6 17:45:00static/image/common/back.gif根据线的Area属性累加,如果是三维多段线就没有这个属性了...或者用根据多边形面积计算公式:Area&nbsp;&nbsp; =&nbsp;&nbsp; 1/2∑(Xi&nbsp;&nbsp; *&nbsp;&nbsp; Yi+1&nbsp;&nbsp; –&nbsp;&n

<p>从理论讲Area&nbsp;&nbsp; =&nbsp;&nbsp; 1/2∑(Xi&nbsp;&nbsp; *&nbsp;&nbsp; Yi+1&nbsp;&nbsp; –&nbsp;&nbsp; Xi+1&nbsp;&nbsp; *&nbsp;&nbsp; Yi)&nbsp;可行。</p><p>图形闭合在实际工作中才有实际意义。</p>

sunny2008 发表于 2008-3-19 09:13:00

<p>可以直接用OBJ。AREA,得到各多短线的中心坐标,将面积以文本形式插入</p>

bai2000 发表于 2008-9-18 13:37:00

哪位可以帮忙啊

fjfhgdwfn 发表于 2008-9-18 18:56:00

这个简单啊!你把多段线创建成面域就可以了(不过如果三维多段线Z值不同,需要修改Z值为相同的啊),面域都是有面积的
页: [1]
查看完整版本: [求助][VBA]计算各个图层闭合多段线面积