SuperMap iObjects .NET 日照分析之生成

171 篇文章 53 订阅

地理位置是决定太阳光照空间变化的一个重要因素,不同经纬度、模型要素投射的阴影等方面因素会影响某区域接收到的日照时间长短。日照分析考虑到太阳角度的日变化和季节性变化以及周围地形投射的阴影所带来的影响,得出指定范围内的采光信息,即日照时间所占总分析时间的百分比。

基于GPU分析日照,相较于基于数据的“日照分析”,精度较低,但可以大范围分析。

本文使用的iOBjects .net版本为:supermap-iobjectsdotnet-10.2.1-20429-92256

首先,此分析基于GPU,因此需要在分析前打开场景
 

Workspace Workspace = new Workspace();
SceneControl sceneControl = new SceneControl();
 WorkspaceConnectionInfo wksinfo = new WorkspaceConnectionInfo(@"D:\Desktop\日照分析\test.smwu");
  wksinfo.Type = WorkspaceType.SMWU;
  Workspace.Open(wksinfo);
 
  sceneControl.Scene.Workspace = Workspace;
  sceneControl.Scene.Open("NewDataset");

打开场景后,开始进行分析

日照分析使用到的方法为:ModelBuilder3D.SunlightAnalysis

 

本文将使用ModelBuilder3D.SunlightAnalysis 方法 (Geometry3D, GeoModel3D, SunlightAnalysisSetting, Boolean) 进行分析

在这个方法中,共需要传入四个参数,Geometry3D geometry是需要进行分析的三维几何对象;GeoModel3D geoModelDes是分析结果保存成的三维实体模型;SunlightAnalysisSetting param是日照分析时所需要的分析参数,bool bLatLon是确认阴影率查询的对象是否是经纬度坐标。参数含义可参考iObject .net帮助文档,下载地址为:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/SuperMap_iObjects_.NET_Help.zip

根据参数,首先确认需要分析的三维几何对象,以场景中选中的对象为例
 

  Selection3D[] selections = sceneControl.Scene.FindSelection(true);
  Selection3D selection = selections[0];
 
  Recordset rs = selection.ToRecordset();
  GeoModel3D model3D = rs.GetGeometry() as GeoModel3D;

 构造一个GeoModel3D对象保存分析结果

GeoModel3D geoModel3D = new GeoModel3D();

构造分析参数设置SunlightAnalysisSetting 对象,这个设置在测试时可参考iDesktop

setting.BaseUtcOffset = TimeSpan.FromHours(8);
            setting.DistanceThreshold = 1;
            setting.StartTime = Convert.ToDateTime("2022-07-05 06:00:00");
            setting.EndTime = Convert.ToDateTime("2022-07-05 18:00:00");
            setting.SubdivisionThreshold = 20;
            List<DatasetVector> datasets = new List<DatasetVector>();
            DatasetVector vector = Workspace.Datasources[0].Datasets["NewDataset"] as DatasetVector;
            datasets.Add(vector);
            setting.QueryDatasets = datasets;
            setting.TimeInterval = TimeSpan.FromMinutes(30);

 进行分析,并将分析结果模型保存到数据集

  m_pointsResultList = ModelBuilder3D.SunlightAnalysis(model3D, geoModel3D, setting, true);
 
            DatasetVector datasetM = Workspace.Datasources[0].Datasets["New_Model"] as DatasetVector;
            Recordset recordset = datasetM.GetRecordset(false, CursorType.Dynamic);
            recordset.Edit();
            bool a = recordset.AddNew(geoModel3D);
            recordset.Refresh();
            recordset.Update();

笔者:wzr

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SuperMap iObjects .NET是一种基于.NET平台的GIS开发框架,它提供了一系列的GIS组件和API,可以帮助开发者快速构建高效、稳定的GIS应用程序。SuperMap iObjects .NET支持多种数据格式和数据源,包括Oracle、SQL Server、PostgreSQL、MySQL等数据库,以及Shapefile、GeoJSON、KML等常见的地理数据格式。同时,它还提供了丰富的地图显示和分析功能,如地图渲染、空间查询、空间分析等,可以满足各种GIS应用的需求。 ### 回答2: SuperMap iObjects .NET 是一款针对 .NET 开发者的 GIS 开发框架,它提供了一组完整的 GIS 控件、类库和 API,开发者可以使用这些工具来快速构建并定制化自己的 GIS 应用程序。 此框架可以轻松处理几何计算、数据连接、符号设计、地图绘制、空间分析和数据查询等功能。同时,SuperMap iObjects .NET 还支持多种数据格式,包括文件格式(如 Shapefile、KML、GPX 等),数据库格式(如 Oracle、SQL Server、MySQL 等),以及 OGC 标准格式(如 WMS、WFS、WCS 等)。 此外,SuperMap iObjects .NET 还提供了一套完整的开发工具,包括 SuperMap iDesktop、SuperMap iServer、SuperMap iPortal 和 SuperMap iMobile。SuperMap iDesktop 是一个功能强大的桌面 GIS 开发环境,提供了丰富的可视化编辑功能、数据管理功能、以及符号化和分析工具。SuperMap iServer 是一款高性能的 GIS 服务器,能够处理海量的 GIS 数据和请求,支持多系统、多平台引擎,兼容多种 GIS 标准和协议。SuperMap iPortal 是一个面向 Web 的 GIS 应用管理平台,便于用户快速发布和共享 GIS 数据、工具和应用。SuperMap iMobile 是一套移动端 GIS 应用开发平台,可以帮助开发者快速构建定制化的移动 GIS 应用程序。 总之,SuperMap iObjects .NET 是一款强大且全面的 GIS 开发框架,具有多种数据格式支持、良好的性能和灵活的定制化功能。它可以帮助开发者快速构建高质量的 GIS 应用程序,并具有广泛的应用范围,涉及地理信息、城市规划、资源管理、环境保护、公共安全等多个领域。 ### 回答3: SuperMap iObjects .NET是一款开发GIS应用程序的.NET框架,它提供了一系列的GIS组件和工具,方便开发人员实现GIS功能。这款产品具有如下的特点: 1.多种数据源支持:SuperMap iObjects .NET支持多种常见的数据格式(例如GDB,PostgreSQL,Oracle等),方便GIS程序访问和处理各种数据。 2.丰富的空间数据分析功能:SuperMap iObjects .NET提供了各种空间数据分析功能,例如空间查询、缓冲区分析、空间叠加、空间统计等,可以方便地实现复杂的GIS分析需求。 3.强大的空间可视化功能:SuperMap iObjects .NET提供了各种数据可视化工具,可以轻松实现图层风格设置、标注、符号等功能,使得GIS地图更加美观、精准。 4.支持跨平台开发:SuperMap iObjects .NET可以支持不同平台的开发,包括桌面、Web、移动等,方便不同应用需求的实现。 总之,SuperMap iObjects .NET是一款开发GIS应用程序的强大框架,它提供了完整的GIS解决方案和开发工具,可以大幅提升开发人员的工作效率,同时也能够满足各种GIS应用场景的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值