《二三维一体化军工gis系统关键技术研究--开题报告3》由会员分享,可在线阅读,更多相关《二三维一体化军工gis系统关键技术研究--开题报告3(26页珍藏版)》请在金锄头文库上搜索。
1、L/O/G/O导导 师:武师:武 舫舫 汇报人:刘俊楠汇报人:刘俊楠二三维一体化军工二三维一体化军工GISGIS系统系统关键技术研究关键技术研究选题依据选题依据技术与理论支持技术与理论支持创新点与亮点创新点与亮点核心算法实现核心算法实现系统的设计与实现系统的设计与实现一一二二三三四四五五1. 国产操作系统与国产处理器的出现 2. 二三维一体化军工GIS技术理念快速发展 3. 军用GIS在国内装备与国际出口需求量急剧增加一、选题依据一、选题依据ab选题背景及研究意义1. 二维和三维都成为一个平台下的不同窗体的选择 2. 使用已有数据,并提升可视化效果 3. 跨语言调用,支持Kylin与Loong
2、son4. 本系统解决了已有军用GIS系统有了不能用 ,能用不好用的问题二、二、技术与理论支持技术与理论支持场景组织 内存管理 渲染过程 数据加载瓦片数据加载 矢量数据切片 栅格数据切片OSGEarthGLSLOSG顶点着色器 片断着色器 二、二、技术与理论支持技术与理论支持投影纹理 凹凸贴图 多重纹理QAXCLASS 控件 QAXTYPE 对象数据库与索引Qt ActiveX三维常用纹理技术Spatialite R-Tree Q-Treea二三维数据一体化bc二三维操作一体化三三、系统的设计与实现系统的设计与实现二三维数据样式一体化同时支持同时支持OGROGR与与GDALGDAL支支 持的常
3、用数据,以及军用持的常用数据,以及军用 民用数据一体化显示民用数据一体化显示配好样式的二维地 图可以直接切片生 成三维瓦片MapTool封装二维与三 维不同事件处理机制3.1 二二三维一体化三维一体化d二三维显示一体化ec3.1 二三维一体化二三维分析一体化二维和三维在一个程序中 可以随时切换显示,或者 同时显示二维分析三维同步显示结果 ;使用共同的分析模块3.1 二三维一体化二三维一体化军工GIS系统总体界面显示图3.1 二三维一体化二三维样式一体化(二维切片生成三维瓦片窗体)二三维操作一体化与量算一体化3.2 数据提供者显示原始 数据数据提供者数据转换IDTIS_DataProviderI
4、DTIS_DataProviderRasterIDTIS_DataProviderImplIDTIS_DataProviderVectorIDTIS_DataProviderVectorDataDTIS_DataProviderRasterDTIS_RasterDTIS_DataProviderVectorDTIS_DataProviderOgrDTIS_DataProviderSpatialiteDTIS_DataProviderGDAL数据显示途径数据提供者类结构图DTIS_3DDTIS_3DCanvas_OsgDTIS_3DCanvas_OgreDTISDTIS中的中的 OsgOsg渲染
5、引擎渲染引擎DTIS中的 Ogre渲染引擎IDTIS_3DCanvas三维代码结构图通过传入的三维引擎类型获取不同的三维模块3.3 三维模块多引擎切换3.4 军工模块DTIS_AirLineDTIS_AirLinesDTIS_AirLinesStylesMgrDTIS_AirLineBillBoardItemDTIS_AirLinesFilm206天龙项目 百万量级航迹线极限测试下 地图操作流畅 标绘与分析功能正常并且稳定使用技术难关: 1. 二维地图100万*40个点需要实时绘制? 2. Item过多会造成刷新的循环 调用,装 备的武器配置较低,CPU使用率逐渐上升 ? 3. 未知用户空情类
6、型情况下,如果实现空 情过滤? 4. 空情过滤出的结果如何快速显示?3.4.1 ActiveXActiveX 封装结构封装结构class DTISX_MapSceneWidget : public QWidget signals:void hoverEnterEventAirlineHead(, intvoid hoverMoveEventAirlineHead(,intvoid hoverLeaveEventAirlineHead(,int public slots:DTISO_MapScene* mapScene() ; private slots:void onHoverEnterEve
7、ntAirlineHead( ,boolvoid onHoverMoveEventAirlineHead(,boolvoid onHoverLeaveEventAirlineHead(,bool ;外部调用的ActiveX事件外部调用的ActiveX内部函数内部Com组件,绑定的 ActiveX中的槽函数航迹部分封装的ActiveX控件ActiveX中的Private SlotsActiveX中的signalsSignal生成的ActiveX中的事件内部Com组件中的鼠标事件引用变量进行数据传递bEnableInnerEvent事件传输过程3.4.2 ActiveX中的事件传输过程简单工厂模式
8、:工厂模式中最简单的一种,它可以用比较简单的方式隐藏创建 对象的细节,一般只需要告诉工厂类所需要的类型,工厂类就会返回需要的产 品类,但客户端看到的只是产品的抽象对象,无需关心到底是返回了哪个子类 。class DTISO_DataTypeFactory : public QObject public slots:DTISO_Point* createPoint();DTISO_Points* createPoints();DTISO_UserRenderContext* createUserRenderContext();DTISO_Rgn* createRgn();DTISO_Geomet
9、ry* createGeometry();DTISO_MapSymbol* createMapSymbol();DTISO_StringList* createStringList();DTISO_ExtraPar* createExtraPar(); ; ActiveX 中的简单工厂创建常用的GIS数据对象3.4.3 工厂模式PPI:常见的雷达显示方式。雷达天线通常 显示在屏幕中心,物标回波能以同心圆显示 。在雷达气象观测中以极坐标的形式显示雷 达天线以一定仰角扫描一周时,测站周围目 标物的分布情况及其回波强度。航际符号PPI(军标中的特殊类别)地图军标上下层关系3.4.4 PPI 与各种符
10、号的上下层四、核心算法实现四、核心算法实现4.1 等高线一体化生成三维高程库传统方活动:窗口拟合法、移动拟合法、反距离权内插处理效率低处理效率低规则格网模型规则格网模型等高线等高线离散到规则1. 将等高线与控制点的经纬度坐标转换为DEM中对应的像素坐标; 2. 采用DDA算法将等高线离散并存储在DEM中; 3. 反复侵蚀,直到没有可侵蚀的像素。DEM中的所有高程点为最临近已知点的高程中的最小值; 4. 获取等值线,以栅格形式存在; 5. 处理山顶和谷地。4.1 等高线一体化生成三维高程库兰州市区标准的两山夹一河地形Unity中显示兰州市区标准的两山夹一河地形启用4个线程并行处理,包括读取等高线
11、时间、生成DEM时间、再加上保存DEM成GeoTiff文件 时间,总共花了1.6*4秒(兰州市区四幅5万数据)!而且DEM数据经验证后完全正确!LOD:地图的级别,最上一级为0,向下依次递增; X :瓦片的横向索引,起始位置为最左边,数值为0,向右+1递增; Y :瓦片的纵向索引,起始位置为最上面,数值为0,向下+1递增。(0,0,0)Dem(0,0,0)Tex三维场景形成简图LODXY4.1 等高线一体化生成三维高程库unsigned int tilesX = (unsigned int)2 * (1 (unsigned int)LOD);unsigned int tilesY = (uns
12、igned int)1 * (1 (unsigned int)LOD);double rx = (L - (-180) ) / 360;int tileX = clampBelow( (unsigned int)(rx * (double)tilesX), tilesX-1 );double ry = (B - (-90) ) / 180;int tileY = clampBelow( (unsigned int)(1.0-ry) * (double)tilesY), tilesY-1 );return DTIS_TileKey( LOD, tileX, tileY );通过LOD, L, B
13、确定瓦片1. 求出瓦片的地理范围; 2. 通过地理范围计算出世界坐标; 3. 计算世界坐标下的对角线长度; 4. 对角线长度乘以缩放比例得出当前PagedLOD的最小范围(本系统中缩放 比例为6)。PagedLOD动态加载4.1 等高线一体化生成三维高程库4.2 svg快速生成三维军标1. QSvgRender转成QBitmap; 2. QBitmap转成QRegion; 3. QPainterPath添加QRegion; 4. QPainterPath简化simpified() ; 5. QPainterPath转成QPolygon群; 6. QPolygon 进行道格拉斯-普克算法抽稀;
14、7. 在三维组件中构建PlotSblNode节点。二维军标支持SVG的自行扩展,三 维军标只能用这种快速建模的方法 才能更好的实现向后兼容。其中用 到的各种算法以及算法中的参数起 到了承上启下的作用。4.3 三维水面仿真AX+BY+CZ+D=0AX+BY+CZ+D=0 水面遮挡节点水面遮挡节点投影纹理:太投影纹理:太 阳光阳光浪花、雾、浪花、雾、 泡沫泡沫反射纹理:反射纹理: RTTRTT技术渲染技术渲染 到纹理到纹理折射纹理:折射纹理: RTTRTT技术渲染技术渲染 到纹理到纹理GLSLGLSL纹理扭曲纹理扭曲 多重纹理叠加多重纹理叠加4.4 海量地名1. 约有400万个地名如何 存储? 2. 这么多地名如何快速查 询? 3. 如何在三维场景中显示 视口区域的地名? 4. 不需要显示的地名如何 删除才能解决资源同抢的 问题?4.5 三维格网经纬格网效果展示北约MGRS网格数据军标二维三维航线并行机制与强大的 样式管理军用图民用图叠加显示 市面上GIS数据的全部支持向后兼容,可扩展海量数据加载 二维军标快速建模 真实的仿真效果 多引擎切换百万级航线在地图上实 时显示与托盘管理五、创新点与亮点五、创新点与亮点L/O/G/OThank You!