教你一鍵製作熱力圖,想要什麼效果就是什麼效果

openlayer熱力圖製作,本文結合最新的openlayer6.2.1版本,講述熱力圖的生成過程。

首先看一下熱力圖的效果,這裡我自己生成的一些樣例數據。其中數據主要包含熱力點的經緯度,和權重。熱力圖也是根據這三個數據生成的。下面給大家先看一下效果。


教你一鍵製作熱力圖,想要什麼效果就是什麼效果

熱力圖效果

數據是geojson格式的,下面是我的一個樣例數據。

教你一鍵製作熱力圖,想要什麼效果就是什麼效果

熱力圖數據

具體實現代碼為:

1 導入相關openlayer類

<code>import {Map, Vector, View} from 'ol';
import TileLayer from 'ol/layer/Tile';
import XYZ from 'ol/source/XYZ'
import 'ol/ol.css'
import VectorSource from 'ol/source/Vector.js'
import { transform } from 'ol/proj'
import GeoJSON from 'ol/format/GeoJSON'
import Heatmap from "ol/layer/Heatmap";/<code>

2 解析要生成熱力圖的數據

<code>let vector = new Heatmap({
// 矢量數據源
source: new VectorSource({
features: (new GeoJSON()).readFeatures(heatData1[0], {
dataProjection: 'EPSG:4326',
featureProjection: 'EPSG:3857'
}),
}),
blur: 15, // 模糊尺寸
radius: 20 // 熱點半徑
})/<code>

在這裡可以設置座標系統、熱力點的模糊尺寸、熱力點半徑。

3 創建地圖,並引入熱力圖圖層

<code>let map = new Map({
target: 'map',
layers: [
vector
],
view: new View({
center: transform( [121.407,41.146], 'EPSG:4326', 'EPSG:3857'),
zoom: 10

})
});/<code>

至此,運行便可看到相應的熱力圖。


教你一鍵製作熱力圖,想要什麼效果就是什麼效果

熱力圖效果

好了,今天就給大家分享到這裡。後續我也會製作熱力圖相關的在線工具,只要上傳相應的數據,即可一鍵生成你想要的熱力圖。

想要代碼的可關注私信我,送完整代碼。


分享到:


相關文章: