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

来自CGTWiki
跳转至:导航搜索
主要运营公司
相关资料
 
(未显示8个用户的171个中间版本)
第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|总体框图]]
  
 
=== 界面层 ===
 
=== 界面层 ===
第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>
----
+
 
*Wi-Fi技术
+
*[https://www.jianshu.com/p/3f75a30bd37d  5G如何推动室内定位领域的发展]
通过无线接入点(包括无线路由器)组成的无线局域网络(WLAN),可以实现复杂环境中的定位、监测和追踪任务。
 
它以网络节点(无线接入点)的位置信息为基础和前提,采用经验测试和信号传播模型相结合的方式,对已接入的移动设备进行位置定位,最高精确度大约在1米至20米之间。如果定位测算仅基于当前连接的Wi-Fi接入点,而不是参照周边Wi-Fi的信号强度合成图,则Wi-Fi定位就很容易存在误差(例如:定位楼层错误)。
 
另外,Wi-Fi接入点通常都只能覆盖半径90米左右的区域,而且很容易受到其他信号的干扰,从而影响其精度,定位器的能耗也较高。
 
----
 
*蓝牙技术
 
蓝牙通讯是一种短距离低功耗的无线传输技术,在室内安装适当的蓝牙局域网接入点后,将网络配置成基于多用户的基础网络连接模式,并保证蓝牙局域网接入点始终是这个微网络的主设备。这样通过检测信号强度就可以获得用户的位置信息</nowiki>
 
蓝牙定位主要应用于小范围定位,例如:单层大厅或仓库。对于持有集成了蓝牙功能移动终端设备,只要设备的蓝牙功能开启,蓝牙室内定位系统就能够对其进行位置判断。
 
不过,对于复杂的空间环境,蓝牙定位系统的稳定性稍差,受噪声信号干扰大。
 
----
 
*超宽带技术
 
超宽带技术与传统通信技术的定位方法有较大差异,它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,可用于室内精确定位,例如:战场士兵的位置发现、机器人运动跟踪等。
 
超宽带系统与传统的窄带系统相比,具有穿透力强、功耗低、抗多径效果好、安全性高、系统复杂度低、能够提高精确定位精度等优点,通常用于室内移动物体的定位跟踪或导航。
 
----
 
*RFID技术
 
RFID定位技术利用射频方式进行非接触式双向通信交换数据,实现移动设备识别和定位的目的。它可以在几毫秒内得到厘米级定位精度的信息,且传输范围大、成本较低,
 
但是RFID不便于整合到移动设备之中,而且作用距离短(一般最长为几十米),对于用户的安全隐私保护也比较差,缺乏对应的国际标准化
 
----
 
*ZigBee技术
 
ZigBee是一种短距离、低速率的无线网络技术。它介于RFID和蓝牙之间,可以通过传感器之间的相互协调通信进行设备的位置定位。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以ZigBee最显著的技术特点是它的低功耗和低成本。
 
----
 
*超声波技术
 
超声波定位主要采用反射式测距(发射超声波并接收由被测物产生的回波后,根据回波与发射波的时间差计算出两者之间的距离),并通过三角定位等算法确定物体的位置。
 
超声波定位整体定位精度较高、系统结构简单,但容易受多径效应和非视距传播的影响,降低定位精度;同时,它还需要大量的底层硬件设施投资,总体成本较高。
 
----
 
*惯性导航技术
 
这是一种纯客户端的技术,主要利用终端惯性传感器采集的运动数据,如加速度传感器、陀螺仪等测量物体的速度、方向、加速度等信息,基于航位推测法,经过各种运算得到物体的位置信息。随着行走时间增加,惯性导航定位的误差也在不断累积。需要外界更高精度的数据源对其进行校准。所以现在惯性导航一般和WiFi指纹结合在一起,每过一段时间通过WiFi请求室内位置,以此来对MEMS产生的误差进行修正。该技术目前的商用得也比较成熟,在扫地机器人中得到广泛应用。
 
----
 
  
 
===== 主要运营公司 =====
 
===== 主要运营公司 =====
第143行: 第241行:
  
 
==== 温湿度传感器 ====
 
==== 温湿度传感器 ====
 +
温湿度传感器是传感器其中的一种,是把空气中的温湿度通过一定检测装置,测量到温湿度后,按一定的规律变换成电信号或其他所需形式的信息输出,用以满足用户需求。
 +
 
==== 门禁设备 ====
 
==== 门禁设备 ====
 
==== 电力行业常见传感器 ====
 
==== 电力行业常见传感器 ====
  
=== 实时水面渲染 ===
 
平台海洋实时渲染采用的是SUNDOG公司triton插件。<br>
 
 
 
 
==== 海浪仿真 ====
 
国内外很多专家学者针对海浪仿真做了大量的研究工,随着人们对海浪的深入研究,海浪建模已取得了较大突破,目前对海面波浪进行建模可以分为'''基于几何模型的方法'''、'''基于谱分析的方法'''、'''基于分形的方法'''、'''基于动力模型的方法'''、'''基于物理模型的方法'''。<br>
 
 
=====基于几何模型的方法=====
 
基于几何模型的方法中的典型方法是 Gerstner 模型。Gerstner 模型描述海浪各质点运动模式主要是从动力学的角度,其第一次被 Fournier 引入计算机图形图像领域是在 1986 年。Gerstner 模型最初被提出是作为流体动力学方程组的近似解决方案。它在考虑风为动力,重力为回复力的风成浪的基础上,根据海浪变化的圆轨道参数来描述海浪。
 
该模型假设水表面的每一个粒子沿着其静止位置点作圆周运动。在一个三维立体环境中,假设海平面位于 XY 平面,Z 轴指向朝上,水粒子沿着 X 轴方向运动,在t 时刻其波动传播的半径为 r ,则其运动状态用数学公式表示如下:<br>
 
        z=z<sub>0</sub>-rcos(kx<sub>0</sub>-ωt)<br>
 
        x=x<sub>0</sub>+rsin(kx<sub>0</sub>-ωt)<br>
 
此公式描述t时刻单个波的运动情况,其中水粒子静止时在X、Z轴的坐标分别为x<sub>0</sub>、z<sub>0</sub>;r为水粒子运动半径;k为点 (x<sub>0</sub>,z<sub>0</sub>)处的波数;ω为波的角速度;t为时间, 调整k、r可以得到不同的波形。<br>
 
这种方法将水粒子的运动轨迹看成是在半径为1/k的圆上,距离圆心为r的点P沿距离X轴下方1/k的直线滚动得到的,如下图所示:<br>
 
[[文件:运动轨迹.png|缩略图|居中|运动轨迹]]
 
比起普通的正余弦波动方程,Gerstner Wave 并不复杂,但它们描述的波形却有很大差别,正余弦波描述的海浪的波峰和波谷波的弧度都是均匀的,不能生产相对较尖的波峰,而 Gerstner 描述的波形正好可以产生更陡的波形,波峰尖,波谷宽,因此Gerstner描述的波形更加逼真。<br>
 
但是 Gerstner 模型存在一定的缺陷:其只采用垂直方向和水平方向的单一正弦波来进行模拟,故而生成的海面比较规则。而真实的海浪运动是一种不规则行为,故模拟情况与真实海面的运动有较大的差别,无法表现海浪的随机性和不规则性。为了增强模拟的真实感和逼真度,通常采用多个Gerstner Wave相互叠加的方法生成海面,增加波形的变化。<br>
 
由于这种方法具有简单直观、计算速度较快等优点,而波形函数本身可以反映海洋表面高度的变化,故而海浪运动一般采用这种模拟方法,适合模拟大面积海面。但是其具有一定的局限性,当进行波浪的破碎等现象的模拟是,生成的场景不够真实,故适用范围较窄<sup>[1-4]</sup>。<br>
 
 
=====基于谱分析的方法=====
 
这种方法建立在海洋观测结果的基础上,运用有线性叠加法和线性过滤法模拟海浪。线性叠加法因其物理概念清晰,计算方便快捷且模拟结果最为相似。<br>
 
线性过滤法是以待模拟的海浪谱为依据设计出一个过滤器,选择适当的系统函数将白噪声作为一线性系统输入该系统并输出所需模拟的波面过程。该方法并没有得到广泛应用,因与真实的海浪谱误差较大。<br>
 
线性叠加法是假定组成波是随机且独立的,将线性的简单波动迭加起来,多个振幅、角频率和随机相位都不相同的波叠加形成海浪。叠加的方式可以是线性的,也可以是非线性的。随机过程的一次实现只需要确定各个组成波的波幅、角频率和随机相位。这种方法具有很强的灵活性,并且由于它的数据基础来自于海洋统计学模型,因此渲染出来的水面真实感较强。但是缺点是采用规则网格,数据量大,很难实时渲染水面<sup>[5-8]</sup>。<br>
 
 
=====基于分形的方法=====
 
无论从时间上还是空间上看,海浪的运动都具有不规则性和不重复性,因此其本身可以被认为是一个十分复杂的自然现象。另外,海洋学家多年来对海浪谱进行了研究得出以下结论:海浪属于狭带谱的幅值服从锐利分布的正态随机过程。可以采用分形函数来描述具有负幂率谱的过程。这说明利用分形理论模拟随机海浪是可行的。<br>
 
Perlin噪声(Perlin  noise)指由 Ken  Perlin 发明的自然噪声生成算法。Perlin 噪声这个名词现在被同时用于指代两种有一定联系的的噪声生成算法,即Simplex 噪声和分形噪声,这两种噪声都广泛地应用于计算机图形学,这里所说的柏林噪声函数指的是分形噪声。<br>
 
分形噪声可以用来模拟自然界的自相似过程,包括海岸线,地形,海浪等。分形噪声的原理是利用 Perlin 噪声频率受限的特性,通过不断叠加更高频率的Perlin 噪声达到自相似的效果。<br>
 
Perlin 噪声函数实际上属于一个随机数生成器,它与普通的随机数生成器的区别是它的参数是一个整数,基于这个参数做返回的随机数。如果两次传递回来的参数相同,则它产生的两次随机数也相同。要创建一个 Perlin 噪声函数,首先需要一个噪声函数和一个插值函数。<br>
 
下图是一个噪声函数的例子: <br>
 
[[文件:由噪声函数产生的随机数.png|缩略图|居中|由噪声函数产生的随机数]]
 
X轴上每个点被赋予一个0到1之间的随机数。对上图中的每个点插值,形成的连续噪声函数如下图所示。<br>
 
[[文件:连续的噪声函数.png|缩略图|居中|连续的噪声函数]]
 
把若干个具有不同频率和振幅的连续光滑函数加起来,就可以获得Perlin噪声函数。由多个一维噪声函数构建一个Perlin函数的过程如下图所示。<br>
 
[[文件:构建Perlin函数.png|缩略图|居中|构建Perlin函数]]
 
下图是一个二维Perlin函数的例子:<br>
 
[[文件:二维的噪声函数.png|缩略图|居中|二维的噪声函数]]
 
以上是二维的噪声函数,把这些函数叠加起来产生如下的噪声样式,也就是二维Perlin函数:<br>
 
[[文件:二维Perlin函数.png|缩略图|居中|二维Perlin函数 ]]
 
对海浪的建模所用的基于分形的方法,即使通过构造二维的 Perlin 函数,并将计算所得的噪声值作为网格点的水面高度值得到的连续动荡变化的水面高度场,从而构建逼真的海面。
 
 
=====基于动力模型的方法=====
 
基于动力系统模型的典型方法为粒子系统。这种方法主要用于解决如何在计算机上生成和显示由大量运动和变化有一定规则的微小粒子组成大物质的问题,与其他传统的渲染技术相比,这种技术在模拟该现象时具有真实感方面的优势。在海面建模的问题上,主要是对由波破碎和与障碍物相碰引起的水沫和飞沫建模,该方法被认为是迄今为止模拟不规则物体最为成功的一种图形生成算法。<br>
 
粒子系统方法假设景物由若干不规则的、随机分布的粒子组成,这些微小粒子聚集在一起形成不规则的模糊物体,用于构造和绘制景物。粒子系统是一个动态系统,可以生长和消亡。也就是说,每个粒子除了具有位置、速度、颜色和加速度等属性外,还有一定的生命周期,即每个粒子都有自己的生命值,随时间变化,粒子的生命值不断减小,当粒子的生命值减小到零时,粒子便进入死亡状态,此时该生命周期结束,下一个生命周期随即开始。这个过程不断地有新粒子生成和旧粒子消失,这些粒子不断地改变形状,不断地运动,从而引起景物的总体形态和特征的变化。为使景物的随机性更加真实,通常采用一些简化的随机过程来控制粒子的形状、特征和运动。在确定每一个粒子参数的变化范围的基础上,在该范围内随机确定参数值,进而确定该粒子的状态,以增大粒子系统的随机性。<br>
 
粒子系统瞬间画面的生成主要遵循以下步骤:1)在系统中生成一个新的粒子;2)赋予新粒子一定的属性;3)删除生命值为零的粒子;4)根据粒子的动态属性对粒子添加外力作用,如重力、风力等空间扭曲,实现对粒子的随机移动和变换;5)绘制并显示由所有生命值不为零的粒子组成的图形。<br>
 
