ryx32
路人甲
路人甲
  • 注册日期2003-08-05
  • 发帖数457
  • QQ
  • 铜币4046枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:4126回复:11

一个合并图层的例子

楼主#
更多 发布于:2004-08-20 12:18
<P> 要合并的图层类型必须相同
最好字段也都相同 ,不能把同一层合并到同一层
对字段名相同的保持原来的值
 Dim frec As MapObjects2.Recordset
  Dim srec As MapObjects2.Recordset
  Dim fFld As Object
  Dim sFld As Object
  Dim mstr As New MapObjects2.Strings
  Dim mobj As Object
  If map1(0)shapeType <> map1(1).shapeType  Then
    MsgBox "图层类型不匹配!请重新选择"
    Exit Sub
  End If
  On Error GoTo errhandle</P>
<P>  Set flyr = map1(0)
  Set slyr = map1(1)
  Set frec = flyr.Records
  Set srec = slyr.Records
  If srec.Updatable = True Then '判断该层是否可编辑
     For Each fFld In frec.Fields
       For Each sFld In srec.Fields
         If fFld.Name = sFld.Name Then
           If fFld.Name <> "FeatureId" And fFld.Name <> "Shape" Then
             mstr.Add fFld.Name
           End If
         End If
       Next
     Next
     frec.MoveFirst
     Do While Not frec.EOF
       With srec
         .AddNew
         .AutoFlush = False
        Set mobj = frec.Fields("Shape").value
         Set .Fields("Shape").value = mobj
         If mstr.Count > 0 Then
          For Each sFld In srec.Fields
            If mstr.Find(sFld.Name) > -1 Then
             .Fields(sFld.Name).value = frec(sFld.Name).value
            End If
          Next
         End If
         .Update
       End With
       frec.MoveNext
    Loop
    srec.AutoFlush = True
    srec.StopEditing
    map1.Refresh
 Else
   MsgBox cmbslyr.text ; "层是只读的,请修改属性", vbOKOnly \ vbCritical
 End If</P>
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2004-08-23 12:38
<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
kmxl
路人甲
路人甲
  • 注册日期2004-10-30
  • 发帖数94
  • QQ
  • 铜币294枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-11-08 18:04
<img src="images/post/smile/dvbbs/em05.gif" />
举报 回复(0) 喜欢(0)     评分
wbx103
路人甲
路人甲
  • 注册日期2004-11-01
  • 发帖数16
  • QQ
  • 铜币140枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-11-10 15:39
<img src="http://www.gisempire.com/bbs/Skins/Default/emot/em06.gif">
举报 回复(0) 喜欢(0)     评分
chaimin1400
路人甲
路人甲
  • 注册日期2003-10-11
  • 发帖数315
  • QQ
  • 铜币533枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-11-13 10:13
顶<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
kmxl
路人甲
路人甲
  • 注册日期2004-10-30
  • 发帖数94
  • QQ
  • 铜币294枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-11-15 21:24
如果两个图的字段不同,如何解决这个问题呢?
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-11-16 09:04
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
闲云野鹤-nx
路人甲
路人甲
  • 注册日期2004-11-16
  • 发帖数9
  • QQ
  • 铜币127枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-11-22 10:59
支持!有没有高手知道如何在mo中用VB实现图层的叠加分析功能呢?请大家支持
举报 回复(0) 喜欢(0)     评分
fa18
路人甲
路人甲
  • 注册日期2004-06-19
  • 发帖数30
  • QQ
  • 铜币222枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-11-23 07:51

<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
lxd007aaa
路人甲
路人甲
  • 注册日期2004-11-18
  • 发帖数1
  • QQ
  • 铜币108枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2005-01-05 14:56
赞一个,日期正需要。<img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部