首页 / 浏览问题 / WebGIS / 问题详情
如何加载的超图服务模型以米为单位
18EXP 2023年05月08日
求解答

1个回答

您好,使用webgl加载数据主要取决于坐标系,而不是坐标系的单位。

球面场景可以加载地理坐标系的数据和全球墨卡托投影的的坐标系(仅3857)。

分度带投影坐标系只能在平面场景中加载,但是平面场景并不是只能加载分度投影坐标系,地理坐标系和全球投影坐标系,平面场景一样可以加载。

webgl默认为球面场景,平面场景需要专门切换:

http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#planScene

希望可以帮助到您。

10,758EXP 2023年05月08日
我想问有没有什么方法调整模型的高度

三维切片缓存图层的话,找到需要设置的图层S3MTilesLayer,设置图层风格style3D的底部高程bottomAltitude即可。

可以下面这个demo,这个demo中就有调整图层底部高程的部分。

http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#S3MTiles_srsb_water

增加模型底部厚度
没有理解您的意思,您是要修改模型结构形态吗?

缓存只是缓存,不是entity实体,没法改几何数据本身结构哦。
那如何获取模型的高度呢?
您如果指的是模型对象中心定位点的高度的话,建议把切缓存的前的数据直接发布数据服务,然后来做sql查询查询属性比较容易获取。
获取模型的宽高
嗯,这些内容建议存放在模型数据集的属性表中,通过sql查询获取。

复杂模型对象本身没有宽度这种几何特征属性的,这个是我们人为主观定义的,不是模型本身的自然属性,所以宽度值需要您自行存储在属性表中。

模型的高度的话,可以通过模型的顶部高程与底部高程求差来得到。

模型的底部高程和顶部高程可以通过iDesktop的,三维数据选项卡——模型组——模型工具——属性提取来获取。
超图的模型拉伸功能是按照什么比例拉伸的?
您说的拉伸具体是什么产品的哪一个功能呢?

iDesktop中的拉伸功能有两个地方,

1.规则建模中的拉伸建模,使用点线面数据,设置底部高程和拉伸高度,将几何对象以这里两个参数拉伸成模型体

2.三维场景风格设置中的拉伸设置,一样是使用点线面数据,设置底部高程和拉伸高度,将几何对象以这里两个参数拉伸成模型体

这两个拉伸都和比例没有什么关系。
那如何在当前页面拉伸模型高度

http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#ModelDynamic_Extrude,里面的示例按比例拉伸,如何转换成按米来拉伸

这个demo,拉伸高度控制用的接口是S3MTilesLayer.heightScale,图层拉伸高度。

http://support.supermap.com.cn:8090/webgl/web/apis/3dwebgl.html

该接口的单位就是比例系数,按照对象本身的高度进行缩放拉伸。

需要注意,该接口进度使用iDesktop桌面端规则建模中使用矢量面,线性拉伸建模的得到模型有效。

...