一般情况下,在三维空间中粒子系统的位置与运动取决于发射器。发射器可以用一组粒子行为参数及其在三维空间中的位置来表示。粒子生成速度、粒子初始速度向量和粒子寿命组成了粒子行为参数。当粒子进入系统中后,受控的随机过程可以模拟其运动。为了得到较逼真的景象,有时需要对粒子进行纹理贴图。 <br>
 
粒子系统的优点是,由于其充分体现了物体的动态性和随机性,在模拟火、云、水、森林和原野等自然景物时具有一定的优势;其缺点则是,构造太简单、粒子数太少的粒子模型在真实性上会有欠缺,复杂、粒子数过多的粒子模型又面临着计算量较大,难以实时进行表现的问题<sup>[9-11]</sup>。
 
 
=====基于物理模型的方法=====
 
描述流体现象最为完整的方程是Navier-Stokes(纳维-斯托克斯方程)方程,该方程是根据牛顿第二定律推导出来的,用该经典流体力学来建立水波模型是基于物理模型对海浪建模的典型方法。该方法用求得的方程数值解来得到海浪的具体形状。<br>
 
该方法是在给定边界条件和动量和质量守恒的约束条件下自动产生的,得到流体质点在任意时刻的状态,进而得到波浪的形态,生成的海浪形状非常接近真实的物理现象,其建模原理是质量和动量守恒,适合模拟流体细节。<br>
 
