鸽子怎么开家视频:VB+mapx实现各种专题图的示例
来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 23:55:43
VB+mapx实现各种专题图的示例 整理时间 [2004-08-06] 阅读次数 [24565]
文字大小:【大】【中】【小】 Private Sub Command5_Click()
'创建专题图层
Dim oDs As MapXLib.Dataset
Dim oLayer As MapXLib.Layer
Dim oTheme As MapXLib.Theme
Dim oFields As New MapXLib.Fields
Dim oField As MapXLib.Field
Dim oCoordSys As MapXLib.CoordSys
Dim strLayerName As String
Dim nType As Integer
Dim s As Integer
'改变投影系
Set oCoordSys = Map1.DisplayCoordSys.Clone
SetCoordsys
'设置专题图层
strLayerName = GetThemeLayerName()
If strLayerName = "" Then
MsgBox "请选择绑定图层"
Exit Sub
End If
'设置专题绑定数据集
Set oLayer = Map1.Layers.Item(strLayerName)
Map1.DataSets.RemoveAll
Set oDs = Map1.DataSets.Add(miDataSetLayer, oLayer, oLayer.KeyField)
'获得专题图类型
nType = GetThemeType
If nType = -1 Or nType = 9 Then
MsgBox "请选择专题类型"
Exit Sub
End If
'设置专题图
oFields.RemoveAll
Set oField = oFields.Add(oDs.Fields.Item(2), "data1"
oDs.Themes.RemoveAll
If nType = 1 Or nType = 2 Then
oFields.Add oDs.Fields.Item(3), "data2"
Set oTheme = oDs.Themes.Add(nType, oFields)
ElseIf nType = 9 Then
'Set oTheme = oDs.Themes.Add(nType)
Else
Set oTheme = oDs.Themes.Add(nType, oField)
End If
'还原投影系
Set Map1.DisplayCoordSys = oCoordSys
'Set Map1.NumericCoordSys = oCoordSys
Set Map1.NumericCoordSys = Map1.DisplayCoordSys
End Sub
Sub SetCoordsys()
'设置投影系
Dim oDatum As New MapXLib.Datum
oDatum.Set 0, 0, 0, 0, 0, 0, 0, 0, 0
Map1.DisplayCoordSys.Set miLongLat, oDatum, miUnitDegree
Set Map1.NumericCoordSys = Map1.DisplayCoordSys
End Sub
Private Function GetThemeType() As Integer
'获得专题图类型
Dim nType As Integer, nIndex As Integer
nIndex = Combo1.ListIndex
Select Case nIndex
Case 0 '范围图
nType = 0
Case 1 '柱状图
nType = 1
Case 2 '饼状图
nType = 2
Case 3 '等级符号图
nType = 3
Case 4 '点密度图
nType = 4
Case 5 '独立值图
nType = 5
Case 6 '自动专题图
nType = 6
Case 7 '标注范围专题图
nType = 7
Case 8 '标注独立值专题图
nType = 8
Case 9 '非专题图
nType = 9
Case Else '提示用户选择专题类型
nType = -1
End Select
GetThemeType = nType
End Function
Private Function GetThemeLayerName() As String
'获得专题图层名称
Dim strLayerName As String
Dim nIndex As Integer
nIndex = Combo2.ListIndex
If nIndex < 0 Then
strLayerName = ""
Else
strLayerName = Combo2.List(nIndex)
End If
GetThemeLayerName = strLayerName
End Function
Private Sub Form_Load()
Dim i As Integer, nLayerCount As Integer
'加载专题图类型
Combo1.AddItem "范围图", 0
Combo1.AddItem "柱状图", 1
Combo1.AddItem "饼状图", 2
Combo1.AddItem "等级符号图", 3
Combo1.AddItem "点密度图", 4
Combo1.AddItem "独立值图", 5
Combo1.AddItem "自动专题图", 6
Combo1.AddItem "标注范围专题图", 7
Combo1.AddItem "标注独立值专题图", 8
Combo1.AddItem "非专题图", 9
'加载图层列表
If Map1.Layers.Count > 0 Then
nLayerCount = Map1.Layers.Count
For i = 1 To nLayerCount
Combo2.AddItem Map1.Layers.Item(i).Name, i - 1
Next
End If
End Sub
文字大小:【大】【中】【小】 Private Sub Command5_Click()
'创建专题图层
Dim oDs As MapXLib.Dataset
Dim oLayer As MapXLib.Layer
Dim oTheme As MapXLib.Theme
Dim oFields As New MapXLib.Fields
Dim oField As MapXLib.Field
Dim oCoordSys As MapXLib.CoordSys
Dim strLayerName As String
Dim nType As Integer
Dim s As Integer
'改变投影系
Set oCoordSys = Map1.DisplayCoordSys.Clone
SetCoordsys
'设置专题图层
strLayerName = GetThemeLayerName()
If strLayerName = "" Then
MsgBox "请选择绑定图层"
Exit Sub
End If
'设置专题绑定数据集
Set oLayer = Map1.Layers.Item(strLayerName)
Map1.DataSets.RemoveAll
Set oDs = Map1.DataSets.Add(miDataSetLayer, oLayer, oLayer.KeyField)
'获得专题图类型
nType = GetThemeType
If nType = -1 Or nType = 9 Then
MsgBox "请选择专题类型"
Exit Sub
End If
'设置专题图
oFields.RemoveAll
Set oField = oFields.Add(oDs.Fields.Item(2), "data1"
oDs.Themes.RemoveAll
If nType = 1 Or nType = 2 Then
oFields.Add oDs.Fields.Item(3), "data2"
Set oTheme = oDs.Themes.Add(nType, oFields)
ElseIf nType = 9 Then
'Set oTheme = oDs.Themes.Add(nType)
Else
Set oTheme = oDs.Themes.Add(nType, oField)
End If
'还原投影系
Set Map1.DisplayCoordSys = oCoordSys
'Set Map1.NumericCoordSys = oCoordSys
Set Map1.NumericCoordSys = Map1.DisplayCoordSys
End Sub
Sub SetCoordsys()
'设置投影系
Dim oDatum As New MapXLib.Datum
oDatum.Set 0, 0, 0, 0, 0, 0, 0, 0, 0
Map1.DisplayCoordSys.Set miLongLat, oDatum, miUnitDegree
Set Map1.NumericCoordSys = Map1.DisplayCoordSys
End Sub
Private Function GetThemeType() As Integer
'获得专题图类型
Dim nType As Integer, nIndex As Integer
nIndex = Combo1.ListIndex
Select Case nIndex
Case 0 '范围图
nType = 0
Case 1 '柱状图
nType = 1
Case 2 '饼状图
nType = 2
Case 3 '等级符号图
nType = 3
Case 4 '点密度图
nType = 4
Case 5 '独立值图
nType = 5
Case 6 '自动专题图
nType = 6
Case 7 '标注范围专题图
nType = 7
Case 8 '标注独立值专题图
nType = 8
Case 9 '非专题图
nType = 9
Case Else '提示用户选择专题类型
nType = -1
End Select
GetThemeType = nType
End Function
Private Function GetThemeLayerName() As String
'获得专题图层名称
Dim strLayerName As String
Dim nIndex As Integer
nIndex = Combo2.ListIndex
If nIndex < 0 Then
strLayerName = ""
Else
strLayerName = Combo2.List(nIndex)
End If
GetThemeLayerName = strLayerName
End Function
Private Sub Form_Load()
Dim i As Integer, nLayerCount As Integer
'加载专题图类型
Combo1.AddItem "范围图", 0
Combo1.AddItem "柱状图", 1
Combo1.AddItem "饼状图", 2
Combo1.AddItem "等级符号图", 3
Combo1.AddItem "点密度图", 4
Combo1.AddItem "独立值图", 5
Combo1.AddItem "自动专题图", 6
Combo1.AddItem "标注范围专题图", 7
Combo1.AddItem "标注独立值专题图", 8
Combo1.AddItem "非专题图", 9
'加载图层列表
If Map1.Layers.Count > 0 Then
nLayerCount = Map1.Layers.Count
For i = 1 To nLayerCount
Combo2.AddItem Map1.Layers.Item(i).Name, i - 1
Next
End If
End Sub
VB+mapx实现各种专题图的示例
vb+oracle+mapx实现的最短路径查询
VB+MapX编程实现地图数据查询
MapX地图操基本作功能的实现:MapX开发基础教程(2)
基于MapX的GIS动态操作与实现
VB,VB编程实现图像的漂亮效果,珠江路在线
mapx动态创建图层:Mapx添加永久图层的方法 疯狂代码!
实现VB与EXCEL的无缝连接
使用MapX开发实现若干小功能
IDL开发专题-IDL下的坐标系及示例
MapX样式的详细解释
用VB实现图形文件的批量转换
实现VB与EXCEL的无缝连接1
VB 实现类电子表格grid的数据录入(转)
VB实现类电子表格grid的数据录入
用DLL实现把数据库的记录导出到EXCEL中(VB) - 应用程序 - VB教程
各种技能大全vb
表格细线边框实现的各种方法
用DLL实现把数据库的记录导出到EXCEL中(VB)转
图片各种移动代码汇编及示例
[Python]WebPy学习笔记一 搭建环境,实现简单示例
我的VB资料
实用的VB代码
VB 用API创建动态菜单示例(含子菜单且能响应事件)