基于Mapobjects的全球矿产资源信息系统中矿产地符号设计与应用

时间:2022-03-19 02:40:39

基于Mapobjects的全球矿产资源信息系统中矿产地符号设计与应用

摘要:MapObjects是一种功能强大的GIS开发组件,但它并未提供一个专用的地质、矿产地图形符号库。利用Visual Basic 6.0 和MapObjects以及数据库软件Access设计了基于TrueType字体可扩展的矿产地符号库,通过MapObjects的渲染功能,实现矿产地符号与TrueType代码索引之间关联,通过符号的组合,颜色的改变,可进行矿产地符号的快速、无限的扩充。

关键词:MapObjects;全球矿产资源信息系统;矿产地符号

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30731-02

Mineral Symbols Design and Application for Global Mineral Resources Information System Based on MapObjects

HAN Jiu-xi, YUAN Chun-hua

(Development and Research Center, China Geological Survey, Beijing 100083, China)

Abstract:Although MapObjects is a powerful GIS component, it has not provided a specific geological and mineral graphic symbols. This article will introduce a way to make special mineral symbols in forms of TrueType font by use of Visual Basic 6.0, Mapobjects and Microsoft Access. Through some MapObjects properties, mineral Symbols and the index code of TrueType font can be correlated, and through combination of symbols and change of color, mineral symbols can be rapid and unlimited expanded.

Key words:MapObjects; global mineral resources information system; Mineral symbols

1 引言

MapObjects(以下简称MO)是全球最大的GIS软件供应商ESRI公司在业界最早推出的基于COM技术的GIS组件。ESRI自1996年6月推出其1.0版本,到2006年12月才推出其2.4成熟版本,该组件经历了10年的发展历程,其每个版本质量控制严格,软件稳定、可靠。同时,该组件能够与ESRI的ArcGis完全兼容,为应用软件的升级提供了良好的发展平台。在权衡如采用ArcView Gis等软件所带来的软件平台售价过高,对嵌入GIS功能的数据库管理系统造成投资浪费等缺点后,决定采用VB6.0环境下基于MO的软件平台来实现该系统(GMDAS 1.0)。但MO自带符号数量有限,无法满足矿产地专用符号的表示。

2 全球矿产资源信息系统(GMDAS 1.0)介绍

全球矿产资源信息系统(GMDAS)包括全球、大洲、国家、重要成矿带四个层次;地理、地质、矿产地、矿业信息四类信息,其目的是为研究全球矿产资源分布的企事业单位提供一综合信息平台。该系统数据形式分为:属性数据,GIS空间图形数据,文本数据三类,其中GIS空间图形数据包括点数据(如城市、机场、矿产地等),线数据(如河流、公路、线性构造等),面数据(如国家、湖泊、地质等);尤其是点数据种类繁多(10类),符号样式各异(近200多个特定图形),MO自带符号无法满足软件需求。

3 全球矿产资源信息系统中点图形的绘制

MO不是绘图软件,但也可以绘制一些简单的图形,本文主要讨论本软件中点图形的绘制方法。

3.1 通过系统自带的缺省的四种常用点状符号(实心园点、填充后的正方形和三角形、十字)来实现。在本软件中,矿山图形采用填充后的三角形来实现。(方法略)

3.2 通过MO自带的TrueType 预定义符号功能,绘制机场等特殊符号。

Symbol是控制地图上的特征或图形显示方式的对象或属性,画点时,设置symbol的Style属性为moTrueTypeMaker方式,symbol的font属性为“ESRI Transportation &Municipal”方式,symbol的CharacterIndex赋予符号的值,该值为“ESRI Transportation &Municipal”字符集的位置值加上33。本软件中,机场的图形符号的实现即采用的这种方式。

3.3 MO调用用户自定义的TrueType字库,通过MO的渲染功能,实现矿产地符号与TrueType代码索引之间关联,并通过符号的组合,颜色的改变,进行矿产地符号的快速、无限的扩充。

