PIE SDK热力图

 

1.算法功能简介

    热力图,也就热图或者热点图,它能以特殊高亮的的形式显示某一区域的等级的优越性、重要性或者某一区域类别的密度和变换趋势;例如百度地图热力图 是用不同颜色的区块叠加在地图上实时描述人群分布、密度和变化趋势的一个产品,是基于百度大数据的一个便民出行服务。

 

    上图主要显示一个城市的某个地方人员比较集中甚至拥挤程度,颜色越深表示人员越多,颜色浅代表人比较少,可以提前考虑自己的行程避开人多的地方。

PIE支持算法功能的执行,下面对热力图算法功能进行介绍。

2.算法功能实现说明

2.1. 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2. 算法参数

 

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo.HotMapContructAlgo

参数结构体

HotMapContruct_Exchange_Info

参数说明

BCreateFeatureDataset

bool

是否创建矢量数据集

BUseWeightFiled

bool

是否使用权重字段

CellSize

double

像元大小(影响输出宽高 为负数不参与计算)

DefualtWeightValue

int

默认权重值(0-255,不使用权重字段情况下)

DeviceHeight

int

输出影像高度

DeviceWidth

int

输出影像宽度(高度自动计算)

InputFeatureDataset

IFeatureDataset

输入矢量数据集

ListInvalidValue

IList<double>

无效值列表

OutputFeatureDataset

IFeatureDataset

输出矢量数据集(内存)

OutputRasterDataset

IRasterDataset

输出栅格数据集

OutRasterFilePath

string

输出栅格路径

OutRasterType

string

输出栅格类型

Radius

double

半径(像素单位)

WeightFeildName

String

权重字段名称

2.3. 示例代码

数据路径

百度云盘地址下/PIE示例数据/矢量数据/Shape/省会城市.shp

视频路径

百度云盘地址下/10.算法调用/实用工具/热力图算法.avi

示例代码

 1         /// <summary>
 2         /// 热力图生成算法
 3         /// </summary>
 4         private void Test_HotMapContructAlgo()
 5         {
 6             #region 1参数设置
 7             string strFileName = @"D:\\data\\China\\省会城市.shp";
 8             IFeatureDataset fDataset = PIE.DataSource.DatasetFactory.OpenFeatureDataset(strFileName);
 9             if (fDataset.GetGeomType() != GeometryType.GeometryPoint) return;
10             HotMapContruct_Exchange_Info info = new HotMapContruct_Exchange_Info();
11             info.InputFeatureDataset = fDataset;
12             //具体分析
13             info.BUseWeightFiled = true;
14             info.WeightFeildName = "GDP";//根据数据的权重字段进行设置
15             info.Radius = 20;
16             info.BCreateFeatureDataset = false;
17             info.DeviceWidth = 2000;
18             info.DefualtWeightValue = 50;
19             info.OutRasterType = "GTIFF";
20             info.DeviceWidth = 1000;
21             info.CellSize = fDataset.GetExtent().GetWidth() / info.CellSize;
22             info.OutRasterFilePath = @"D:\\temp\\省会城市热力图测试.tiff";
23             #endregion
24 
25             //2、算法执行
26             PIE.CommonAlgo.HotMapContructAlgo alog = new HotMapContructAlgo();
27             alog.Params = info;
28             alog.Execute();
29 
30             //3、结果显示
31             ILayer layer = LayerFactory.CreateDefaultLayer(info.OutRasterFilePath);
32             if (layer == null)
33             {
34                 MessageBox.Show("执行失败");
35                 return;
36             }
37             m_HookHelper.FocusMap.AddLayer(layer);     m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
38             (fDataset as IDisposable).Dispose();//释放内存
39             fDataset = null;
40         }
View Code
2.4. 示例截图

  

转载于:https://www.cnblogs.com/PIESat/p/10150607.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值