默认头像
路人甲
路人甲
  • 注册日期2003-10-11
  • 发帖数315
  • QQ
  • 铜币533枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2912回复:7

请问MO中是否可以创建新的图层?

楼主#
更多 发布于:2004-11-17 22:30

     我知道MapX中是可以通过map1.layers.createlayer(),可以创建一个新的临时或永久图层,对于永久图层通过编辑后是可以以.tab等文件的形式存在的。  

     不知道MO中是否有?我只发现有map1.drawshape.

喜欢0 评分0
默认头像
路人甲
路人甲
  • 注册日期2004-06-19
  • 发帖数30
  • QQ
  • 铜币222枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-11-23 09:41
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-10-30
  • 发帖数94
  • QQ
  • 铜币294枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-11-22 20:25
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-11-22 09:37
可以呀,MO帮助里有的
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-11-17
  • 发帖数67
  • QQ
  • 铜币247枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-11-21 09:13

顶!!!!

举报 回复(0) 喜欢(0)     评分
默认头像
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
5楼#
发布于:2004-11-19 09:40

支持楼上

已经给你评了精华

GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-11-15
  • 发帖数20
  • QQ
  • 铜币192枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-11-18 09:57
其中colLines是一个collection,保存绘制的线
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-11-15
  • 发帖数20
  • QQ
  • 铜币192枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-11-18 09:55

可以的,下面是一个增加line层的例子

Private Sub CmdAddShape_Click() Dim gd As MapObjects2.GeoDataset Dim dc As New MapObjects2.DataConnection Dim name As String Dim ShapeName As String Dim tDesc As New MapObjects2.TableDesc

   '设置保存的shp文件名

   Me.DlgAddShape.Filter = "ESRI Shapefiles(*.shp)|*.shp"     Me.DlgAddShape.DefaultExt = ".shp"     Me.DlgAddShape.ShowSave     If Len(Me.DlgAddShape.FileName) = 0 Then Exit Sub     dc.Database = CurDir     If Not dc.Connect Then Exit Sub     name = Left(Me.DlgAddShape.FileTitle, Len(Me.DlgAddShape.FileTitle) - 4)     '编辑字段

   tDesc.FieldCount = 4     tDesc.FieldName(0) = "Name"     tDesc.FieldName(1) = "Length"     tDesc.FieldName(2) = "Start"     tDesc.FieldName(3) = "End"          tDesc.FieldType(0) = moString     tDesc.FieldType(1) = moDouble     tDesc.FieldType(2) = moDouble     tDesc.FieldType(3) = moDouble          tDesc.FieldLength(0) = 16     tDesc.FieldPrecision(1) = 15     tDesc.FieldPrecision(2) = 15     tDesc.FieldPrecision(3) = 15          tDesc.FieldScale(1) = 3     tDesc.FieldScale(2) = 3     tDesc.FieldScale(3) = 3               Set gd = dc.AddGeoDataset(name, moLine, tDesc)     If gd Is Nothing Then Exit Sub     Dim lyr As New MapObjects2.MapLayer     Set lyr.GeoDataset = gd     FrmTest.MpTest.Layers.Add lyr     FrmTest.MpTest.Refresh          '保存数据       Dim lngCt As Long     For lngCt = 1 To colLines.Count         With lyr.Records             .AddNew             .Fields("Shape").Value = colLines(lngCt)             .Fields("Name").Value = "Name" ; lngCt             .Fields("Length").Value = colLines(lngCt).Length             .Fields("Start").Value = colLines(lngCt)             .Fields("End").Value = colLines(lngCt)             .Update         End With     Next lngCt     FrmTest.MpTest.Layers.Clear     FrmTest.MpTest.Refresh End Sub

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

返回顶部