博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三维分析之开敞度分析
阅读量:4160 次
发布时间:2019-05-26

本文共 1982 字,大约阅读时间需要 6 分钟。

三维分析之开敞度分析

Nec_Eu

功能简介

开敞度分析,是在场景中相对于指定的观测点,基于一定的观测半径,构造出一个“视域半球体”,分析该区域内开敞度情况,模拟特点观测点周围空间的视域范围。在城市规划中,开敞度是一个衡量城市空间的重要指标,其对于建筑密度、建筑高度、以及容积率等指标的控制有着重要的意义。此外,开敞度分析的结果也可以用于军事的雷达范围分析上。下面,就让我们来看一下在SuperMap中如何进行开敞度分析。

软件环境

在此次演示中使用到的软件为:

SuperMap iDesktop 9.1.2
SuperMap iObjects 9.1.2

详细步骤

- 桌面篇

1、在场景中添加需进行开敞度分析的数据。

2、在“三维分析”选项卡上的“空间分析”组,单击“开敞度分析”按钮,弹出“三维空间分析”面板。
3、当鼠标状态变为在这里插入图片描述,即可在数据表面单击鼠标选择观察点,从而进行开敞度分析。
4、确定开敞度分析的观察点之后,可在“三维空间分析”工具条中,继续添加开敞度分析,或增加、删除、导入、导出、保存分析结果。
在这里插入图片描述
图:“三维空间分析”面板

5、三维开敞度分析可设置观察者信息,设置观察位置:

· 观察位置:分别在 X、Y、Z 数字输入框中修改观察点的坐标值,可修改观察点的位置。
6、在参数设置区域可设置分析结果的相关参数,包括观察半径、填充颜色、显示模式、线框颜色和分析精度,并可以选择观察开敞度的可视部分和不可视部分:
· 观察半径:用来设置开敞度分析的视域半球体的半径,默认为100米。
· 填充颜色:用来设置开敞度分析的视域半球体表面的填充颜色。
· 显示模式:可以选择填充模式,线框加填充模式和线框模式三种模式,修改视域半球体的显示模式
· 线框颜色:可设置开敞度分析的视域半球体表面线框的颜色。
· 分析精度:可设置分析结果的质量等级,包括低级、中级、高级三个等级。
· 显示可视或不可视区域:可设置显示分析结果为视域半球体的可视或不可视部分。
7、工具条区域,提供了观察点添加、删除、导入、导出和保存分析结果操作。
8、开敞度效果图如下。
在这里插入图片描述
图:开敞度分析效果图

9、开敞度保存结果如下

在这里插入图片描述
图:开敞度可视部分表面
在这里插入图片描述
图: 开敞度不可视部分体

- 组件篇

ViewDome viewDome = new ViewDome(scene); //构造新的开敞度分析对象            viewDome.ViewerPosition = new Point3D(116.458150955869, 39.9122391335301, 0.0444507114589214); //视点位置,这里用的是CBD示例的中心位置            viewDome.Distance = 200; //可视距离            viewDome.DisplayStyle = ViewDome.DisplayMode.FACELINE; //开敞度显示模式,分为线模式、面模式、线面模式            viewDome.DomeType = ViewDome.ViewDomeType.VISIBLEDOME; //开敞度类型,分为可视部分开敞度、不可视部分开敞度            viewDome.Quality = AnalysisQuality.High; //开敞度分析质量级别,分为低、中、高三个级别            viewDome.ViewDomeColor = Color.Aqua; //显示面的颜色            viewDome.ViewDomeLineColor = Color.White; //线轮廓的颜色            viewDome.Build(); //执行开敞度分析            //分析结果获取方法            GeoModel3D domeBody = viewDome.GetViewDomeBody(ViewDome.ViewDomeType.VISIBLEDOME); //获取开敞度分析闭合体            double domeRatio = viewDome.GetViewDomeRatio(ViewDome.ViewDomeType.VISIBLEDOME); //获取开敞度分析闭合体            GeoModel3D domeShell = viewDome.GetViewDomeShell(ViewDome.ViewDomeType.VISIBLEDOME); //获取开敞度分析外壳            //结果清除            viewDome.Clear();//清除开敞度分析

效果如下:

在这里插入图片描述

转载地址:http://vnvxi.baihongyu.com/

你可能感兴趣的文章
把类成员函数封装成线程API所需要的函数
查看>>
HTTP Live Streaming直播(iOS直播)技术分析与实现
查看>>
Ribbon界面图标可以直接用PNG做透明图标
查看>>
向其他软件窗口、控件发送消息的方法
查看>>
word或者pdf文件全部保存为图片的方法
查看>>
VS2010下SQLite3生成lib库文件
查看>>
sqlite3的helloworld
查看>>
MFC下支持中文的SQLite3封装类使用
查看>>
简单高效的多线程日志类
查看>>
研华USB4711A采集卡高速中断模式采集总结
查看>>
从零起步CMFCToolBar用法详解
查看>>
CMFCRibbonStatusBar用法
查看>>
CMFCControlRendererInfo类的参数
查看>>
史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)
查看>>
CMFCShellListCtrl使用方法
查看>>
mapnik的demo运行
查看>>
python支持下的mapnik安装
查看>>
milvus手册
查看>>
多目标跟踪的简单理解
查看>>
Visual Tracking Using Attention-Modulated Disintegration and Integration
查看>>