PIE SDK熱力圖

 

1.算法功能簡介

    熱力圖,也就熱圖或者熱點圖,它能以特殊高亮的的形式顯示某一區域的等級的優越性、重要性或者某一區域類別的密度和變換趨勢;例如百度地圖熱力圖 是用不一樣顏色的區塊疊加在地圖上實時描述人羣分佈、密度和變化趨勢的一個產品,是基於百度大數據的一個便民出行服務。算法

 

    上圖主要顯示一個城市的某個地方人員比較集中甚至擁擠程度,顏色越深表示人員越多,顏色淺表明人比較少,能夠提早考慮本身的行程避開人多的地方。ide

PIE支持算法功能的執行,下面對熱力圖算法功能進行介紹。工具

2.算法功能實現說明

2.1. 實現步驟

第一步測試

算法參數設置大數據

第二步spa

算法執行code

第三步視頻

結果顯示blog

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             //二、算法執行
26             PIE.CommonAlgo.HotMapContructAlgo alog = new HotMapContructAlgo();
27             alog.Params = info;
28             alog.Execute();
29 
30             //三、結果顯示
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. 示例截圖

  

相關文章
相關標籤/搜索