langyan8973
路人甲
路人甲
  • 注册日期2006-07-12
  • 发帖数90
  • QQ
  • 铜币456枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2044回复:3

[求助]多边形面积计算

楼主#
更多 发布于:2008-11-14 17:03
<P>那位高手用IMS写过计算多边形面积的算法啊?</P>
喜欢0 评分0
mytest
论坛版主
论坛版主
  • 注册日期2006-12-17
  • 发帖数155
  • QQ
  • 铜币53枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2008-11-15 22:24
<P>function ComputeArea() {<BR>  <BR>  var workarea = 0.0;</P>
<P>  cai = clickCount - 1;<BR>  caj = 0;</P>
<P><BR>  while (caj < clickCount) {<BR>    xjyi = clickPointX[caj] * clickPointY[cai];<BR>    xiyj = clickPointX[cai] * clickPointY[caj];</P>
<P>    xydiff = (xjyi - xiyj);<BR>    workarea = workarea+xydiff;</P>
<P><BR>    cai = caj;<BR>    caj = parseFloat(caj + 1);  <BR>  }<BR>  <BR>//alert(ScaleBarUnits);<BR>//alert(MapUnits);<BR>  units2 = invertUnits(ScaleBarUnits, MapUnits);<BR>//alert(units2);<BR>  units2 = units2 * units2;<BR>//alert(units2);</P>
<P>/*<BR>//workarea = Math.abs(workarea / ( 2.0 * units2) * 640);   // hard-coded for SqMiles to Acres<BR>  workarea = Math.abs(workarea / ( 2.0 * units2));    // hard-coded for SqMiles</P>
<P>  var u = Math.pow(10,numDecimals);<BR>  if (!isNav) workarea = parseInt(workarea * u + 0.5) / u<BR>  workACRES = 10*(workarea/43560);</P>
<P>  currentArea = workarea*10;<BR>*/<BR>currentArea = Math.abs(workarea / 2.0);<BR>workACRES =  currentArea / 1000000;<BR>  <BR>}</P>
举报 回复(0) 喜欢(0)     评分
langyan8973
路人甲
路人甲
  • 注册日期2006-07-12
  • 发帖数90
  • QQ
  • 铜币456枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2008-11-17 15:58
多谢mytest了
举报 回复(0) 喜欢(0)     评分
mytest
论坛版主
论坛版主
  • 注册日期2006-12-17
  • 发帖数155
  • QQ
  • 铜币53枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2008-11-18 19:40
<img src="images/post/smile/dvbbs/em04.gif" /><img src="images/post/smile/dvbbs/em04.gif" /><img src="images/post/smile/dvbbs/em04.gif" />
举报 回复(0) 喜欢(0)     评分
游客

返回顶部