当前国内外在这一方面的研究主要集中在如何快速稳定地求解 N-S 方程。在求解二维 N-S 方程方面,Kass 和 Miller 用简化二维浅水波方程组来模拟不同深度的波浪,将水体分为一个个水柱,假定水柱本身没有垂直的速度,只有水平速度,并且唯一,因而水表面是用高度场表示,设置初始条件时只要设置一部分水柱的高度与周围水柱的高度不一样,则通过 N-S 方程的控制,会自动产生波浪。在求解三维 N-S方程方面,Foster等提出了一种使用有限差分的隐格式的方法求解方程,Stam提出一种Stable fluids的方法求解三维N-S方程。<br>
 
通过解Navier-Stokes方程得到海浪的波型模型:f(x,t)=Asin(2π(x-Ct)/L)。为了更真实地反映海浪的运动过程, f(x,t)为随机函数, A , L均为随机变量,参数C为定常数。然后引入海浪谱,研究海浪谱的目的是为了得到A和L这两个随机变量。经过推导可以得到具体海浪模型函数。<br>
 
用该方法模拟的波形充分地考虑了海浪运动的随机性,能更好、更真实地反映海浪形态各个要素的变化,同时也能较充分地反映海浪的成长特性及能量分布,但是由于方程组属于偏微分方程组,边界条件和受力分析每帧都在变化,求解过程复杂,计算量较大<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.
+
OsgEarth平台海洋实时渲染采用的是SUNDOG公司triton插件。<br>
 +
基于FFT的大规模海面模拟:http://blog.sina.com.cn/s/blog_15ff6002b0102xnhc.html
  
[16] 刘文龙, 张静. 用MC算法优化基于 SPH的海浪粒子模型[J]. 海洋技术学报, 2017, 36(2):41-45.
+
===建筑信息模型(BIM)===
 +
*[https://www.bilibili.com/video/BV1uE411H7sR?from=search&seid=17041706408266536734 unity与revit的联合开发]
  
==== 湖面仿真 ====
+
建筑信息模型(Building Information Modeling)是建筑学、工程学及土木工程的新工具。建筑信息模型或建筑资讯模型一词由Autodesk所创的。它是来形容那些以三维图形为主、物件导向、建筑学有关的电脑辅助设计。当初这个概念是由Jerry Laiserin把Autodesk、Bentley系统软件公司、Graphisoft所提供的技术向公众推广。
  
=== 实时云模拟 ===
 
 
=== 视点漫游 ===
 
=== 视点漫游 ===
  
第252行: 第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。
第282行: 第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

主要参与人员[编辑]

平台框架:邢树军

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

界面美化:孙默涵 王卓文

视点漫游:张泷 孙默涵

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

输入框控件:陈莹莹

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

打包安装:张泷