Skyline软件系列平台提供了从数据生产、编辑到网络发布的一整套的成熟的商业解决方案。无论是单机环境还是网络环境,用户都能够根据自己的需求进行功能定制,建立起自己的三维地理信息系统。本文主要从skyline软件的工作流程出发,介绍一下skyline的软件体系结构。

一、数据生产----TerraBuilder

我们知道,要建立起一个真正的三维地理信息系统,首先必须要有DEM以及遥感影像数据,它们是构成三维场景的基础。skyline软件家族中的TerraBuilder 所扮演的角色就是利用DEM以及遥感影像数据来搭建自己的三维场景。

TerraBuilder 支持绝大数格式的DEM以及影像数据,并且可以支持多CPU服务器或多台机器同时运算(TerraBuilder  Fuser模块)。

TerraBuilder 有两种方式产生出skyline自己的三维场景数据:一种是MPT数据,它是TerraBuilder计算出来的一个三维场景文件(后缀名是.mpt);还有一种方式是不事先计算好mpt文件,而是实时运算DEM和影像数据(DirectConnect模块,并且与TerraGate结合),实时发布给浏览器(TerraExplorer Pro或TerraExplorer Viewer),这时的数据是.tbp后缀的文件。后面这种实时发布模式显然可以避免耗时很长的运算MPT文件的时间,实现快速发布更新较为频繁的数据。

二、数据编辑----TerraExplorer Pro

在TerraBuilder创建好MPT文件或tbp文件后,便可以在TerraExplorer Pro软件中打开三维地形数据,然后便可以进行各种编辑工作,包括添加GIS专题图层、标绘、3D模型等等,从而建立起更加真实丰富的三维虚拟环境。经过TerraExplorer Pro的各项处理和编辑工作,再进行打包(Basic kit)存储,生成一个.FLY后缀的文件,它存储了区域的三维地形信息(注意并不是地形数据)以及在地形场景中创建的各种对象信息(二维的以及三维的)。FLY文件有点类似于ArcGIS的mxd文件,它可以在本地由pro或viewer打开,或通过IIS发布,供客户端打开。

三、数据网络发布----三维地形数据发布TerraGate、矢量数据发布Streaming Feature Server(SFS)

TerraGate是一款强大的地形传输服务器,它能够同时向数以千计的客户传送三维地形数据(MPT文件或DirectConnect实时形成的三维地形数据)。TerraGate的运行是基于网络无缝可变带宽的,并且不会被连通性的潜伏和中断而影响。当网速较慢而地形数据传送不畅时,初始影像便以低分辨率的形式被用户接收,用户就可以进行三维浏览显示,而不用等到所有数据传送完毕。

SFS是skyline自己的矢量数据发布工具,即skyline自己构建的WFS。它能够读取各种数据源,包括Oracle Spatial、ArcSDE、Shape文件数据等等,通过缓存机制实现矢量数据的高效传输。

四、二次开发

TerraExplorer API提供了一套强大的接口用来集成TerraExplorer、TerraExplorer Pro和用户自定义应用,同时也提供了一套ActiveX控件,可将三维窗口、信息树和导航图以控件对象的方式嵌入到用户自定义的可视化界面中。skyline开发只有一个组件类入口,那就是TerraExplorerClass,在实例化TerraExplorerClass后,其他TerraExplorer CoClass Interfaces中所有的接口都实现了TerraExplorerClass类,而skyline中的各种对象(ITerraExplorerObject5 Interface中,如ITerrainPolyline5、ITerrainLabel5、ITerrainBuilding5等等)则都是由CoClass Interfaces中的IObjectManager接口创建。

//skyline中的接口定义

private TerraExplorer objTerraExplorer;

private ITerraExplorer51 objITerraExplorer;

private IMenu objIMenu;

private IInformationTree5 objIInformationTree5;

private ISnapShot2 objISnapShot;

private IPlane5 objIPlane5;

private IRender5 objIRender5;

private IObjectManager5 objIObjectManager5;

private ICoordSys3 objICoordSys3;

private ITerrain5 objITerrain5;

private IContainer2 objIContainer2;

private ILayer5 objILayer5;

/// <summary>

/// 初始化对象和事件

/// </summary>

private void InitializeTerraExplorer()

{

objTerraExplorer = new TerraExplorerClass();

objITerraExplorer = objTerraExplorer as ITerraExplorer51;

objIMenu = objTerraExplorer as IMenu;

objICoordSys3 = objTerraExplorer as ICoordSys3;

objIObjectManager5 = objTerraExplorer as IObjectManager5;

objIInformationTree5 = objTerraExplorer as IInformationTree5;

objIPlane5 = objTerraExplorer as IPlane5;

objIRender5 = objTerraExplorer as IRender5;

objISnapShot = objTerraExplorer as ISnapShot2;

objITerrain5 = objTerraExplorer as ITerrain5;

objIContainer2 = objTerraExplorer as IContainer2;

objILayer5 = objTerraExplorer as ILayer5;

objTerraExplorer.OnLButtonDown += new _ITerraExplorerEvents5_OnLButtonDownEventHandler(objTerraExplorer_OnLButtonDown);

objTerraExplorer.OnObjectAction += new _ITerraExplorerEvents5_OnObjectActionEventHandler(objTerraExplorer_OnObjectAction);

}

//加载数据