首先使用Font Creator Program 4.1软件实现TrueType字体的编辑,并以文件的形式进行存储,文件名:Chinkm_.ttf。存放路径为c:\windows\fonts\。

在Access数据库中建立MapSymbol表单,结构如下:

用符号组的方法对矿床符号进行组合:如铜的符号组合方法为: 。符号颜色、形状、组合个数,利用数据表MapSymbol的color、Symbol_type和number三个字段来控制。

编译一函数InitTrick建立符号表,在系统主程序运行时,在FORM 的load过程中,调用该函数,使自定义的TrueType字体加载到系统中,这样在画矿产地的函数中,矿产地符号能够与MO自带的TrueType 预定义符号一样的方式进行使用。

Private Sub initTrick() //定义函数

Dim fnt As New StdFont //定义fnt 为Truetype 类型

fnt.name = "ChinaKC Symbol" //与Chinkm_.ttf进行关联

Dim rs As New ADODB.Recordset

Dim strSQL As String

strSQL= "select * fromMapSymbol"//打开数据表

rs.Open strSQL, g_DBcn, dOpenDynamic, adLockOptimistic//读取表中数据

m = 0

rs_count = 0

Do While Not rs.EOF

rs.MoveNext

rs_count = rs_count + 1

Loop

rs.MoveFirst

Do While Not rs.EOF

n = rs.Fields("Numb")

m = rs.Fields("Symbol_type")

scolor = rs.Fields("Color")

For j = 1 To n

r = Val(scolor)

scolor = Mid(scolor, InStr(scolor, ",") + 1)

g = Val(scolor)

scolor = Mid(scolor, InStr(scolor, ",") + 1)

b = Val(scolor)

scolor = Mid(scolor, InStr(scolor, ",") + 1)

With oMap.TrackingLayer.Symbol(m)

.CenterOnAscent = True

.Font = fnt

.Style = moTrueTypeMarker

End With

m = m + 1

If j = n Then

Else

scolor = Mid(scolor, InStr(scolor, ",") + 1)

End If

Next

rs.MoveNext

Loop//读取所有图形符号

rs.Close

End Sub

4 结束语

基于上述技术,利用MO 中TrueType字体的特点,在本软件中较好的实现了矿产地等点符号的绘制,图形符号美观。该软件中矿产地符号主要有以下特点:

(1)本次矿产地符号库的建立主要依据最新标准GB958_99和矿产地代码GB/T9649_88,使得通过MO绘出矿产地符号与MAPGIS,Arcview等其他GIS平台中的矿产地符号达到了统一。

(2)采用数据表的形式来管理矿产地符号,使符号形式的更新灵活,简单,符号种类与个数的增加方便,快捷。

(3)TrueType字体以文件方式存放,并且要放在固定的路径下,较难实现符号资源的多用户共享。

笔者只是利用MapObjects进行了一些有益的尝试,对于不同的GIS平台,不同的操作系统间实现矿产地符号的统一和共享,还有大量的工作要做。

参考文献:

[1]韩鹏. 地理信息系统开发――MapObjects方法[M]. 武汉:武汉大学出版社,2004.

[2]薛伟. MapObjects――地理信息系统程序设计[M]. 北京:国防工业出版社,2004.

[3]胡庆武. 基于MapObject的地图符号库设计[M]. 测绘通报,2001,(10).

[4]基于MapObject的地图符号注记组件的实现[J]. 江苏测绘,2001,(6).

[5]中国地质调查局发展研究中心. 全球矿产资源信息系统数据库建设工作指南(试用稿),2003.

[6]“求是科技”. Visual Basic 6.0程序设计参考手册[M]. 北京:人民邮电出版社,2003.

[7](美)埃文?卡拉汉 著. 技桥工作室 译. 跟我学用VBA开发,Access 2002应用[M]. 北京:科学出版社,2002.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:maxDNA分散控制系统在电厂DCS系统改造中的应用 下一篇:TCP/IP协议安全问题的探讨