sparrow009
路人甲
路人甲
  • 注册日期2006-08-03
  • 发帖数27
  • QQ
  • 铜币200枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1709回复:3

[求助]急!如何计算一条折线首尾两点与正东方向的夹角

楼主#
更多 发布于:2007-12-03 21:27
 
<P>小弟初学Arcgis,论文需要想求折线首尾两点连线与正东方向的夹角,请高手帮忙!</P>
<P>谢谢!</P>
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2007-12-04 10:25
<P>arcgis里好象没有直接的工具可以使用,</P>
<P>你可以编写程序,或者使用字段计算器编写脚本来获取,</P>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5917
  • QQ14265545
  • 铜币29669枚
  • 威望217点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
2楼#
发布于:2007-12-04 12:10
把下面代码放arcgis里vba宏运行<br>前提是你选中了折线<br><br>Sub Gisempire_lineway()<br>  Dim pDoc As IMxDocument<br>  Dim pMap As IMap<br>  Dim pEnumFeat As IEnumFeature<br>  Dim pFeat As IFeature<br>  <br>  Set pDoc = ThisDocument<br>  Set pMap = pDoc.FocusMap<br>  Set pEnumFeat = pMap.FeatureSelection<br>  Set pFeat = pEnumFeat.Next<br>  Do While (Not pFeat Is Nothing)<br>    If pFeat.Shape.GeometryType = 3 Then<br>      Dim pline As IPolyline<br>      Set pline = pFeat.Shape<br>      Dim iline As iline<br>      Set iline = New Line<br>      iline.FromPoint = pline.FromPoint<br>      iline.ToPoint = pline.ToPoint<br>      Dim dAngle As Double<br>      dAngle = (180 * iline.Angle) / (4 * Atn(1))<br>      If dAngle < 0 Then<br>        dAngle = dAngle + 360<br>      End If<br>      MsgBox dAngle<br>    End If<br>  Set pFeat = pEnumFeat.Next<br>  Loop<br>End Sub<br>
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
举报 回复(0) 喜欢(0)     评分
sparrow009
路人甲
路人甲
  • 注册日期2006-08-03
  • 发帖数27
  • QQ
  • 铜币200枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2007-12-04 22:12
<P>谢谢啦</P>
<P>哈哈</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部