objITerraExplorer.Load(@"D:\Default.fly");

关于各个接口的使用在本文中就不作介绍了。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/westdusk/archive/2010/05/22/5617196.aspx

Skyline软件系列平台相关推荐

  1. 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南...

    一.AgileEAS.NET平台简介 AgileEAS.NET平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本.缩短开发时间,快速适应市场 ...

  2. ArcGIS Maritime Server 开发教程(二)ArcGIS 海图软件系列

    ArcGIS Maritime Server 开发教程(二)ArcGIS 海图软件系列 本章导读:ArcGIS 是一个成熟的 GIS 软件体系,无论是在海图的服务端管理.桌面软件使用还是海图功能定制方 ...

  3. 实用 Windows 软件系列分享(六)

    苏生不惑第303篇原创文章,将本公众号设为星标,第一时间看最新文章. 之前分享过Windows软件系列文章: 新买了台笔记本电脑,分享些实用的Windows软件 实用 Windows 软件系列分享(二 ...

  4. iot-Scada免费Scada组态软件系列教程4-二次开发与版本部署

    iot-Scada免费Scada组态软件系列教程 系列文章目录 iot-Scada免费Scada组态软件系列教程1-初识iot-Scada iot-Scada免费Scada组态软件系列教程2-架构设计 ...

  5. dml测试软件,MODUS测量软件系列

    MODUS测量软件系列 型号一.MODUS软件 产品介绍: --MODUS软件提供了开发和运行检测程序的强大平台,包含对其革命性REVO五轴测量技术的全面支持. --可配置的用户界面允许根据CAD提供 ...

  6. 实用 Windows 软件系列分享(四)

    苏生不惑第280 篇原创文章,将本公众号设为星标,第一时间看最新文章. 之前分享过新买了台笔记本电脑,分享些实用的Windows软件 ,实用 Windows 软件系列分享(二),实用 Windows ...

  7. 反垃圾邮件软件_学习学术vol.1 | 正版软件服务平台

    毕业论文,是大学本科教学的最后一个环节,是对整个大学阶段学习的回顾与总结,是对学生的整个大学四年实践技能.专业知识及其他相关学科知识.全面素质.研究与创新能力进行检验考核的重要手段,是学生综合能力的体 ...

  8. iot-Scada免费Scada组态软件系列教程2-架构设计

    iot-Scada免费Scada组态软件系列教程 系列文章目录 iot-Scada免费Scada组态软件系列教程1-初识iot-Scada iot-Scada免费Scada组态软件系列教程2-架构设计 ...

  9. 企业应用软件开发平台|软件开发平台有那些?

    企业应用软件开发平台|软件开发平台有那些? 一.关于企业应用软件 企业应用软件是指可以在系统软件之外的所有应用软件,为满足企业应用需求而提供的软件. 企业应用软件它不单单是软件,更是根据企业管理的理论 ...

  10. ubuntu14.04如何在线安装eclipse以及C/C++开发组件,搭建软件开发平台

    在ubuntu14.04操作系统中进行C/C++软件开发,需要安装eclipse以及CDT等各种组件,下载安装包一一安装,之后再进行各种配置可能比较麻烦,在这里推荐一种在线安装方式,安装配置较为方便. ...

最新文章

  1. bootstrap4简单使用和入门01-简单表单的使用
  2. oracle手工快照,创建oracle快照的步骤
  3. 杨泽业:让你的网站无限可能之给你的网站增加汉字转拼音的新功能
  4. 【深度学习入门到精通系列】CIFAR-10数据集说明
  5. HarmonyOS之深入解析自定义组件与布局的实现
  6. php copy 文件夹,php删除与复制文件夹及其文件夹下所有文件的实现代码
  7. macOS Monterey新问题:“内存泄漏”,应用后台运行消耗上百 GB 内存
  8. 卷积交织/解交织C++程序
  9. typechoSQLIte转MySQL_Typecho SQLite与MySQL的数据库切换及解决MySQL连接打开缓慢问题
  10. POJ 2243:Knight Moves(双向BFS)
  11. 源码 解析_List源码解析
  12. 如何控制Asp.net Login控件的重定向地址
  13. 阿里云短信验证码接口
  14. Ubuntu安装蓝牙驱动
  15. 【开源访谈】ECharts 作者 林峰 访谈实录
  16. 百度实时热点词采集工具
  17. 高防服务器有哪些优势
  18. 全球及中国生物敷料市场竞争态势与投资风险分析报告2022年
  19. meta分析森林图解读,实例讲解教你快速学会meta分析森林图解读!
  20. 血与荣耀(第一章-激战)

热门文章

  1. FPGA数字电子技术复习笔记(一)verilog语法规则补充(语法篇2)
  2. 哈萨克斯坦--出行攻略
  3. 西刺代理python_Python四线程爬取西刺代理
  4. java程序开发的简历_Java程序开发工作简历
  5. 云服务器部署网易云音乐API(node.js)
  6. 企业全面运营管理沙盘模拟心得_企业经营沙盘模拟心得体会
  7. 解决npm 下载速度慢的问题
  8. 世界计算机组装最快记录,国产世界最快超级计算机开机1分钟 地球人算32年
  9. 航空订票系统设计(java、数据库、通信联合项目)
  10. 奇瑞新能源硬实力 全铝车身奇瑞大蚂蚁