“多源信息融合三维可视化平台”的版本间的差异

来自CGTWiki
跳转至:导航搜索
数据下载
相关资料
 
(未显示8个用户的192个中间版本)
第1行: 第1行:
 +
[[文件:三维可视化平台.png|缩略图|多源信息融合三维可视化平台CS界面]]
 +
[[文件:平台BS界面.png|缩略图|多源信息融合三维可视化平台BS界面]]
 +
[[文件:平台视频.mp4|缩略图|300px|平台视频]]
 +
[[文件:小场景视频.mp4|缩略图|小场景视频]]
 +
[[文件:Yungu.mp4|缩略图|天安云谷项目视频]]
 +
[[文件:阳原视频融合例子.mp4|300px|缩略图|智慧园区]]
 +
[[文件:电厂视频.mp4|300px|缩略图|电厂视频]]
 +
[[文件:三维插件加载.mp4|300px|缩略图|三维插件加载]]
  
[[文件:三维可视化平台.png|缩略图|多源信息融合三维可视化平台]]
+
==平台git==
 +
<pre>
 +
http://git.cgt3d.cn/platform/3dgisplatform.git
 +
</pre>
 +
==数据服务器==
 +
用户名:Administrator
 +
 
 +
密码:1qaz@wsx**
 +
 
 +
数据key:
 +
<pre>
 +
gN8qSo67MEwf9KOPgg0ATBSb60ebGwUCWKdrPKNH/TAbusqx73iBu5T4kZ1DyLXPwIuVagXoC5d4
 +
vLd6BFpwv6mR3t9Nz1LbMxMUgrH9BznhQCscGZb/F8Wlz8mqtSSUGH/HBcL9ADE+QDW3qPba997T
 +
xB8ErlDKuJ6duqOH6iHul1YLrO8B2lgsysPJu1mG31mWIGR9rCL+omXcTM1hqhFW6EsVXjnOqWHE
 +
nmrRXmLcxsup70ud/PbJ3ML9UxjHkRhlmNBruHEzVvR2eRaTvOjcXs0doDu6nV3TaYYl7ujhzEIa
 +
XTYCXtOmX8UVhWo7ml6o+PZKIH297o5XlxrP1Q==
 +
</pre>
 +
 
 +
校内服务器测试
 +
<pre>
 +
http://mapin.cgt3d.cn:8089/WeServer/wmts/1.0.0/acimage/default/wgs84/3/1/6.jpg
 +
 
 +
http:///mapin.cgt3d.cn:8089/WeServer/tms/1.0.0/acimage
 +
 
 +
http://mapin.cgt3d.cn:8089/WeServer/tms/1.0.0/acdem
 +
 
 +
http://mapin.cgt3d.cn:8089/WeServer/wmts?Service=WMTS&Request=GetCapabilities
 +
</pre>
 +
 
 +
SMB共享硬盘映射
 +
 
 +
\\smb.'''cgt3d.cn'''\smb
 +
 
 +
\\2001-da8-215-c38e-21df-d2bd-d2b1-2711.ipv6-literal.net\smb
 +
 
 +
 
 +
 
 +
