默认头像
卧底
卧底
  • 注册日期2003-07-26
  • 发帖数162
  • QQ
  • 铜币900枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2125回复:2

mo中使用编辑已有图层并保存修改的方法是??

楼主#
更多 发布于:2004-07-02 13:04
mo中使用编辑已有图层并保存修改的方法是??我找了一遍,提供的实例源码中么有这一部分的内容,请做过的同志帮忙一下了。
喜欢0 评分0
Our doing are not really as important as we think. Our successes and failures didn't matter after all.
默认头像
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2004-07-05 16:55

论坛发过好几个编辑的例子了,再发一个吧,控件自己看了

Option Explicit

Dim dc As New MapObjects2.DataConnection Dim mlyrNew As New MapObjects2.MapLayer Dim gdsNew As MapObjects2.GeoDataset Dim recsNew As MapObjects2.Recordset Dim tdesc As New MapObjects2.TableDesc Dim polyTracked As MapObjects2.Polygon Dim strNewSfName As String Dim recno As Long

Private Sub Command1_Click()

'Empty all layers except for base layer Dim i As Integer For i = 0 To Map1.Layers.Count - 2   Map1.Layers.Remove 0 Next Map1.Refresh Set mlyrNew = New MapObjects2.MapLayer Set gdsNew = Nothing Set recsNew = Nothing DoEvents

'Create new empty shapefile strNewSfName = Text1.Text Set gdsNew = dc.AddGeoDataset(strNewSfName, moPolygon, tdesc) Set mlyrNew.GeoDataset = gdsNew mlyrNew.Symbol.Color = moRed Set recsNew = mlyrNew.Records

'Load new shapefile into map Map1.Layers.Add mlyrNew

'Notify user if everything worked If Map1.Layers.Count = 2 Then   MsgBox "New shapefile loaded and ready to edit." End If

End Sub

Private Sub Form_Load()

Dim mlyr As New MapObjects2.MapLayer

'Add base layer dc.Database = App.Path dc.Connect Set mlyr.GeoDataset = dc.FindGeoDataset("njspf27") mlyr.Symbol.Color = moLightGray Map1.Layers.Add mlyr

'Create output TableDesc tdesc.FieldCount = 3 tdesc.FieldName(0) = "ID" tdesc.FieldType(0) = moLong tdesc.FieldPrecision(0) = 12 tdesc.FieldName(1) = "IDSTR" tdesc.FieldType(1) = moString tdesc.FieldLength(1) = 10 tdesc.FieldName(2) = "NAME" tdesc.FieldType(2) = moString tdesc.FieldLength(2) = 20

'Initialize recno = 0

End Sub

Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)      'Draw a new polygon... Set polyTracked = Map1.TrackPolygon    '...then add the new polygon to the shapefile. recsNew.AddNew Set recsNew.Fields("Shape").Value = polyTracked recsNew.Fields("ID").Value = recno recsNew.Fields("IDSTR").Value = Format(recno, "#0") recsNew.Fields("NAME").Value = Text2.Text recno = recno + 1 recsNew.Update recsNew.StopEditing Map1.Refresh    End Sub

GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2003-09-15
  • 发帖数74
  • QQ
  • 铜币325枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-03-02 14:27

请问gis兄你程序中的这一段

Set recsNew.Fields("Shape").Value = polyTracked recsNew.Fields("ID").Value = recno recsNew.Fields("IDSTR").Value = Format(recno, "#0") recsNew.Fields("NAME").Value = Text2.Text

如果去掉

后面三句是否照样能保存呢?

变成

Set recsNew.Fields("Shape").Value = polyTracked

举报 回复(0) 喜欢(0)     评分
默认头像

返回顶部