如何在VB下用MapObject实现流场显示的代码
- 组件式GIS
- 2007-10-20
- 70热度
- 0评论
上周在我们的组件式地理信息系统课堂上,老师布置了一道题目,要求在VB下用MapObject实现流场显示.这里我把代码贴出来.背景:有一个点状ShapeFile,每个点有一个方向字段,要将各个点显示为相应方向的箭头。
方法:想通了很简单,就是使用MO中的ClassBreaksRenderer,和点状Symbol即可完成,废话少说,关键代码上:
Dim lyr As MapLayer, i As Integer
Set lyr = Map1.Layers(0)
Dim cl As New ClassBreaksRenderer
cl.BreakCount = N
cl.SymbolType = moPointSymbol
cl.Field = "Angle"
For i = 0 To N - 1
cl.Break(i) = i / N * 360
With cl.Symbol(i)
.SymbolType = moPointSymbol
.Color = moBlack
.Font.Name = "宋体"
.Font.Bold = False
.Size = 22
.Style = moTrueTypeMarker
.SymbolType = moPointSymbol
.CharacterIndex = 24
.Rotation = i / N * 360 - 90
End With
Next i
With cl.Symbol(i)
.SymbolType = moPointSymbol
.Color = moBlack
.Font.Name = "宋体"
.Size = 22
.Style = moTrueTypeMarker
.SymbolType = moPointSymbol
.CharacterIndex = 24
.Rotation = i / N * 360
End With
Set lyr.Renderer = cl
效果如下