倾斜摄影组件
功能说明
支持加载倾斜摄影数据,结合GIS以散点、飞线、路径和区域等可视化的形式展现业务,并可与常规的2D组件联动,以实现3D场景与2D看板交互。(备注:下文中出现的所有的经纬度,如果没有特殊说明,默认都是WGS84(ESPG-4326)坐标系下的)
数据要求
当前只支持3D Tiles格式的倾斜摄影数据,并且需要把数据发布成资源服务,获取数据中顶层json文件的url。
配置项
基础设置
资源URL
把3D Tiles的倾斜摄影数据发布成资源服务后,取其中的顶层JSON文件的url填到此处,即可加载该倾斜摄影数据到组件中。
JSON文件指的是3D Tiles标准中的tileset.json文件,定义了瓦片的基础信息。这个JSON文件的名字没有严格规定,一般是名为“tileset”,也可能是其他名字。但主要通过它所在的目录结构以及文件后缀、文件内容来判断是否是tileset.json文件。
而该配置项需要的是顶层的JSON文件,就是3D Tiles的目录结构中,根目录下的tileset.json。(3D Tiles数据的目录结构可以参考《倾斜摄影数据处理指南》)。
海拔高度
倾斜摄影数据中使用的是地球坐标系(地心地固坐标系),这种坐标系不仅需要常规二维地理坐标系(如WGS84)中的经度、纬度这两个维度的数值,还需要一个海拔高度的数值,这样才能在以地心为坐标原点而构建的地球坐标系下唯一定位出地球上任意一个点。
地球坐标系
一般的业务系统能给到的数据是经纬度的二维数据,缺少海拔高度,所以把业务数据(一般是子组件的数据)接入GIS中时,为了和倾斜摄影的表面对齐,需要经纬度点位的海拔高度(因为倾斜摄影模型本身使用了带海拔高度的经纬度点位)。
海拔高度这个配置项就是定义了这个海拔高度,实际使用时,可以查阅相关资料得知当前倾斜摄影区域在现实中的大致的海拔高度,也可以不断调整尝试不同数值,视觉上让子组件与地面基本平齐就行(或者你想定位在其他高度平面上也行)。
最大瓦片数
这个配置项的数值限制了场景中最多能加载的瓦片数量,超出这个数值时则不会加载新的瓦片,只会进行瓦片替换(就是替换不同细节层次的瓦片)。
如果第一层的瓦片数量就大于这个配置项的数值,则可能初始时看不到任何瓦片,这时需要逐步尝试加大这个配置项,设置一个合理的数值以能显示出模型。
还有一种情况是能加载出瓦片,但看着有瓦片缺失,那也可能是这个配置项不够大导致的。
通用设置
点击参考查看👇🏻
设备像素比
相机
镜头灵敏度
镜头范围限制
调试模式
场景效果
环境光
HDRI
颜色调整
泛光
抗锯齿
雾
场景管理
数据源
组件支持在EasyV的数据源面板加入多个倾斜摄影数据的url来实现多数据支持。
数据源支持的格式如下:
[
"https://localhost:12138/dayanta1/tileset.json",
"https://localhost:12138/dayanta2/tileset.json",
"https://localhost:12138/dayanta3/tileset.json"
]
把倾斜摄影数据发布出来的链接放到EasyV数据源中,直接作为数据的一个元素即可。
此时你会发现配置中原本也可以支持放入一个倾斜摄影数据的url,那这两边的url是怎么个关系的呢?
主数据概念
配置项中放入的url叫做主数据,EasyV数据源面板中放入的url叫做子数据。一个组件必须有且只能有一个主数据,可以有任意多个子数据。(下文中主数据也用来代指主数据的倾斜摄影模型,子数据也用来代指子数据的倾斜摄影模型)
如果一个主数据都没有,即使放入了子数据也无效。主数据确定了经纬度的映射,也就是说子组件的点位的定位是由主数据的经纬度坐标系确定的。组件加载完默认镜头聚焦的是主数据,子数据是放置在由主数据确定的世界坐标系下的。
所以子数据如果离主数据太远(超出相机视野范围),则可能无法显示在场景中。所以原则主数据和子数据应该是一个观察尺度下的东西,也就是说它们应该是相邻的区域的数据,相隔太远就不适合放到一个场景下。
交互
回调和自定义事件
当前组件不支持任何自定义事件。
自定义动作
切换场景
休眠
唤醒
子组件
标牌
点击查看👇🏻
信息面板
点击查看👇🏻
飞线
点击查看👇🏻
灯光
点击查看👇🏻
iframe组件
点击查看👇🏻
图片
点击查看👇🏻
散点
点击查看👇🏻
海洋
点击查看👇🏻
粒子系统
点击查看👇🏻
路径
点击查看👇🏻
围栏
点击查看👇🏻
多边形
点击查看👇🏻