[http://bbs.3s001.com/thread-325839-1-1.html 水经注中间件]
 +
[[文件:中间件的命名用方法.7z|缩略图|中间件的命名用方法]]
 +
 
 +
==摄像头信息==
 +
 
 +
<pre>
 +
rtsp://admin:abc12345@10.108.63.61:554/h264/ch1/main/av_stream
 +
rtsp://admin:abc12345@10.108.62.64:554/h264/ch1/main/av_stream
 +
rtsp://admin:abc12345@10.203.17.198:554/h264/ch1/main/av_stream
 +
硬盘录像机IP:10.108.62.68;密码:a6688006
 +
</pre>
 +
 
 +
==通用演示版本==
 +
[ftp://cgt3d.cn/%C6%BD%CC%A8%CF%E0%B9%D8/%C6%BD%CC%A8%B0%B2%D7%B0%B0%FC/%CE%DE%D1%A7%D0%A3%B1%EA%CA%B6%B0%E6%B1%BE/3DPlatForm.exe 通用版本20201104]
 +
===现存问题===
 +
#模型图层应当默认加载
 +
#模型图层下的模型单击跳转到相应模型,双层或右键显示其属性
 +
#unity3d 非最终版本
 +
 
 +
===已解决的问题===
 +
 
 +
==功能目标框图==
 +
[[文件:功能目标框图.png|800px|功能目标框图]]
 +
 
 +
==资料==
 +
===[[CLI封装]]===
 +
[[文件:Visual C++/CLI从入门到精通.pdf|缩略图|Visual C++/CLI从入门到精通]]
 +
 
 +
[[文件:精通.NET互操作.pdf|缩略图|精通.NET互操作]]
 +
 
 +
===[[插件设计]]===
 +
[[文件:插件式GIS应用框架的设计与实现.pdf|缩略图|插件式GIS应用的设计与实现]]
  
 
== 平台的软件架构 ==
 
== 平台的软件架构 ==
 +
===体系框架===
 +
[[文件:总体框图.png|总体框图]]
  
=== 界面层: ===
+
=== 界面层 ===
 
界面层采用微软的WPF技术,WPF拥有以下几大优势:
 
界面层采用微软的WPF技术,WPF拥有以下几大优势:
  
第14行: 第92行:
  
 
=== 引擎层===
 
=== 引擎层===
 +
平台采用双引擎架构,即可以利用osgEarth全球地理信息平台的优势展示大场景数据,又可以利用unity3D引擎良好的生态生成高质量的小场景交互操作,通过unity3D的插件能够加载BIM数据。
 
==== OSGEARTH ====
 
==== OSGEARTH ====
 
大场景的三维实时渲染引擎采用osgearth,其官网为[http://osgearth.org/ osgearth]。
 
大场景的三维实时渲染引擎采用osgearth,其官网为[http://osgearth.org/ osgearth]。
第36行: 第115行:
 
#工具插件齐全,小场景开发速度快,光影效果好
 
#工具插件齐全,小场景开发速度快,光影效果好
 
#C#语言开发,易于集成
 
#C#语言开发,易于集成
 +
==三维地理信息数据==
 +
===水经注地图下载器===
 +
[[文件:水经注.7z|缩略图|水经注地图下载器]]
 +
===数据链接===
 +
#[ftp://cgt3d.cn/%B5%D8%D0%C5%CA%FD%BE%DD/%C8%AB%C7%F2%B5%DA%B0%CB%BC%B6tif.zip 全球第八级卫星数据]
 +
#[ftp://cgt3d.cn/%B5%D8%D0%C5%CA%FD%BE%DD/%C8%AB%C7%F2%B5%DA10%BC%B6tif.zip 全球第十级卫星数据]
 +
#[ftp://cgt3d.cn/%B5%D8%D0%C5%CA%FD%BE%DD/30m%B8%DF%B3%CC.tif 全球30m高程数据]
 +
#[ftp://cgt3d.cn/%B5%D8%D0%C5%CA%FD%BE%DD/%C8%AB%C7%F2%B5%DA%B0%CB%BC%B6%A3%A8%B4%A6%C0%ED%BA%F3%A3%A9.7z 全球第八级卫星osgb数据(osgdem处理后)]
 +
#[ftp://cgt3d.cn/地信数据/全球卫星影像瓦片数据.zip 全球卫星影像瓦片数据十级]
  
 
== 平台的刚需与团队优势 ==
 
== 平台的刚需与团队优势 ==
 
===三维平台与传感接入的刚性需求、痛点===
 
===三维平台与传感接入的刚性需求、痛点===
 
一个产品应当找到他的应用场景,解决客户的刚性需求。只能通过不断地调研解决问题。
 
一个产品应当找到他的应用场景,解决客户的刚性需求。只能通过不断地调研解决问题。
 +
 +
用户从来不关心你的技术有多牛,他们关心的是你的产品对他们的有用性。
 +
===监狱系统的需求样例===
 +
====实战平台GIS地图引擎====
 +
#三维场景基础应用:场景浏览、图层管理、空间量测、兴趣点管理、搜索定位、路径巡视、区域录像、区域截屏、运动轨迹标注。
 +
#业务模块集成
 +
##实时视频融合(仅3D模式下)
 +
##全景视频回溯与倒播
 +
##报警源可视化
 +
##警务指挥模块
 +
##内置警用符号库,具有警力部署,执勤态势,智能巡更,日常警务,预案演练,协同标绘,用户权限分配等功能
 +
##智能报警模块
 +
##业务模块智能联动,智能报警管理,报警事件可视化,报警情况记录在案并具统计分析功能
 +
##设备监控管理
 +
##内置前端硬件设备管理日志,设备失效、损坏自动报警
 +
##支持基于空间的数据可视化,如表格,统计图等
 +
##支持基于配置文件的模块功能扩展
 +
##实时更新具有定位信息的目标
 +
##数据与传感器的数据可视化
 +
#实战平台基础地图模型数据
 +
##看守所指定范围倾斜摄影数据,精度0.05M
 +
##看守所指定范围室内人工模型,精度0.05M
 +
====业务功能====
 +
#押解勤务:实时在三维地图上显示押解人员的位置及预设线路。当押解目标异常(延迟、离开预设线路、消失等)时,系统自动报警。
 +
#4G图传:通过4G网线,把现场的视频及图片实时回传到平台内。
 +
#视频点与场景结合:在三维场景中标记每个视频点的对应位置,并提供多种视频调取方式,单选,多选,自定义搜索等;
 +
#警力分布:通过收集执勤人员的设备上的GPS位置信息,实时定位警员位置,在场景中体现警力分布情况。
 +
#智慧监室智能终端模块:在系统中模拟终端的运行状态,与其它系统联动。
 +
#门禁智能管理模块:在系统中模拟门禁的运行状态,当有触发门禁的报警时,通过系统与视频联动,自动弹出触发点附近的视频。
 +
#人脸识别管理模块:人脸识别数据及呈现在可视化系统内。
 +
#应急求助模块:在系统中模拟求助盒的运行状态,当求助盒被触发时,通过系统与视频联动,自动弹出触发点附近的视频。
 +
#高压电网模块:在系统中模拟电网的运行状态,当有触发电网的报警时,通过系统与视频联动,自动弹出触发点附近的视频。
 +
#在押人员报告管理模块:在系统中模拟报告箱的运行状态,当有触发报警时,通过系统与视频联动,自动弹出触发点附近的视频。
 +
#人脸识别管理模块:人脸识别数据及呈现在可视化系统内。
 +
====三维地图中数据呈现的硬件列项====
 +
[[文件:硬件需求.png|800px|无框|无]]
  
 
===三维平台的团队优势===
 
===三维平台的团队优势===
#工程硕士占大多数,没有论文压力,可一年内全身心的投入平台建设。(这可能是主观愿望,也不一定是真正的优势)
+
#工程硕士占大多数,没有论文压力,可一年内全身心的投入平台建设。
  
 
== 平台研发的近期目标 ==
 
== 平台研发的近期目标 ==
第49行: 第173行:
 
*N路视频在同一模型上的加载
 
*N路视频在同一模型上的加载
 
*服务器选用[[海康威视]]的服务器
 
*服务器选用[[海康威视]]的服务器
 +
*<big>'''使用blender进行视频模型的矫正'''</big>
 +
[[文件:视频矫正.mp4|无|800px|使用blender矫正视频]]<br>
  
 
=== 人员,车辆等的室内室外定位 ===
 
=== 人员,车辆等的室内室外定位 ===
第59行: 第185行:
  
 
=== 三维场景下大规模视频的拼接与融合 ===
 
=== 三维场景下大规模视频的拼接与融合 ===
 +
[https://www.xianjichina.com/special/detail_397037.html 安防与物联网]
 +
 
====背景与意义====
 
====背景与意义====
 
  随着视频监控联网系统的不断普及和发展, 网络摄像机 更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用。
 
  随着视频监控联网系统的不断普及和发展, 网络摄像机 更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用。
第76行: 第204行:
 
  虽然三维理信息系统有很多的优点,但三维地理信息系统为了追求高速渲染,而牺牲了渲染质量,尤其对小场景的渲染。
 
  虽然三维理信息系统有很多的优点,但三维地理信息系统为了追求高速渲染,而牺牲了渲染质量,尤其对小场景的渲染。
  
==== 海内外现状 ====
+
==== 国内外现状 ====
 
文献:
 
文献:
 
*[http://www.irgrid.ac.cn/handle/1471x/2327533?mode=full# 基于 GIS 的无人机地理视频三维可视化]
 
*[http://www.irgrid.ac.cn/handle/1471x/2327533?mode=full# 基于 GIS 的无人机地理视频三维可视化]
 
+
*[https://cloud.tencent.com/developer/article/1501942 论视频与三维图形的融合]
 
+
*[http://xb.sinomaps.com/CN/10.11947/j.AGCS.2020.20190282 三维GIS场景与多路视频融合的对象快速确定法]
现在市场上做视频拼接的公司有如下:
+
*[http://cctv.cps.com.cn/article/201301/683503_all.html 基于三维视频融合的监控分析系统]
*[http://www.innovisgroup.com/plan.html 正安维视 北京 有GIS]
+
*[https://wenku.baidu.com/view/3c67dd5cba1aa8114531d906.html 3DGIS与多视频融合系统的设计与实现]
*[http://www.smartyunzhou.com/ 智慧云舟 北京 有GIS]
+
*[http://www.cctv.cps.com.cn/article/201306/690225_all.html 基于3D的GIS智慧安防可视化管理平台]
*[http://www.converse3d.com/fangan.php?id=202&pid=1 中天灏景 北京 有GIS]
+
*[https://blog.csdn.net/lxg9305171/article/details/79970009 WebGL中实现三维融合视频投影技术]
*[http://www.chinadaohe.com.cn/NewsDetail.aspx?ID=148 道和汇通 北京 无GIS]
+
*[https://blog.csdn.net/csedisys/article/details/88814802  CSDN博客 高空瞭望视频监控+三维场景视频融合平台]
*[http://www.netalent.cn/softwarecase/show/48.html 互联精英 深圳 无GIS]
+
*[https://magazine.supermap.com/view-1000-221.aspx 超图三维场景中的多源数据融合技术]
 
 
 
 
知乎上有关的链接:
 
*[https://zhuanlan.zhihu.com/p/92525723 三维GIS视频融合监控平台知乎]
 
  
 
==== 平台现状 ====
 
==== 平台现状 ====
第96行: 第220行:
  
 
==== OSGEARTH下的动态投影纹理 ====
 
==== OSGEARTH下的动态投影纹理 ====
 +
[[文件:无人机视频融合.mp4|300px|缩略图|无人机投影纹理]]
 
===== OSGEARTH下shader的加载 =====
 
===== OSGEARTH下shader的加载 =====
 
===== 投影纹理的基础知识 =====
 
===== 投影纹理的基础知识 =====
第108行: 第233行:
 
室内定位是指在室内环境中实现位置定位,一般采用无线通讯、基站定位、惯导定位等多种技术集成形成一套室内定位体系,从而实现人员、物体等在室内空间中的实时位置监控。
 
室内定位是指在室内环境中实现位置定位,一般采用无线通讯、基站定位、惯导定位等多种技术集成形成一套室内定位体系,从而实现人员、物体等在室内空间中的实时位置监控。
 
===== 常见室内定位技术 =====
 
===== 常见室内定位技术 =====
目前常见的室内无线定位技术有:Wi-Fi、蓝牙、红外线、超宽带、RFID、ZigBee和超声波等。
+
目前常见的室内无线定位技术有:Wi-Fi、蓝牙、红外线、超宽带、RFID、ZigBee和超声波等,各项技术的优势以及缺点将在下图中综合给出。<br>
# 1 、Wi-Fi技术
+
 
通过无线接入点(包括无线路由器)组成的无线局域网络(WLAN),可以实现复杂环境中的定位、监测和追踪任务。它以网络节点(无线接入点)的位置信息为基础和前提,采用经验测试和信号传播模型相结合的方式,对已接入的移动设备进行位置定位,最高精确度大约在1米至20米之间。如果定位测算仅基于当前连接的Wi-Fi接入点,而不是参照周边Wi-Fi的信号强度合成图,则Wi-Fi定位就很容易存在误差(例如:定位楼层错误)。
+
*[https://www.jianshu.com/p/3f75a30bd37d  5G如何推动室内定位领域的发展]
另外,Wi-Fi接入点通常都只能覆盖半径90米左右的区域,而且很容易受到其他信号的干扰,从而影响其精度,定位器的能耗也较高。
 
# 2 、蓝牙技术
 
蓝牙通讯是一种短距离低功耗的无线传输技术,在室内安装适当的蓝牙局域网接入点后,将网络配置成基于多用户的基础网络连接模式,并保证蓝牙局域网接入点始终是这个微网络的主设备。这样通过检测信号强度就可以获得用户的位置信息。
 
蓝牙定位主要应用于小范围定位,例如:单层大厅或仓库。对于持有集成了蓝牙功能移动终端设备,只要设备的蓝牙功能开启,蓝牙室内定位系统就能够对其进行位置判断。
 
不过,对于复杂的空间环境,蓝牙定位系统的稳定性稍差,受噪声信号干扰大。
 
# 3 、红外线技术
 
红外线技术室内定位是通过安装在室内的光学传感器,接收各移动设备(红外线IR标识)发射调制的红外射线进行定位,具有相对较高的室内定位精度。
 
但是,由于光线不能穿过障碍物,使得红外射线仅能视距传播,容易受其他灯光干扰,并且红外线的传输距离较短,使其室内定位的效果很差。当移动设备放置在口袋里或者被墙壁遮挡时,就不能正常工作,需要在每个房间、走廊安装接收天线,导致总体造价较高。
 
# 4 、超宽带技术
 
超宽带技术与传统通信技术的定位方法有较大差异,它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,可用于室内精确定位,例如:战场士兵的位置发现、机器人运动跟踪等。
 
超宽带系统与传统的窄带系统相比,具有穿透力强、功耗低、抗多径效果好、安全性高、系统复杂度低、能够提高精确定位精度等优点,通常用于室内移动物体的定位跟踪或导航。
 
# 5 、RFID技术
 
RFID定位技术利用射频方式进行非接触式双向通信交换数据,实现移动设备识别和定位的目的。它可以在几毫秒内得到厘米级定位精度的信息,且传输范围大、成本较低;不过,由于以下问题未能解决,以RFID定位技术的适用范围受到局限。1. RFID不便于整合到移动设备之中2. 作用距离短(一般最长为几十米)3. 用户的安全隐私保护4. 国际标准化
 
# 6、 ZigBee技术
 
ZigBee是一种短距离、低速率的无线网络技术。它介于RFID和蓝牙之间,可以通过传感器之间的相互协调通信进行设备的位置定位。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以ZigBee最显著的技术特点是它的低功耗和低成本。
 
# 7、 超声波技术
 
超声波定位主要采用反射式测距(发射超声波并接收由被测物产生的回波后,根据回波与发射波的时间差计算出两者之间的距离),并通过三角定位等算法确定物体的位置。
 
超声波定位整体定位精度较高、系统结构简单,但容易受多径效应和非视距传播的影响,降低定位精度;同时,它还需要大量的底层硬件设施投资,总体成本较高。
 
# 8 、视觉定位
 
用手机摄像头或双目摄像头拍摄周边画面,并和已经预先储存的环境图像进行匹配,确定自己的位置。定位精度小于米,优点是可以直接用手机定位,不需要在室内部署基础设施。缺点是技术不成熟,稳定性不高,图像处理耗费大量和电量资源,定位操作方式怪异,用户体验不好,理论上有不可避免的问题,例如在环境单一的长走廊或类似场景中,仅靠机器视觉是难以准确定位的。
 
# 9 、惯性导航技术
 
这是一种纯客户端的技术,主要利用终端惯性传感器采集的运动数据,如加速度传感器、陀螺仪等测量物体的速度、方向、加速度等信息,基于航位推测法,经过各种运算得到物体的位置信息。随着行走时间增加,惯性导航定位的误差也在不断累积。需要外界更高精度的数据源对其进行校准。所以现在惯性导航一般和WiFi指纹结合在一起,每过一段时间通过WiFi请求室内位置,以此来对MEMS产生的误差进行修正。该技术目前的商用得也比较成熟,在扫地机器人中得到广泛应用。
 
# 10、 LED可见光技术
 
可见光是一个新兴领域,通过对每个LED灯进行编码,将ID调制在灯光上,灯会不断发射自己的ID,通过利用手机的前置摄像头来识别这些编码。利用所获取的识别信息在地图数据库中确定对应的位置信息,完成定位。根据灯光到达的角度进一步细化定位的结果,高通公司做到了厘米级定位精度。由于不需要额外部署基础设施,终端数量的扩大对性能没有任何的影响,并且可以达到一个非常高的精度,该技术被高通公司所看好。目前,可见光技术在北美有很多商场已经在部署。用户下载应用后,到达商场里的某一个货架,通过检测货架周围的灯光即可知晓具体位置,商家在通过这样的方法向消费者推动商品的折扣等信息。
 
  
 
===== 主要运营公司 =====
 
===== 主要运营公司 =====
室内定位技术主要分基站定位和惯导定位两种服务商。基站定位服务商主要有:谷歌、诺基亚、TI、苹果、高德、百度等采用WIFI定位;惯导定位服务商主要有:美国的NAVISEER,龙旗瑞谱科技,上海消防研究所。商用技术基本采用WIFI,RFID等无线通讯基站方案,针对应急救援主要采用惯性导航等技术方案。目前国内的几家设备公司例如蜂鸟视图(https://www.fengmap.com/solution-business.html)、万位科技(https://www.wanwaytech.com/qiye/)提供无线和有线多种设备,可利用GPS+北斗+WIFI+基站进行定位,蜂鸟视图提供Android、IOS、JAVAScript SDK支持,无线设备多为盒状物体,可续航数年产品报价与需求量有关,目前尚不可获得报价。也有APP例如寻鹿、万汇等软件,但只能提供特定城市的特定区域定位导航。
+
室内定位技术主要分基站定位和惯导定位两种服务商。基站定位服务商主要有:谷歌、诺基亚、TI、苹果、高德、百度等采用WIFI定位;惯导定位服务商主要有:美国的NAVISEER,龙旗瑞谱科技,上海消防研究所。商用技术基本采用WIFI,RFID等无线通讯基站方案,针对应急救援主要采用惯性导航等技术方案。目前国内的几家设备公司例如蜂鸟视图[[https://www.fengmap.com/solution-business.html]]、万位科技[[https://www.wanwaytech.com/qiye]]提供无线和有线多种设备,可利用GPS+北斗+WIFI+基站进行定位,蜂鸟视图提供Android、IOS、JAVAScript SDK支持,无线设备多为盒状物体,可续航数年产品报价与需求量有关,目前尚不可获得报价。也有APP例如寻鹿、万汇等软件,但只能提供特定城市的特定区域定位导航。
  
 
==== 温湿度传感器 ====
 
==== 温湿度传感器 ====
 +
温湿度传感器是传感器其中的一种,是把空气中的温湿度通过一定检测装置,测量到温湿度后,按一定的规律变换成电信号或其他所需形式的信息输出,用以满足用户需求。
 +
 
==== 门禁设备 ====
 
==== 门禁设备 ====
 
==== 电力行业常见传感器 ====
 
==== 电力行业常见传感器 ====
  
=== 实时水面渲染 ===
 
平台海洋实时渲染采用的是SUNDOG公司triton插件。<br>
 
  
 +
OsgEarth平台海洋实时渲染采用的是SUNDOG公司triton插件。<br>
 +
基于FFT的大规模海面模拟:http://blog.sina.com.cn/s/blog_15ff6002b0102xnhc.html
  
 +
===建筑信息模型(BIM)===
 +
*[https://www.bilibili.com/video/BV1uE411H7sR?from=search&seid=17041706408266536734 unity与revit的联合开发]
  
==== 海浪仿真 ====
+
建筑信息模型(Building Information Modeling)是建筑学、工程学及土木工程的新工具。建筑信息模型或建筑资讯模型一词由Autodesk所创的。它是来形容那些以三维图形为主、物件导向、建筑学有关的电脑辅助设计。当初这个概念是由Jerry Laiserin把Autodesk、Bentley系统软件公司、Graphisoft所提供的技术向公众推广。
国内外很多专家学者针对海浪仿真做了大量的研究工,随着人们对海浪的深入研究,海浪建模已取得了较大突破,目前对海面波浪进行建模可以分为'''基于物理模型的方法'''、'''基于几何模型的方法'''、'''基于谱分析的方法'''以及'''基于粒子系统的方法'''。<br>
 
<pre>
 
===1 基于几何模型===
 
</pre>
 
基于几何模型的方法是从海面波浪的几何形状出发,通过构造一定的数学函数,人为设置海浪参数,模拟一个近似真实的海洋表面。常用的有G-R模型法。Gersmer-Rankine模型描述海洋表面水粒子的运动规律,自由表面中的每一个水粒子沿着其静止位置点做圆形或椭圆形运动,其运动轨迹可以看成是由半径为1/ k的圆上距离圆心为r的一个点P,沿X轴下方距离1/k的直线滚动得到的。G-R模型是一个在水平和垂直方向上的单正弦波,因此构建和表现的海面真实感较差,因此在G-R模型的基础上可进行一些改进,如将一高频随机小振幅波,作为背景添加到场景中,使其不影响整个海浪波形,同时又增加海面的随机性、复杂性,或者采用三至五个正弦波进行叠加得到的波生成海面,增加波形的变化等。<br>
 
基于几何模型的方法适合模拟大面积海面,没有大量的复杂计算,实时性较好,但缺点是生成的海浪表面真实感较差<sup>[1-4]</sup>。<br>
 
<pre>
 
===2 基于谱分析===
 
</pre>
 
谱在数学上定义为随机序列任意两点相关函数的傅立叶变换,海浪谱是功率谱,代表海浪能量相对于组成波的频率分布。由于海浪谱反映出能量密度,故称为频谱。海浪的频谱描述就是作为随机过程的海浪中的能量分布相对于组成波的频率分布。可以根据频谱得到余弦波的振幅与其频率之间的关系。<br>
 
基于谱分析的方法是从海洋观测的结果出发,采用适当的海浪谱方法模拟海面波浪,如采用大量正弦波的叠加来模拟海面,通过快速傅里叶变换(FFT)合成一个类似海浪谱分布的高度场,并利用该高度场对水面进行模拟。这种方法具有很强的灵活性,并且由于它的数据基础来自于海洋统计学模型,因此渲染出来的水面真实感较强。但是缺点是采用规则网格,数据量大,很难实时渲染水面<sup>[5-8]</sup>。<br>
 
<pre>
 
===3 基于粒子系统===
 
</pre>
 
基于粒子系统的方法主要用于对由波破碎和与障碍物相碰引起的水沫和飞沫建模。这种方法能生成真实感很强的泡沫和飞沫,但需要在真实感和实时性两个方面进行综合考虑,如粒子模型构造太简单、粒子数太少,表现的对象真实感就较差,如粒子模型复杂、粒子数过多,计算量就较大,难以实时进行表现<sup>[9-11]</sup>。
 
<pre>
 
===4 基于物理模型===
 
</pre>
 
基于物理模型的建模,是针对液体的波动,从海面波浪的物理特性出发,不直接模拟海浪的运动,通过计算力学N-S方程获得海浪内部各质点的运动状态,用该方法模拟的波形充分地考虑了海浪运动的随机性,能更好、更真实地反映海浪形态各个要素的变化,同时也能较充分地反映海浪的成长特性及能量分布<sup>[12-16]</sup>。
 
 
 
'''参考文献:'''<br>
 
 
 
[1] Blinn J F. Simulation of wrinkled surfaces[J]. Computer Graphics,1978, 12(3):286-292.
 
 
 
[2] Fishman B, Schachter B. Computer display of height fields[J]. Computer Graphic,1980,14(5):53-60.
 
 
 
[3] Max N L. Vectorized procedural models for natural terrain: waves and islands in the sunset[J]. Computer Graphics, 1981, 15(3):317-324.
 
 
 
[4] Rankine W J W. On the exact form of waves near the surfaces of deep water[J]. Phil. Trans. R. Soc. A, 1863, 153(4):127–138.
 
 
 
[5] Tessendorf. Simulating ocean water[EB/OL]. http://home.gte.net/tssndrf/index.html, 2001.
 
  
[6]Jensen. Deep-water animation and rendering[EB/OL]. http://www.gamasutra.com/
 
 
gdce/Jensen/Jensen_01.html, 2001.
 
 
[7] Deviprasad T,Kesavadas T. Virtual Prototyping of Assembly Components Using Process Modeling[J]. Journal of Manufacturing Systems, 2003, 22(1):16-27.
 
 
[8] 熊艳飞, 石志广, 郭建, et al. 基于海浪谱模型和 FFT 的海面建模[J]. 重庆理工大学学报(自然科学), 2014, 28(4):77-82.
 
 
[9] Reeves W T, L Ltd. Particle system—a technique for modeling a class of fuzzy objects[J]. Computer Graphics, 1983, 17(3):359-376.
 
 
[10] Peachey D R. Modeling waves and surf[J]. Computer Graphics, 1986, 20(4):65-74.
 
 
[11] 张艺衡, 李晓峰, 刘小玲, et al. 基于GPU粒子系统的可交互水波实时模拟[J]. 计算机工程与设计, 2014, 35(8):2831–2835.
 
 
[12] Chen J X, Lobo N V. Toward interactive-rate simulation of fluids with moving obstacles using Navier-Stokes equations[J]. Graph Models Image Process, 1995, 57(2):107-116.
 
 
[13]Foster N, Metaxas D. Modeling water for computer animation[J]. Communications of the ACM, 2000, 43(7):60-67.
 
 
[14] Kass M, Miller G. Rapid, stable fluid dynamics for computer graphics[J]. ACM SIGGRAPH Computer Graphics, 1990, 24(4):49-57.
 
 
[15] Chentanez N, Müller M. Real-time Eulerian water simulation using a restricted tall cell grid[J]. ACM Transactions on Graphics, 2011, 30(4):82-93.
 
 
[16] 刘文龙, 张静. 用MC算法优化基于 SPH的海浪粒子模型[J]. 海洋技术学报, 2017, 36(2):41-45.
 
 
==== 湖面仿真 ====
 
 
=== 实时云模拟 ===
 
 
=== 视点漫游 ===
 
=== 视点漫游 ===
  
第219行: 第266行:
  
 
=== 数据下载 ===
 
=== 数据下载 ===
本平台所需数据主要下载自Planet OSM(https://planet.openstreetmap.org),均为立刻下载的免费数据。
+
本平台所需数据主要下载自[https://planet.openstreetmap.org  Planet OSM],均为免费数据。
 
==== 影像数据 ====
 
==== 影像数据 ====
 
影像数据目前包含数个视频,下载来源为https://10.108.59.113/:8443/svn/WPFOSG。
 
影像数据目前包含数个视频,下载来源为https://10.108.59.113/:8443/svn/WPFOSG。
第225行: 第272行:
 
高程数据下载自谷歌地图和水经注地图http://www.rivermap.cn的高程数据下载。
 
高程数据下载自谷歌地图和水经注地图http://www.rivermap.cn的高程数据下载。
 
==== 矢量数据 ====
 
==== 矢量数据 ====
矢量数据主要包括全国和数个城市周边的OSM数据,Planet OSM(https://planet.openstreetmap.org)提供以下两个下载路径:https://planet.osm.org/,其中http://download.geofabrik.de 提供的是洲级和国家级数据下载,可以根据需求直接在页面进行下载。而https://download.bbbike.org/osm 提供了一些切割完成的特定区域和全球任意地区的任意形状的地区地图下载,文件大小下载上限为520M,根据需要选择选项,需要提供接收邮箱,待选定区域的数据在线处理结束后将下载链接发送至邮箱,点击链接即可下载。以上所列出的下载方式据提供多种数据格式,由于矢量数据的处理软件为Maperitive要求使用OSM文件,故下载数据时选用了OSM数据。http://maperitive.net为地图处理软件官网,根据页面提示可以立即下载,加压下载文件后打开应用程序文件,按照以下步骤操作。<br>
+
矢量数据主要包括全国和数个城市周边的OSM数据,Planet OSM[[https://planet.openstreetmap.org]]提供以下两个下载路径:GeoFabrik[[https://planet.osm.org]]和BBBike[[https://download.bbbike.org/osm ]],其中GeoFabrik[[http://download.geofabrik.de]] 提供的是洲级和国家级数据下载,可以根据需求直接在页面进行下载。而BBBike[[https://download.bbbike.org/osm ]]提供了一些切割完成的特定区域和全球任意地区的任意形状的地区地图下载,文件大小下载上限为520M,根据需要选择选项,需要提供接收邮箱,待选定区域的数据在线处理结束后将下载链接发送至邮箱,点击链接即可下载。以上所列出的下载方式据提供多种数据格式,由于矢量数据的处理软件为Maperitive要求使用OSM文件,故下载数据时选用了OSM数据。此[[http://maperitive.net]]为地图处理软件Maperitive官网,根据页面提示可以立即下载,加压下载文件后打开应用程序文件,按照以下步骤操作。<br>
1、设定地图区域:目前Maperitive使用电脑内存来存储地图数据,因此需根据电脑配置和需求来限定地图范围。(我的电脑32G切省级的没有问题,全国地图的话,32G内存依然不够)。一般有两种方式来设定地图区域:(1)打开Maperitive,调整地图显示区域至需要范围,点击Map / Set Bounds即可。(2)使用命令行(软件底部),例如:bounds-set 117.04261175,36.6741025754786,117.06649825,36.6808674694984<br>
+
# 1、设定地图区域:<br>
2、关闭web map:
+
目前Maperitive使用电脑内存来存储地图数据,因此需根据电脑配置和需求来限定地图范围。(我的电脑32G切省级的没有问题,全国地图的话,32G内存依然不够)。一般有两种方式来设定地图区域:
 +
*(1)打开Maperitive,调整地图显示区域至需要范围,依次点击Map / Set Bounds即可。
 +
*(2)使用命令行(软件底部),例如:bounds-set 117.04261175,36.6741025754786,117.06649825,36.6808674694984<br>
 +
# 2、关闭web map:<br>
 
打开web map 在切图是会下载在线地图数据,因此速度会非常慢,一般的做法是先将要切的地图数据下载下来,将web map关闭(点击web map前面的黄色五角星即可)。<br>
 
打开web map 在切图是会下载在线地图数据,因此速度会非常慢,一般的做法是先将要切的地图数据下载下来,将web map关闭(点击web map前面的黄色五角星即可)。<br>
3、导入本地地图数据:
+
#3、导入本地地图数据:<br>
依次点击file--》Open Map Source--》选择以下载好的.osm文件,软件开始加载数据,具体时间取决于数据大小。
+
依次点击file--》Open Map Source--》选择以下载好的.osm文件,软件开始加载数据,具体时间取决于数据大小。<br>
 
在加载完成后,会在命令提示区显示完成:当然,Maperitive本身也提供了地图数据下载(Map / Download OSM Data)<br>
 
在加载完成后,会在命令提示区显示完成:当然,Maperitive本身也提供了地图数据下载(Map / Download OSM Data)<br>
4、修改地图样式:
+
#4、修改地图样式:<br>
选择 Map / Switch To Rules 来修改地图样式,因为没有什么特殊需要,在这我选择 1 default  。选择后,稍等便可以在下面预览到显示效果。<br>
+
依次选择 Map / Switch To Rules 来修改地图样式,因为没有什么特殊需要,在这我选择default 。选择后,稍等便可以在下面预览到显示效果。<br>
5、选择 Tools / Generate Tiles ,Maperitive会根据选择区域大小自己选择zoom范围并开始切图。如果需要自定义zoom范围,可使用命令行(为简单起见,我将zoom范围设置为1,2,3):
+
#5、选择 Tools / Generate Tiles ,Maperitive会根据选择区域大小自己选择zoom范围并开始切图。<br>
generate-tiles minzoom=1 maxzoom=3在命令提示行提示命令执行情况并返回结果:<br>
+
如果需要自定义zoom范围,可使用命令行(我将zoom范围设置为1-18):
6、至此,在Maperitive的安装目录下生成了Tiles文件夹,各地图切片(256X256的png图片)分级的保存在此文件夹下。
+
generate-tiles minzoom=1 maxzoom=18在命令提示行提示命令执行情况并返回结果<br>
 +
#6、至此,在Maperitive的安装目录下生成了Tiles文件夹,各地图切片(256X256的png图片)分级的保存在此文件夹下,可以直接移动到所需的文件夹。
 +
*'''注意:'''下一次切割的文件会覆盖前一次的文件,所以务必将tiles文件夹中的文件挪出,否则将丢失前一次数据!
  
 
=== 模型加载 ===
 
=== 模型加载 ===
第244行: 第296行:
  
 
=== 矢量数据加载 ===
 
=== 矢量数据加载 ===
平台中的二维地图数据使用了Maperitive地图软件处理下载自Planet OSM的全国和部分城市地区的OSM数据地图并进行瓦片的制作,以此来实现地域和地理信息显示的快速加载,摒弃了之前的全矢量数据,解决了数据加载过慢引起的各种问题。其次,采用叠加方式加载了全国10层和北京/深圳/菏泽等城市及周边地区的18层二维地图瓦片数据,数据格式使用切割工具默认格式,格式设置代码如下:
+
矢量加载功能:选择文件、加载文件,添加其颜色属性的丰富选择,添加文字加载选项,实现点线面的各种加载,可进行场景树的显示/复选框的加载删除,点击属性框可显示矢量文件的具体信息,
        <pre>
+
并且可以更改属性框中的线/面颜色/显示范围,更改后支持重新加载/保存功能。<br>
        properties
+
主要功能界面:<br>
map-background-color : #F1EEE8
+
==== 1.矢量加载主界面 ====<br>==== 2.矢量初始加载界面的颜色选择 ====<br>==== 3.矢量加载的效果图示(面形式)====<br>
map-background-opacity : 0
+
==== 4.矢量加载完成后,场景树点击显示的属性框,并且可以进行修改,重新渲染,然后保存到XML中 ====<br>
map-sea-color : #B5D0D0
+
[[文件:矢量加载.png|缩略图|无]]
font-weight : bold
+
[[文件:颜色.png|缩略图|无]]
font-family : Verdana
+
[[文件:加载图示.png|缩略图|无]]
text-max-width : 7
+
[[文件:矢量属性框.png|缩略图|无]]<br>
text-halo-width : 25%
 
text-halo-opacity : 0.75
 
text-align-horizontal : center
 
text-align-vertical : center
 
font-stretch : 0.9
 
map.rendering.lflp.min-buffer-space : 5
 
map.rendering.lflp.max-allowed-corner-angle : 40
 
        </pre>
 
  
 
=== 小场景 ===
 
=== 小场景 ===
 
小场景按规划路线自动漫游和第一人称手动漫游+“后续”监控视频流播放
 
小场景按规划路线自动漫游和第一人称手动漫游+“后续”监控视频流播放
 
<big>单场景漫游:</big><br>
 
<big>单场景漫游:</big><br>
[[文件:OSG小场景 学校.png|800px|无|OSG小场景_学校]]
+
[[文件:OSG小场景 学校.png|400px|无|OSG小场景_学校]]
<big>多场景漫游及监控视频流播放:</big>
+
 
[[文件:OSG小场景 场景选择界面.png|800px|无|OSG小场景_场景选择界面]]
+
=== 数据保存 ===
[[文件:OSG小场景 房间 1.png|800px|无|OSG小场景_全局照明房间]]
+
====保存机制====
[[文件:OSG小场景 公寓 1.png|800px|无|OSG小场景_公寓_固定位置的视频流播放]]
+
[[文件:保存机制.mkv|800px|保存机制]]
[[文件:OSG小场景 公寓 2.png|800px|无|OSG小场景_公寓_UI层的监控视频流播放]]
+
 
 +
<big>目前平台上保存的数据暂时只有蛮有路径,视频路径,模型路径。</big>
 +
#<big><big>目前存在的问题</big></big>
 +
::::*<big>视频右键不能播放,还是因为无法获取当前窗口的播放器控件。</big>
 +
::::*<big>模型的场景树右键菜单无效,正在查找原因。</big>
 +
::::*<big>平台启动后会将模型的路径加载到场景树中,目前还是准备在模型场景树的右键菜单中加入加载模型选项,即平台启动时不将之前保存的模型直接加载到osgearth中。</big>
 +
# <big><big>  视频(模型)的保存</big></big>
 +
::::*<big>视频路径及信息的保存是以xml文件的形式保存的。所以保存流程主要分两部分,一是对xml文件的读写;二是将视频路径及信息存入场景树。</big><br>
 +
::::*<big>xml读写部分通过名为XmlTool类实现。</big>
 +
::::*<big>类中的_isVido和_isModel用来确定查找的类型是视频还是模型。由于xml文件只能一层一层查找,所以指定查找的目标可以更方便查找路径。</big><br>
 +
::::*<big>类中FindPath方法用来寻找某条路径,GetAllPath 获取全部路径及信息,并存入xmlTools._vidoDataList中。eletePath 删除路径。AddVidoElement 添加视频路径,AddModelElement 添加模型路径。</big>
 +
<pre>            xmlTools.AddModelElement(XmlTools._isModel, "modelx2", "jk2", "11.2", "22.3", "33.5");//向xml添加模型路径及信息
 +
            xmlTools.FindPath(XmlTools._isModel, "modelx2");//查找某条路径
 +
            Console.WriteLine(xmlTools.tempData.name);//查找的结果在tempdata中,这里存储的是一条路径。在GetAllPath中_vidoDataList存储所有查询结果。
 +
            Console.WriteLine(xmlTools.tempData.path);
 +
            Console.WriteLine(xmlTools.tempData.window);
 +
            Console.WriteLine(xmlTools.tempData.video_lat);
 +
            Console.WriteLine(xmlTools.tempData.video_lon);
 +
            Console.WriteLine(xmlTools.tempData.video_altitude);
 +
            Console.WriteLine(xmlTools.tempData.video_width);
 +
            Console.WriteLine(xmlTools.tempData.video_height); </pre>
 +
 
 +
=== 倾斜摄影设置说明 ===
 +
ftp地址:ftp://cgt3d.cn/ <br>
 +
1.下载ftp "倾斜摄影" 文件夹中的所有压缩包和load.exe<br>
 +
2.随便点一个压缩包,直接解压到E盘<br>
 +
3.将文件夹名字 (新建文件夹(2)  )改成  qingxiesheying<br>
 +
(最后文件夹的层次结构应该是这样的:E:\qingxiesheying\Production_osgb )<br>
 +
4.运行load.exe ,输入下面内容,回车,若能显示出倾斜摄影模型则表示osgb文件生成成功。<br>
 +
E:/qingxiesheying/Production_osgb
  
 
== 平台安装说明 ==
 
== 平台安装说明 ==
 +
===安装包下载===
 +
ftp://cgt3d.cn/%C6%BD%CC%A8%B0%B2%D7%B0%B0%FC/
 +
===基本打包步骤===
 +
[[文件:Advanced installer.png|300px|缩略图|无|Advanced installer]]
 +
打包平台使用的是advanced installer,advanced installer是一款非常实用的Windows软件安装程序制作工具,可用于制作MSI、EXE等软件安装包,用户只需添加文件,修改名称,添加按钮,非常的专业实用。
 +
 +
1.打开advanced installer后,选择通用模板下的安装程序项目(专业版),在下方选项中勾选使用向导来创建项目,语言选择简体中文。然后单击创建项目。<br>
 +
[[文件:打包图1.png|600px|缩略图|无]]
 +
2.在弹出的对话框中填入自定义的程序名称和组织(公司)名称,然后下一步。
 +
[[文件:打包图2.png|600px|缩略图|无]]
 +
3.勾选exe安装文件,也可意识用msi安装文件,看个人。继续下一步。
 +
[[文件:打包图3.png|600px|缩略图|无]]
 +
4.这里是否勾选看个人。继续下一步。
 +
[[文件:打包图4.png|600px|缩略图|无]]
 +
5.输入项目保存的路径,这里是打包项目的路径,不是平台的路径。项目输出文件中存放的是最终的exe可执行文件。
 +
[[文件:打包图5.png|600px|缩略图|无]]
 +
6.单击浏览,选择平台的release文件夹。勾选同步文件夹,用来自动更新平台文件内容。继续下一步。
 +
[[文件:打包图6.png|600px|缩略图|无]]
 +
7.勾选WPFOSGMDI.exe,这个文件是平台的启动文件。勾选下面两个关于创建快捷方式的选项。继续下一步。
 +
[[文件:打包图7.png|600px|缩略图|无]]
 +
8.这里看具体需求,可以直接下一步。
 +
[[文件:打包图8.png|600px|缩略图|无]]
 +
9.这里安装形式可根据需求选择,继续下一步。
 +
[[文件:打包图9.png|600px|缩略图|无]]
 +
10.勾选简体中文,继续下一步。
 +
[[文件:打包图10.png|600px|缩略图|无]]
 +
11.这里是安装程序展示协议文本的地方,根据需求选择。继续下一步。
 +
[[文件:打包图11.png|600px|缩略图|无]]
 +
12.单击完成,等待构建项目。<br>
 +
13.在产品详细信息中可以自定义应用程序的图标,以及各种具体信息等。
 +
[[文件:打包图13.png|600px|缩略图|无]]
 +
14.由于平台的运行需要.net的支持,所以要在在运行环境中勾选 .NET Framework 4.7.2,advanced installer会自动下载.net安装文件。
 +
[[文件:打包图14-1.png|600px|缩略图|无]]
 +
15.单击环境变量标签,在右边空白处右键选择新建变量,名称选择Path,这里是Windows的系统环境变量,对应值为平台的文件夹,<br>
 +
这里示例用的是include文件夹,前面的[APPDIR]在advanced installer中代表的是安装后平台的根目录,在[APPDIR]后面跟上对应的目录即可。
 +
[[文件:打包图15-1.png|600px|缩略图|无]]
 +
[[文件:打包图15-2.png|600px|缩略图|无]]
 +
16.在所有操作之后,点击构建,即可生成exe安装文件,单击打开输出文件夹,这里面存放输出的exe文件。
 +
[[文件:打包图16.png|600px|缩略图|无]]
  
 
== 主要参与人员 ==
 
== 主要参与人员 ==

2024年3月11日 (一) 02:29的最新版本

多源信息融合三维可视化平台CS界面
多源信息融合三维可视化平台BS界面

目录

平台git[编辑]

http://git.cgt3d.cn/platform/3dgisplatform.git

数据服务器[编辑]

用户名:Administrator

密码:1qaz@wsx**

数据key:

gN8qSo67MEwf9KOPgg0ATBSb60ebGwUCWKdrPKNH/TAbusqx73iBu5T4kZ1DyLXPwIuVagXoC5d4
vLd6BFpwv6mR3t9Nz1LbMxMUgrH9BznhQCscGZb/F8Wlz8mqtSSUGH/HBcL9ADE+QDW3qPba997T
xB8ErlDKuJ6duqOH6iHul1YLrO8B2lgsysPJu1mG31mWIGR9rCL+omXcTM1hqhFW6EsVXjnOqWHE
nmrRXmLcxsup70ud/PbJ3ML9UxjHkRhlmNBruHEzVvR2eRaTvOjcXs0doDu6nV3TaYYl7ujhzEIa
XTYCXtOmX8UVhWo7ml6o+PZKIH297o5XlxrP1Q==

校内服务器测试

http://mapin.cgt3d.cn:8089/WeServer/wmts/1.0.0/acimage/default/wgs84/3/1/6.jpg

http:///mapin.cgt3d.cn:8089/WeServer/tms/1.0.0/acimage

http://mapin.cgt3d.cn:8089/WeServer/tms/1.0.0/acdem

http://mapin.cgt3d.cn:8089/WeServer/wmts?Service=WMTS&Request=GetCapabilities

SMB共享硬盘映射

\\smb.cgt3d.cn\smb

\\2001-da8-215-c38e-21df-d2bd-d2b1-2711.ipv6-literal.net\smb


水经注中间件 文件:中间件的命名用方法.7z

摄像头信息[编辑]

rtsp://admin:abc12345@10.108.63.61:554/h264/ch1/main/av_stream
rtsp://admin:abc12345@10.108.62.64:554/h264/ch1/main/av_stream
rtsp://admin:abc12345@10.203.17.198:554/h264/ch1/main/av_stream
硬盘录像机IP:10.108.62.68;密码:a6688006

通用演示版本[编辑]

通用版本20201104

现存问题[编辑]

  1. 模型图层应当默认加载
  2. 模型图层下的模型单击跳转到相应模型,双层或右键显示其属性
  3. unity3d 非最终版本

已解决的问题[编辑]

功能目标框图[编辑]

功能目标框图

资料[编辑]

CLI封装[编辑]

文件:Visual C++/CLI从入门到精通.pdf

文件:精通.NET互操作.pdf

插件设计[编辑]

文件:插件式GIS应用框架的设计与实现.pdf

平台的软件架构[编辑]

体系框架[编辑]

总体框图

界面层[编辑]

界面层采用微软的WPF技术,WPF拥有以下几大优势:

  • XAML的引入,使得美工和程序可以实现分离,使得定制化主题/外观/行为更加方便也易于维护;
  • 强大的 “数据绑定”功能,使得MVVM得以实现,成为“属性驱动”,而非WinForm的“事件驱动”;属性的更改可以自动获得,甚至动过转换器触发各种展示/行为的变更;
  • 绚丽的展示效果,WPF(Windows Presentation Fundation)顾名思义其强大的图形化API为程序提供了超乎想象的图形效果;

引擎层[编辑]

平台采用双引擎架构,即可以利用osgEarth全球地理信息平台的优势展示大场景数据,又可以利用unity3D引擎良好的生态生成高质量的小场景交互操作,通过unity3D的插件能够加载BIM数据。

OSGEARTH[编辑]

大场景的三维实时渲染引擎采用osgearth,其官网为osgearth

osgEarth是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了瓦片调度插件,可选的四叉树调度插件,更多的地理数据加载插件(包括GDAL,ogr,WMS,TMS,VPB,filesystem等),再结合一套地理投影转换插件,这样就能够实现高效处理加载调度地理数据在三维地球上的显示,实现三维虚拟地球。

osgEarth的特点:

  1. 支持加载常见的栅格数据(影像和DEM),但是大数据必须建立金字塔,设置为地理投影,想要高效率最好处理为瓦片,这样也便于部署在服务端。
  2. 矢量数据,最好尽可能的简化,因为大的矢量会十分影响渲染速度,当然也可以对矢量栅格化处理加快速度.
  3. 大数据量模型一定要做LOD或者pageLod。

osgEarth的优点:

  1. 快速加载地理信息数据
  2. 编辑语言为C++,渲染效率高

UNITY3D[编辑]

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

Unity 最初于2005年在苹果公司的全球开发者大会上对外公布并开放使用,当时只是一款面向 OS X 平台的游戏引擎。时至2018年,该引擎所支持的研发平台已经达到27个。

Unity的优点:

  1. 工具插件齐全,小场景开发速度快,光影效果好
  2. C#语言开发,易于集成

三维地理信息数据[编辑]

水经注地图下载器[编辑]

文件:水经注.7z

数据链接[编辑]

  1. 全球第八级卫星数据
  2. 全球第十级卫星数据
  3. 全球30m高程数据
  4. 全球第八级卫星osgb数据(osgdem处理后)
  5. 全球卫星影像瓦片数据十级

平台的刚需与团队优势[编辑]

三维平台与传感接入的刚性需求、痛点[编辑]

一个产品应当找到他的应用场景,解决客户的刚性需求。只能通过不断地调研解决问题。

用户从来不关心你的技术有多牛,他们关心的是你的产品对他们的有用性。

监狱系统的需求样例[编辑]

实战平台GIS地图引擎[编辑]

  1. 三维场景基础应用:场景浏览、图层管理、空间量测、兴趣点管理、搜索定位、路径巡视、区域录像、区域截屏、运动轨迹标注。
  2. 业务模块集成
    1. 实时视频融合(仅3D模式下)
    2. 全景视频回溯与倒播
    3. 报警源可视化
    4. 警务指挥模块
    5. 内置警用符号库,具有警力部署,执勤态势,智能巡更,日常警务,预案演练,协同标绘,用户权限分配等功能
    6. 智能报警模块
    7. 业务模块智能联动,智能报警管理,报警事件可视化,报警情况记录在案并具统计分析功能
    8. 设备监控管理
    9. 内置前端硬件设备管理日志,设备失效、损坏自动报警
    10. 支持基于空间的数据可视化,如表格,统计图等
    11. 支持基于配置文件的模块功能扩展
    12. 实时更新具有定位信息的目标
    13. 数据与传感器的数据可视化
  3. 实战平台基础地图模型数据
    1. 看守所指定范围倾斜摄影数据,精度0.05M
    2. 看守所指定范围室内人工模型,精度0.05M

业务功能[编辑]

  1. 押解勤务:实时在三维地图上显示押解人员的位置及预设线路。当押解目标异常(延迟、离开预设线路、消失等)时,系统自动报警。
  2. 4G图传:通过4G网线,把现场的视频及图片实时回传到平台内。
  3. 视频点与场景结合:在三维场景中标记每个视频点的对应位置,并提供多种视频调取方式,单选,多选,自定义搜索等;
  4. 警力分布:通过收集执勤人员的设备上的GPS位置信息,实时定位警员位置,在场景中体现警力分布情况。
  5. 智慧监室智能终端模块:在系统中模拟终端的运行状态,与其它系统联动。
  6. 门禁智能管理模块:在系统中模拟门禁的运行状态,当有触发门禁的报警时,通过系统与视频联动,自动弹出触发点附近的视频。
  7. 人脸识别管理模块:人脸识别数据及呈现在可视化系统内。
  8. 应急求助模块:在系统中模拟求助盒的运行状态,当求助盒被触发时,通过系统与视频联动,自动弹出触发点附近的视频。
  9. 高压电网模块:在系统中模拟电网的运行状态,当有触发电网的报警时,通过系统与视频联动,自动弹出触发点附近的视频。
  10. 在押人员报告管理模块:在系统中模拟报告箱的运行状态,当有触发报警时,通过系统与视频联动,自动弹出触发点附近的视频。
  11. 人脸识别管理模块:人脸识别数据及呈现在可视化系统内。

三维地图中数据呈现的硬件列项[编辑]

硬件需求.png

三维平台的团队优势[编辑]

  1. 工程硕士占大多数,没有论文压力,可一年内全身心的投入平台建设。

平台研发的近期目标[编辑]

2019年12月底至2020年9月初

视频的拼接与融合[编辑]

  • N路视频在同一模型上的加载
  • 服务器选用海康威视的服务器
  • 使用blender进行视频模型的矫正


人员,车辆等的室内室外定位[编辑]

重要场所的门禁与报警[编辑]

设备台账、实时数据的接入[编辑]

平台的主要功能:[编辑]

三维场景下大规模视频的拼接与融合[编辑]

安防与物联网

背景与意义[编辑]

  随着视频监控联网系统的不断普及和发展, 网络摄像机 更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用。

  中投顾问调研数据表示,截止2017年,我国摄像机覆盖密度相对美国和英国等发达国家仍然较低,美国平均每千人配备约96台监控摄像机,英国平均每千人配备约75台监控摄像机,我国摄像头密度位居前列的北京每千人约配备59台监控设备,而紧随其后的杭州、上海等地每千人配备的摄像头数目约40左右, 随着我国雪亮工程、新型平安城市建设的发展和推进,视频监控未来在我国会有更快速的建设过程,摄像机市场呈现出巨大的增长空间。

  在监控摄像机数量的不断庞大的同时,在监控系统中面临着严峻的现状问题:海量视频分散、孤立、视角不完整、位置不明确等问题,始终围绕着使用者。因此,如何更直观、更明确的管理摄像机和掌控视频动态,已成为提升视频应用价值的重要话题。三维视频融合技术,面向安防视频监控领域,正是从解决此现状问题的角度,应运而生。围绕如何提高、管理和有效利用前端设备采集的海量信息为公共安全服务,特别是在技术融合大趋势下,如何结合当前先进的视频融合,虚实融合、三维动态等技术,实现三维场景实时动态可视化监控,更有效的识别、分析、挖掘海量数据的有效信息服务公共应用,已成为视频监控平台可视化发展的趋势和方向。

定义[编辑]

  视频融合技术是虚拟现实技术的一个分支,或者说是虚拟现实的一个发展阶段。三维视频融合技术指把一个或多个由摄像机图像序列视频和与之相关的三维虚拟场景加以匹配和融合,生成一个新的关于此场景的动态虚拟场景或模型,实现虚拟场景与实时视频的融合,即:虚实结合。

  三维视频融合技术,可依托于单独的三维引擎,实现小范围或局部的三维场景与视频等资源的融合应用,也可依托于三维地理信息系统(3D GIS),实现全球广域范围内的三维地理信息可视化融合应用。

  基于单独三维引擎的视频融合相比于三维地理信息系统视频融合,受限于应用范围,不能形成全城、全国或更大范围的三维可视化应用平台。同时,在三维可视化数据挖掘和处理上,基于三维地理信息的视频融合技术,具有天然的时间和空间优势。通过内置的国际化统一标准的经度、纬度、海拔等地理信息坐标体系,实现三维可视化视频融合平台的精准定位和时空动态分析,提升视频分析及人工智能应用价值。

  虽然三维理信息系统有很多的优点,但三维地理信息系统为了追求高速渲染,而牺牲了渲染质量,尤其对小场景的渲染。

国内外现状[编辑]

文献:

平台现状[编辑]

只能接入视频,融合可做,但未见效果。

OSGEARTH下的动态投影纹理[编辑]

OSGEARTH下shader的加载[编辑]
投影纹理的基础知识[编辑]

投影纹理映射用于映射一个纹理到物体上,好比将幻灯片投影到墙上一样。效果图如下:

投影纹理效果图


实现的原理是设置另一台相机(投影仪),额外进行一次MVP变换,在这一次的MVP变换时将VP矩阵设置成投影仪的VP矩阵,这样一来可以获得各个顶点在投影仪的裁剪空间中的坐标,然后将这个坐标映射到UV坐标,再绑定纹理即可实现投影纹理的效果。

具体实现[编辑]

物联网传感器的接入[编辑]

室内定位[编辑]

室内定位是指在室内环境中实现位置定位,一般采用无线通讯、基站定位、惯导定位等多种技术集成形成一套室内定位体系,从而实现人员、物体等在室内空间中的实时位置监控。

常见室内定位技术[编辑]

目前常见的室内无线定位技术有:Wi-Fi、蓝牙、红外线、超宽带、RFID、ZigBee和超声波等,各项技术的优势以及缺点将在下图中综合给出。

主要运营公司[编辑]

室内定位技术主要分基站定位和惯导定位两种服务商。基站定位服务商主要有:谷歌、诺基亚、TI、苹果、高德、百度等采用WIFI定位;惯导定位服务商主要有:美国的NAVISEER,龙旗瑞谱科技,上海消防研究所。商用技术基本采用WIFI,RFID等无线通讯基站方案,针对应急救援主要采用惯性导航等技术方案。目前国内的几家设备公司例如蜂鸟视图[[1]]、万位科技[[2]]提供无线和有线多种设备,可利用GPS+北斗+WIFI+基站进行定位,蜂鸟视图提供Android、IOS、JAVAScript SDK支持,无线设备多为盒状物体,可续航数年产品报价与需求量有关,目前尚不可获得报价。也有APP例如寻鹿、万汇等软件,但只能提供特定城市的特定区域定位导航。

温湿度传感器[编辑]

温湿度传感器是传感器其中的一种,是把空气中的温湿度通过一定检测装置,测量到温湿度后,按一定的规律变换成电信号或其他所需形式的信息输出,用以满足用户需求。

门禁设备[编辑]

电力行业常见传感器[编辑]

OsgEarth平台海洋实时渲染采用的是SUNDOG公司triton插件。
基于FFT的大规模海面模拟:http://blog.sina.com.cn/s/blog_15ff6002b0102xnhc.html

建筑信息模型(BIM)[编辑]

建筑信息模型(Building Information Modeling)是建筑学、工程学及土木工程的新工具。建筑信息模型或建筑资讯模型一词由Autodesk所创的。它是来形容那些以三维图形为主、物件导向、建筑学有关的电脑辅助设计。当初这个概念是由Jerry Laiserin把Autodesk、Bentley系统软件公司、Graphisoft所提供的技术向公众推广。

视点漫游[编辑]

视点包含六个参数:lon(经度),lat(纬度),altitude(海拔),heading(水平方位角),pitch(垂直俯仰角),range(可视范围) 点击界面上方选择路径按钮,自行添加视点信息,可控制飞行时间停留时间等信息,并将所生成的漫游路径存入本地Xml文件中。 目前可通过直接读取本地文件进行漫游也可自行添加新路径进行漫游。


使用方法[编辑]

现存问题[编辑]

数据下载[编辑]

本平台所需数据主要下载自Planet OSM,均为免费数据。

影像数据[编辑]

影像数据目前包含数个视频,下载来源为https://10.108.59.113/:8443/svn/WPFOSG。

高程数据[编辑]

高程数据下载自谷歌地图和水经注地图http://www.rivermap.cn的高程数据下载。

矢量数据[编辑]

矢量数据主要包括全国和数个城市周边的OSM数据,Planet OSM[[3]]提供以下两个下载路径:GeoFabrik[[4]]和BBBike[[5]],其中GeoFabrik[[6]] 提供的是洲级和国家级数据下载,可以根据需求直接在页面进行下载。而BBBike[[7]]提供了一些切割完成的特定区域和全球任意地区的任意形状的地区地图下载,文件大小下载上限为520M,根据需要选择选项,需要提供接收邮箱,待选定区域的数据在线处理结束后将下载链接发送至邮箱,点击链接即可下载。以上所列出的下载方式据提供多种数据格式,由于矢量数据的处理软件为Maperitive要求使用OSM文件,故下载数据时选用了OSM数据。此[[8]]为地图处理软件Maperitive官网,根据页面提示可以立即下载,加压下载文件后打开应用程序文件,按照以下步骤操作。

  1. 1、设定地图区域:

目前Maperitive使用电脑内存来存储地图数据,因此需根据电脑配置和需求来限定地图范围。(我的电脑32G切省级的没有问题,全国地图的话,32G内存依然不够)。一般有两种方式来设定地图区域:

  • (1)打开Maperitive,调整地图显示区域至需要范围,依次点击Map / Set Bounds即可。
  • (2)使用命令行(软件底部),例如:bounds-set 117.04261175,36.6741025754786,117.06649825,36.6808674694984
  1. 2、关闭web map:

打开web map 在切图是会下载在线地图数据,因此速度会非常慢,一般的做法是先将要切的地图数据下载下来,将web map关闭(点击web map前面的黄色五角星即可)。

  1. 3、导入本地地图数据:

依次点击file--》Open Map Source--》选择以下载好的.osm文件,软件开始加载数据,具体时间取决于数据大小。
在加载完成后,会在命令提示区显示完成:当然,Maperitive本身也提供了地图数据下载(Map / Download OSM Data)

  1. 4、修改地图样式:

依次选择 Map / Switch To Rules 来修改地图样式,因为没有什么特殊需要,在这我选择default 。选择后,稍等便可以在下面预览到显示效果。

  1. 5、选择 Tools / Generate Tiles ,Maperitive会根据选择区域大小自己选择zoom范围并开始切图。

如果需要自定义zoom范围,可使用命令行(我将zoom范围设置为1-18): generate-tiles minzoom=1 maxzoom=18在命令提示行提示命令执行情况并返回结果

  1. 6、至此,在Maperitive的安装目录下生成了Tiles文件夹,各地图切片(256X256的png图片)分级的保存在此文件夹下,可以直接移动到所需的文件夹。
  • 注意:下一次切割的文件会覆盖前一次的文件,所以务必将tiles文件夹中的文件挪出,否则将丢失前一次数据!

模型加载[编辑]

可以将三维模型添加到大场景中。
添加界面如下图所示,用户输入模型文件的路径,设置模型的名字以及海拔经纬度,就可以将该模型添加到指定的经纬度上。

添加模型


矢量数据加载[编辑]

矢量加载功能:选择文件、加载文件,添加其颜色属性的丰富选择,添加文字加载选项,实现点线面的各种加载,可进行场景树的显示/复选框的加载删除,点击属性框可显示矢量文件的具体信息, 并且可以更改属性框中的线/面颜色/显示范围,更改后支持重新加载/保存功能。
主要功能界面:
==== 1.矢量加载主界面 ====
==== 2.矢量初始加载界面的颜色选择 ====
==== 3.矢量加载的效果图示(面形式)====
==== 4.矢量加载完成后,场景树点击显示的属性框,并且可以进行修改,重新渲染,然后保存到XML中 ====

矢量加载.png
颜色.png
加载图示.png
矢量属性框.png


小场景[编辑]

小场景按规划路线自动漫游和第一人称手动漫游+“后续”监控视频流播放 单场景漫游:

OSG小场景_学校

数据保存[编辑]

保存机制[编辑]

目前平台上保存的数据暂时只有蛮有路径,视频路径,模型路径。

  1. 目前存在的问题
  • 视频右键不能播放,还是因为无法获取当前窗口的播放器控件。
  • 模型的场景树右键菜单无效,正在查找原因。
  • 平台启动后会将模型的路径加载到场景树中,目前还是准备在模型场景树的右键菜单中加入加载模型选项,即平台启动时不将之前保存的模型直接加载到osgearth中。
  1. 视频(模型)的保存
  • 视频路径及信息的保存是以xml文件的形式保存的。所以保存流程主要分两部分,一是对xml文件的读写;二是将视频路径及信息存入场景树。
  • xml读写部分通过名为XmlTool类实现。
  • 类中的_isVido和_isModel用来确定查找的类型是视频还是模型。由于xml文件只能一层一层查找,所以指定查找的目标可以更方便查找路径。
  • 类中FindPath方法用来寻找某条路径,GetAllPath 获取全部路径及信息,并存入xmlTools._vidoDataList中。eletePath 删除路径。AddVidoElement 添加视频路径,AddModelElement 添加模型路径。
            xmlTools.AddModelElement(XmlTools._isModel, "modelx2", "jk2", "11.2", "22.3", "33.5");//向xml添加模型路径及信息
            xmlTools.FindPath(XmlTools._isModel, "modelx2");//查找某条路径
            Console.WriteLine(xmlTools.tempData.name);//查找的结果在tempdata中,这里存储的是一条路径。在GetAllPath中_vidoDataList存储所有查询结果。
            Console.WriteLine(xmlTools.tempData.path);
            Console.WriteLine(xmlTools.tempData.window);
            Console.WriteLine(xmlTools.tempData.video_lat);
            Console.WriteLine(xmlTools.tempData.video_lon);
            Console.WriteLine(xmlTools.tempData.video_altitude);
            Console.WriteLine(xmlTools.tempData.video_width);
            Console.WriteLine(xmlTools.tempData.video_height); 

倾斜摄影设置说明[编辑]

ftp地址:ftp://cgt3d.cn/
1.下载ftp "倾斜摄影" 文件夹中的所有压缩包和load.exe
2.随便点一个压缩包,直接解压到E盘
3.将文件夹名字 (新建文件夹(2) )改成 qingxiesheying
(最后文件夹的层次结构应该是这样的:E:\qingxiesheying\Production_osgb )
4.运行load.exe ,输入下面内容,回车,若能显示出倾斜摄影模型则表示osgb文件生成成功。
E:/qingxiesheying/Production_osgb

平台安装说明[编辑]

安装包下载[编辑]

ftp://cgt3d.cn/%C6%BD%CC%A8%B0%B2%D7%B0%B0%FC/

基本打包步骤[编辑]

Advanced installer

打包平台使用的是advanced installer,advanced installer是一款非常实用的Windows软件安装程序制作工具,可用于制作MSI、EXE等软件安装包,用户只需添加文件,修改名称,添加按钮,非常的专业实用。

1.打开advanced installer后,选择通用模板下的安装程序项目(专业版),在下方选项中勾选使用向导来创建项目,语言选择简体中文。然后单击创建项目。

打包图1.png

2.在弹出的对话框中填入自定义的程序名称和组织(公司)名称,然后下一步。

打包图2.png

3.勾选exe安装文件,也可意识用msi安装文件,看个人。继续下一步。

打包图3.png

4.这里是否勾选看个人。继续下一步。

打包图4.png

5.输入项目保存的路径,这里是打包项目的路径,不是平台的路径。项目输出文件中存放的是最终的exe可执行文件。

打包图5.png

6.单击浏览,选择平台的release文件夹。勾选同步文件夹,用来自动更新平台文件内容。继续下一步。

打包图6.png

7.勾选WPFOSGMDI.exe,这个文件是平台的启动文件。勾选下面两个关于创建快捷方式的选项。继续下一步。

打包图7.png

8.这里看具体需求,可以直接下一步。

打包图8.png

9.这里安装形式可根据需求选择,继续下一步。

打包图9.png

10.勾选简体中文,继续下一步。

打包图10.png

11.这里是安装程序展示协议文本的地方,根据需求选择。继续下一步。

打包图11.png

12.单击完成,等待构建项目。
13.在产品详细信息中可以自定义应用程序的图标,以及各种具体信息等。

打包图13.png

14.由于平台的运行需要.net的支持,所以要在在运行环境中勾选 .NET Framework 4.7.2,advanced installer会自动下载.net安装文件。

打包图14-1.png

15.单击环境变量标签,在右边空白处右键选择新建变量,名称选择Path,这里是Windows的系统环境变量,对应值为平台的文件夹,
这里示例用的是include文件夹,前面的[APPDIR]在advanced installer中代表的是安装后平台的根目录,在[APPDIR]后面跟上对应的目录即可。

打包图15-1.png
打包图15-2.png

16.在所有操作之后,点击构建,即可生成exe安装文件,单击打开输出文件夹,这里面存放输出的exe文件。

打包图16.png

主要参与人员[编辑]

平台框架:邢树军

视频加载、拼接、融合:代清 黄冠瑞

界面美化:孙默涵 王卓文

视点漫游:张泷 孙默涵

数据准备与矢量加载:谭丞鸣

输入框控件:陈莹莹

小场景:郑健平 沈圣 管延鑫

打包安装:张泷