cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1336回复:5

沿线形特征推进程序的延伸

楼主#
更多 发布于:2005-01-04 10:30
已经掌握了沿线形特征延伸的方法,在线形特征上已经画了一条线,可是现在想要把线形图层中的所有线都画出来,则不行,不能跳转到下一个线特征上,只能画第一条。如何处理呢?

  Dim p1 As MapObjects2.Point

  Dim line

  Set recs_3 = Map1.Layers("yh_run_sd").Records

  If Map1.Layers("yh_run_sd").Visible = True Then

    Set line = recs_3.Fields("shape").Value  

    Set shape_points_1 = New MapObjects2.Points

    For Each shape_point_1 In line.Parts(0)

      shape_points_1.Add shape_point_1

    Next shape_point_1

    m_nNum = 0

    Timer1.Interval = 500

  End If

<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2005-01-04 11:53
<P>records.recordset.movenext</P><P>上面代码可能有错,电脑上没mo,不过把记录移到下一个应该就可以了</P>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-01-04 12:42
十分之感谢!我试试!<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-01-04 16:05
放在哪里呢?还是困惑中*********<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
4楼#
发布于:2005-01-04 22:21
<P>应该是循环你上面的那段程序吧?</P><P>你首先获得记录的数目,然后在记录数中循环</P><P>当你做完你要做的事情,就移动到下一个记录</P>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2005-01-05 08:49
  Dim p1 As MapObjects2.Point
  Dim line
  Set shape_points_1 = New MapObjects2.Points
  Set recs_3 = Map1.Layers("yh_run_sd").SearchExpression("id<3")
Do While Not recs_3.EOF
  If Map1.Layers("yh_run_sd").Visible = True Then
  
    Set line = recs_3.Fields("shape").Value  'value=1定义其为线形特征
    For Each shape_point_1 In line.Parts(0)
      shape_points_1.Add shape_point_1
    Next shape_point_1
  
    m_nNum = 0
    Timer2.Interval = 500
   End If
  recs_3.MoveNext
 Loop

这样子搞定了!!
举报 回复(0) 喜欢(0)     评分
游客

返回顶部