二次开发用户手册 V6.1
东方道迩 GIS 运营中心/技术支持部
2012 年 4 月
TerraExplorer Pro 二次开发用户手册 V6.1
目录
1 概述 ......................................................................................................................... 1
1.1
1.2
1.3
1.4
主要接口 ...................................................................................................... 1
如何使用 COM 接口 ..................................................................................... 4
基本概念 ...................................................................................................... 6
如何做 .......................................................................................................... 7
2
API6.0 至 API6.1 的更新 ....................................................................................... 20
2.1
2.2
APIv61 增加和修改的属性和方法 ............................................................... 20
新增接口 .................................................................................................... 30
3 使用 SGWorld 类 .................................................................................................. 36
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
ISGWorld61 ............................................................................................... 36
Analysis (IAnalysis61) ................................................................................ 68
Application (IApplication61) ....................................................................... 85
Command (ICommand61) ......................................................................... 87
CoordServices (ICoordServices61) ..........................................................110
Creator (ICreator61) .................................................................................119
DateTime (IDateTime61) ......................................................................... 193
Navigate (INavigate61) ............................................................................ 198
Project(IProject61) ................................................................................... 205
ProjectTree (IProjectTree61) ....................................................................211
Terrain (ITerrain61) .................................................................................. 250
Version (ITEVersionInfo61) ...................................................................... 255
3.13 Window(IWindow61) ................................................................................ 257
4 所有其他接口 ....................................................................................................... 270
4.1
4.2
4.3
4.4
IAction61 .................................................................................................. 270
IAttachment61 ......................................................................................... 274
IAttribute61 .............................................................................................. 276
IAttributes61 ............................................................................................ 277
I
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
4.31
4.32
4.33
4.34
TerraExplorer Pro 二次开发用户手册 V6.1
IAviWriter61 ............................................................................................. 280
IBBox2D61 .............................................................................................. 282
IBBox3D61 .............................................................................................. 284
IBuildingFace61 ....................................................................................... 286
IBuildingSides61 ...................................................................................... 287
ICodecInfo61 ........................................................................................... 288
IColor61 ................................................................................................... 290
IContainerItem61 ..................................................................................... 297
IContainers61 .......................................................................................... 299
ICoord2D ................................................................................................. 302
ICoordinateSystem61 .............................................................................. 303
IDataSourceInfo61 ................................................................................... 309
IFeature61 ............................................................................................... 310
IFeatureAttribute61 ...................................................................................311
IFeatureAttributes61 ................................................................................ 312
IFeatureGroup61 ..................................................................................... 314
IFeatureGroups61 ................................................................................... 322
IFeatures61 ............................................................................................. 325
IFillStyle61 ............................................................................................... 326
IGeometry ................................................................................................ 326
IGeometryCollection ................................................................................ 330
IGeometryCreator .................................................................................... 333
ILabelStyle61 ........................................................................................... 340
ILayer61 ................................................................................................... 346
ILinearRing .............................................................................................. 354
ILineOfSight61 ......................................................................................... 356
ILineString ............................................................................................... 357
ILineStyle61 ............................................................................................. 360
IMessageObject61 ................................................................................... 361
IMouseInfo61 ........................................................................................... 362
II
4.35
4.36
4.37
4.38
4.39
4.40
4.41
4.42
4.43
4.44
4.45
4.46
4.47
4.48
4.49
4.50
4.51
4.52
4.53
4.54
4.55
4.56
4.57
4.58
4.59
4.60
4.61
4.62
4.63
4.64
TerraExplorer Pro 二次开发用户手册 V6.1
IMultiLineString ........................................................................................ 363
IMultiPoint ................................................................................................ 366
IMultiPolygon ........................................................................................... 367
IObjectTexture61 ..................................................................................... 368
IPoint ....................................................................................................... 370
IPointCloudDefaultLocation61 ................................................................. 372
IPoints ...................................................................................................... 373
IPolygon ................................................................................................... 377
IPopupMessage61 ................................................................................... 379
IPosition61 ............................................................................................... 385
IPresentation61 ....................................................................................... 399
IPresentationStep61 ................................................................................ 431
IPresentationSteps61 .............................................................................. 436
IRings ...................................................................................................... 437
IRoofFace61 ............................................................................................ 439
IRouteWaypoint61 ................................................................................... 440
IRouteWaypoints61 ................................................................................. 444
IScreenRect61 ......................................................................................... 449
IScreenPointInfo61 .................................................................................. 451
IShadow61 ............................................................................................... 452
ISpatialOperator ...................................................................................... 453
ISpatialRelation ....................................................................................... 458
ITerraExplorerMessage61 ........................................................................ 464
ITerraExplorerObject61 ............................................................................ 466
ITerrain3DArrow61 ................................................................................... 471
ITerrain3DPolygon61 ............................................................................... 474
ITerrain3DRectBase61 ............................................................................. 476
ITerrain3DRegBase61 ............................................................................. 479
ITerrainArc61 ........................................................................................... 482
ITerrainArrow61 ....................................................................................... 484
III
TerraExplorer Pro 二次开发用户手册 V6.1
ITerrainBuilding61 .................................................................................... 487
ITerrainDynamicObject61 ........................................................................ 490
ITerrainEllipse61 ...................................................................................... 497
ITerrainHole61 ......................................................................................... 499
ITerrainImageLabel61 .............................................................................. 501
ITerrainLabel61 ........................................................................................ 502
ITerrainLocation61 ................................................................................... 504
ITerrainModel61 ....................................................................................... 505
ITerrainModifier61 .................................................................................... 508
ITerrainObject61 .......................................................................................511
ITerrainPointCloudModel61 ..................................................................... 512
ITerrainPolygon61 .................................................................................... 519
ITerrainPolyline61 .................................................................................... 521
ITerrainRasterLayer61 ............................................................................. 523
ITerrainRectangle61................................................................................. 526
ITerrainRegularPolygon61 ....................................................................... 529
ITerrainSphere61 ..................................................................................... 531
ITerrainThreatDome61 ............................................................................. 533
ITerrainVideo61........................................................................................ 537
ITimeSpan61 ........................................................................................... 545
ITooltip61 ................................................................................................. 546
ITreeHotlink61 ......................................................................................... 546
ITreeItem61 ............................................................................................. 547
IVisibility61 ............................................................................................... 548
IVolumeAnalysisInfo61 ............................................................................ 550
IWks ......................................................................................................... 550
IWorldPointInfo61 .................................................................................... 553
4.65
4.66
4.67
4.68
4.69
4.70
4.71
4.72
4.73
4.74
4.75
4.76
4.77
4.78
4.79
4.80
4.81
4.82
4.83
4.84
4.85
4.86
4.87
4.88
4.89
4.90
4.91
5
ActiveX 控件 ...................................................................................................... 555
5.1
ActiveX 控件是什么 ................................................................................. 555
IV
TerraExplorer Pro 二次开发用户手册 V6.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
如何使用 ActiveX 控件 ............................................................................ 555
什么是 TE 二次开发 ................................................................................. 558
ITE3DWindow .......................................................................................... 559
_ITE3DwindowEvents .............................................................................. 560
ITEInformationWindow ............................................................................ 562
ITENavigationMap5 ................................................................................. 563
_ITENavigationMapEvents5 .................................................................... 572
6
C#示例................................................................................................................. 576
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
打开工程 .................................................................................................. 576
创建圆 ...................................................................................................... 577
创建文本标签 ........................................................................................... 581
创建多边形 ............................................................................................... 584
创建复杂多边形 ....................................................................................... 587
编辑几何对象 ........................................................................................... 589
使用矢量图层(导入和空间查询) ................................................................ 590
导航-创建飞到对象的导航 ........................................................................ 594
导航-跳到某个位置 ................................................................................... 595
6.10 得到一个位置 ........................................................................................... 596
6.11 使用信息树 (创建、展开、锁定) .............................................................. 597
6.12 遍历信息树 ............................................................................................... 600
6.13 使用 Client Data ....................................................................................... 600
7
JavaScript 示例 .................................................................................................. 602
7.1
7.2
7.3
7.4
7.5
7.6
7.7
打开工程 .................................................................................................. 602
创建圆 ...................................................................................................... 602
创建文本标签 ........................................................................................... 606
创建多边形 ............................................................................................... 608
创建复杂的多边形 .................................................................................... 610
编辑几何对象 ........................................................................................... 612
使用矢量层(导入和进行空间查询) ............................................................ 614
V
TerraExplorer Pro 二次开发用户手册 V6.1
7.8
7.9
导航-创建飞到某个对象的导航 ................................................................. 617
导航-跳到一个指定的位置 ........................................................................ 618
7.10 得到当前位置 ........................................................................................... 619
7.11 使用信息数组 (创建,展开, 锁定) .............................................................. 620
7.12 遍历信息树 ............................................................................................... 622
7.13 使用 Client Data ...................................................................................... 624
VI
TerraExplorer Pro 二次开发用户手册 V6.1
1 概述
TerraExplorer 应用程序开发接口(API)提供了一种集成 TerraExplorer 和自定义应用
程序的强大方式。它还可以创建扩展用于访问外部资源,如访问数据库或地理空间数据文件。
基于 COM 协议的所有接口都可以通过脚本语言(如 JavaScript)和非脚本语言(如 C++
或 C#)进行开发。本手册介绍了如何使用这些接口和功能,以提高 TerraExplorer 3D 体验。
TerraExplorer 还提供了一个 ActiveX 控件集合。在用户自定义界面中,允许将 3D 窗口、
信息树和导航地图作为 ActiveX 对象嵌入用户界面。 Runtime 模块能够快捷的发布自定义
的应用程序。
TerraExplorer API 相关功能模块:
3D 模式导航。
工程管理。
特征和栅格图层。
对象管理。
地形分析。
事件通知。
在 Web 页面和桌面应用程序嵌入 TerraExplorer ActiveX 控件。
此外,TerraExplorer API 还包括一系列其它操作,如控制容器内容,查询地形高程信
息,快照和控制鼠标等。
TerraExplorer API 可以做些什么?
API 提供了强大的工具开发客户端应用程序:
创建扩展,添加额外的文件和数据库格式的支持。
建立实时运动对象的命令和控制应用程序。
编辑特征图层(例如:道路编辑)
添加自定义对象(例如:危险域)。
高级地形查询功能(例如:地形剖面分析)。
结合先进的地图显示。
将高级功能的 HTML 页面嵌入到 TerraExplorer 窗口。
使用 SkylineGlobe 服务器架构建立高级网络应用程序。
创建自定义 RunTime 应用程序,将 3D 窗口和信息树作为 ActiveX 组件嵌入其中。
1.1
主要接口
以下是开发与 TerraExplorer Plus 和 TerraExplorer Pro 交互的客户端应用程序所使用
1