MapObejcts组件应用设计(地图数据符号化)

2.3.1 Symbol对象Symbol对象是图层中的图元的显示符号,,在跟踪层中,每个几何对象用一个Symbol对象描述,在Map1.Layers的图层中,每个图层一个Symbol属性,全图层的图元共用一个Symbol对象。1 Symbol.SymbolType属性Map1.Layers中的矢量图层,一个图层中只能有一种类型的图元,按图元的类型分,图层可以分为三种类型:点、线、面,用
摘要由CSDN通过智能技术生成

2.3.1 Symbol对象

Symbol对象是图层中的图元的显示符号,,在跟踪层中,每个几何对象用一个Symbol对象描述,在Map1.Layers的图层中,每个图层一个Symbol属性,全图层的图元共用一个Symbol对象。

1 Symbol.SymbolType属性

Map1.Layers中的矢量图层,一个图层中只能有一种类型的图元,按图元的类型分,图层可以分为三种类型:点、线、面,用图层中的Symbol.SymbolType的值标识,可用如下程序判断矢量图层中图元的类型:

Private Sub Command1_Click()

  Dim l As Object

  Dim ftype As String

  For Each l In Map1.Layers

    If l.LayerType = moMapLayer Then 

      Select Case l.Symbol.SymbolType

        Case moFillSymbol  ‘2

          ftype = “

        Case moLineSymbol  ‘1

          ftype = “线

        Case moPointSymbol  ‘0

          ftype = “

      End Select

    End If

  Next l

End Sub

2 Symbol.Style属性

Symbol.Style的值按矢量图层的类型(点、线、面)分成三组,用于点图层,指定点的绘制符号;用于线图层,指定线的类型;用于面图层,指定填充图案。各组的义如下:

Symbol.symbolType = 0 (点)

符号常量             符号

moCircleMarker     0     

moSquareMarker    1    长方形

moTriangleMarker  2    三角形

moCrossMarker     3    十字线

moTrueTypeMarker       4    文字

 

 

 

 

 

 

 

 

Symbol.symbolType = 1 (线)

符号常量                     符号

moSolidLine            0

moDashLine           1

moDotLine             2

moDashDotLine         3

moDashDotDotLine       4

 

 

 

 

 

 

Symbol.SymbolType = 2 (面)

符号常量                填充方法

moSolidFill              0     Solid      

moTransparentFill          1     Transparent   

moHorizontalFill          2     Horizontal      

moVerticalFill              3     Vertical   

moUpwardDiagonalFill   4      Upward Diagonal   

moDownwardDiagonalFill  5     Downward Diagonal     

moCrossFill             6     Cross     

moDiagonalCrossFill      7     Diagonal Cross      

moLightGrayFill          8     Light Gray Fill

moGrayFill              9     Gray Fill 

moDarkGrayFill          10    DarkGray Fill

 

 

请在MapObjects2的帮助中索引 FillStyle Constants LineStyle Constants MarkerStyle Constants查看三组图案

4 Symbol. Color 属性

Color As OLE_COLOR

Color指定的颜色绘制Symbol.Style指定的符号(线、填充图案)

为点图层、线图层、面图层设置显示风格及颜色.(参见光盘中的Symbol目录中的程序)

Dim sym As MapObjects2.Symbol

 

Private Sub Form_Load()

Dim strDataPath As String

Dim dc As New MapObjects2.DataConnection

Dim lyr As New MapObjects2.MapLayer     ' 创建图层对象

strDataPath = ReturnDataPath("world")   ' 数据库目录名

'dc.Database = "d:/mobook/sample/data/world"

dc.Database = strDataPath

  If Not dc.Connect Then End

Set lyr.GeoDataset = dc.FindGeoDataset("Country")   '面图层

Set sym = lyr.Symbol

sym.Style = moVerticalFill

sym.Color = 255

Map1.Layers.Add lyr                 '在地图窗口中添加Country图层

 

Set lyr = New MapLayer

Set lyr.GeoDataset = dc.FindGeoDataset("rivers")   '线图层

lyr.Symbol.Style = moSolid

lyr.Symbol.Color = moBlue

Map1.Layers.Add lyr

 

Set lyr = New MapLayer

Set lyr.GeoDataset = dc.FindGeoDataset("Cities")   '点图层

Set sym = lyr.Symbol

sym.Style = moCircleMarker

sym.Color = moYellow

Map1.Layers.Add lyr

 

Set lyr = New MapLayer

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值