C#使用SuperMap建立三维模型的问题?

C#使用SuperMap建立三维模型的问题?,第1张

1.首先你需要解决的就是3d建模问题,3d建模的话你可以参考超图的文档,也可以和他们的技术人员联系

2.所有的数据处理完成以后就可肆大渗以进行二次开发了仿悉,你所说的放大、缩小什么的,可以直接调用底层的gis平台的api。

3.二次开发:你要进行需求分析,将你的需要的功能弄清楚,然后建模,建库,编码,测试;一般来讲裂脊等你建完数据库,你的软件基本就算完成大半了!

@TOC

体握猜元栅格

本质就是通过三维点数据进行插值分析得出的结果。在二维中,我们可以通过二维点进行插值分析,得到对应的栅格数据集,并且给这个栅格数据集付颜色,能够更清晰的反应数据的峰值的高低分布情况。而这个过程在三维中生成的就是体元栅格了,其本质就是三维点数据插值出来的三维栅格,表现方式和二维栅格如出一辙。

一)使用三维点数据生成体元栅格

1.首先需要预备体元栅格的原始三维点数据,这里我们选择在Sampledata中CBD的Sun_Light三维点数据作为我们插值用的数据;桥衫

2.因为==体元栅格所用的单位是以m为单位==的,所以我们需要将原来经纬度的数据优先转化一下,将数据转换为墨卡托坐标系

3.使用转化好的三维点数据生成体元栅格,点击数据>三维数据>体元栅格>构建体元栅格,跳出构建体元栅格对话框

4.生成好的体元栅格可以直接放入场景之中显示,通过调整体元栅格对应图层设置使其能够达到良好的显示效果

二)使用多个二维栅格数据生成体元栅格

同样的我们可以使用两个或者多个二维栅格数据进行体元栅格的生成,要注意的是两个栅格图层需要使用相同的坐标系,然后进行生成。

其中体元栅格的范围由最下面的二维栅格数据来决定,当设置好最小和最大高度之后,加入其中的每层栅格会按照顺序从下往上等高度间距进行插值运算,从而得到对应体元栅格。

一)iDesktop中使用体元栅格

将体元栅格加入到场景之中,可以通过图层属性来调整体元栅格的显示范围,来控制体元栅格的显示范围

当然也可以通过剖切的方式来显示,不过目前只能zxy三轴各切一层:

也可以通过设置可以范围,查看其中的一部分

二)webgl中使用体元栅格

如果想在webgl中使用体元栅格的段消型话,目前没法像,桌面这样以体的方式来显示,目前的做法是让体元栅格生成缓存并附着在osgb或者s3m上进行分层设色显示。

1.数据准备

首先我们需要找到一个osgb或者s3m缓存来作为体元栅格附着的对象。这里我选了CBD楼房数据的一部分生成了s3m缓存作为附着对象

卫星地图是需要用带地理坐标信息的地图。一般选用GeoTiff这亩圆种格式,用专业的就可以。简单的像是SuperMap或者ERDAS等等,量算面积还是可以的。因为是左右坐标信息,所以可以量算面积,要是用Google Earth这种,在用KMZ划定范围,有个老版本可以直接弯带量算,不然就得用埋耐芦KMZ编辑工具,把里面添加上面积量算等属性信息了。

没有地理坐标信息的图像,就得用地图提供的比例尺,来计算了。。。。具体怎么计算,不解释。。。。。小学生都会。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12346163.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存