xiaolito
路人甲
路人甲
  • 注册日期2008-12-24
  • 发帖数44
  • QQ
  • 铜币237枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2255回复:7

求一线段的距离,盼指点迷津

楼主#
更多 发布于:2009-03-31 10:05
<P>现在有一道路网,我想知道怎么求每一线的距离,怎么求呀?</P>
<P>我先获得每一条记录,然后求??? </P>
<P>Dim pdoc As IMxDocument<BR>Set pdoc = ThisDocument</P>
<P>Dim pmap As IMap<BR>Set pmap = pdoc.FocusMap</P>
<P>Dim pflayer As IFeatureLayer<BR>Set pflayer = pmap.Layer(0)</P>
<P>Dim pFClass As IFeatureClass<BR>Set pFClass = pflayer.FeatureClass</P>
<P>Dim pfcursor As IFeatureCursor<BR>Set pfcursor = pFClass.Search(Nothing, True)</P>
<P> Dim pf As IFeature<BR> <BR> Set pf = pfcursor.NextFeature</P>
喜欢0 评分0
xiaolito
路人甲
路人甲
  • 注册日期2008-12-24
  • 发帖数44
  • QQ
  • 铜币237枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2009-03-31 11:20
说错了,应该是长度/
举报 回复(0) 喜欢(0)     评分
goodmangis
外卖仔
外卖仔
  • 注册日期2006-03-10
  • 发帖数34
  • QQ
  • 铜币244枚
  • 威望2点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
2楼#
发布于:2009-03-31 22:49
<P>这个应该不太困难吧。自己的问题没有人回答,顺便帮你解决一下吧。</P>
<P>1.保证投影坐标系统</P>
<P>2. 由IFeature QI到ICurve后取Length即可。如下代码:</P>
<P>Dim pCurve As ICurve<BR>Set pCurve = pFeature.Shape<BR>debug.print pCurve.Length <BR></P>
举报 回复(0) 喜欢(0)     评分
xiaolito
路人甲
路人甲
  • 注册日期2008-12-24
  • 发帖数44
  • QQ
  • 铜币237枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2009-04-02 17:29
非常非常谢谢楼上了,我刚入门。
举报 回复(0) 喜欢(0)     评分
xiaolito
路人甲
路人甲
  • 注册日期2008-12-24
  • 发帖数44
  • QQ
  • 铜币237枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2009-04-02 17:33
解决了吧。<img src="images/post/smile/dvbbs/em05.gif" />
举报 回复(0) 喜欢(0)     评分
xiaolito
路人甲
路人甲
  • 注册日期2008-12-24
  • 发帖数44
  • QQ
  • 铜币237枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2009-04-02 17:35
我之前一直用 ILine 就是不行,不知道为什么。
举报 回复(0) 喜欢(0)     评分
chenjunfc
外卖仔
外卖仔
  • 注册日期2003-08-14
  • 发帖数58
  • QQ283832077
  • 铜币452枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2009-04-07 11:08
ILine是只两点间的线段
举报 回复(0) 喜欢(0)     评分
lindami
路人甲
路人甲
  • 注册日期2007-04-17
  • 发帖数3
  • QQ
  • 铜币112枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2009-04-09 15:07
<DIV class=quote><B>以下是引用<I>goodmangis</I>在2009-3-31 22:49:00的发言:</B><BR>
<P>这个应该不太困难吧。自己的问题没有人回答,顺便帮你解决一下吧。</P>
<P>1.保证投影坐标系统</P>
<P>2. 由IFeature QI到ICurve后取Length即可。如下代码:</P>
<P>Dim pCurve As ICurve<BR>Set pCurve = pFeature.Shape<BR>debug.print pCurve.Length <BR></P><BR></DIV>
<P>
<P>能否告诉我  这个代码如何运行?
<P>(VBA方面我是新手,不太会用呢?麻烦详细讲解,谢谢!)</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部