Commit a31424d1 authored by 刘恽伟's avatar 刘恽伟

新增数据演示demo

parent 95374189
Pipeline #16 failed with stages
File added
This source diff could not be displayed because it is too large. You can view the blob instead.
html, body, .mainScene {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
float: left;
overflow: hidden;
}
.visiable {
background-color: #e7943a !important;
}
.secondaryScene {
width: 50%;
height: 100%;
float: right;
overflow: hidden;
display: none;
}
.hawkEyeMap {
position: absolute;
left: 25px;
bottom: 65px;
height: 200px;
width: 200px;
z-index: 100;
display: none;
background-color: rgba(47, 53, 60, .8);
}
.layerManagerPanal {
position: absolute;
left: 25px;
bottom: 65px;
height: 50px;
width: 150px;
z-index: 100;
display: none;
}
.layerManagerSingleLayer {
float: left;
width: 33.333%;
height: 100%;
}
.layerIcon {
width: 87%;
height: 87%;
border: 3px solid #ffffff00;
background-color: #85878a;
}
.linkage {
position: absolute;
left: 25px;
bottom: 30px;
height: 29px;
width: 29px;
z-index: 100;
background-color: rgba(47, 53, 60, .8);
}
.hawkEye {
position: absolute;
left: 60px;
bottom: 30px;
height: 29px;
width: 29px;
z-index: 100;
background-color: #2f353c;
}
.layerManager {
position: absolute;
left: 60px;
bottom: 30px;
height: 29px;
width: 29px;
z-index: 100;
background-color: rgba(47, 53, 60, .8);
}
.main {
position: relative;
}
.btn-group {
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.btn-wrap {
margin: 20px 10px;
margin-top: 80px;
background: rgba(47, 53, 60, .8);
border-radius: 3px;
color: rgba(255, 255, 255, .8);
border: 3px solid rgba(255, 255, 255, .4);
}
.btn-group .btnA {
cursor: pointer;
position: relative;
font-size: 14px;
height: 50px;
line-height: 50px;
font-weight: 700;
background: rgba(47, 53, 60, .8);
}
.btn-group .btnA:last-child {
border-bottom: 0;
}
.btn-group .active {
background: #e7943a;
color: #fff;
}
.menu-bar {
height: 20px;
text-align: center;
width: 100%;
background: rgba(47, 53, 60, .8);,
}
.editInfoHead {
height: 30px;
line-height: 30px;
padding-left: 100px;
}
.editInfoBar {
width: 270px;
float: left;
background: rgba(47, 53, 60, .8);
height: 410px;
position: absolute;
left: 90px;
top: 40px;
overflow-y: auto;
display: none;
border-radius: 3px;
color: rgba(255, 255, 255, .8);
border: 3px solid rgba(255, 255, 255, .4);
}
.editLineBar {
width: 270px;
float: left;
background: rgba(47, 53, 60, .8);
height: 300px;
position: absolute;
left: 90px;
top: 40px;
overflow-y: auto;
display: none;
border-radius: 3px;
color: rgba(255, 255, 255, .8);
border: 3px solid rgba(255, 255, 255, .4);
}
.editPOIHead {
height: 30px;
line-height: 30px;
padding-left: 65px;
}
.editPOIBar {
width: 250px;
float: left;
background: rgba(47, 53, 60, .8);
height: 110px;
position: absolute;
left: 90px;
top: 85px;
overflow-y: auto;
display: none;
border-radius: 3px;
color: rgba(255, 255, 255, .8);
border: 3px solid rgba(255, 255, 255, .4);
}
.showPOIBar {
width: 255px;
float: left;
background: rgba(47, 53, 60, .8);
height: 250px;
position: absolute;
left: 90px;
top: 85px;
overflow-y: auto;
display: none;
border-radius: 3px;
color: rgba(255, 255, 255, .8);
border: 3px solid rgba(255, 255, 255, .4);
}
.poi_collection {
list-style-type: none;
margin-left: -30px;
}
.pois_collection {
list-style-type: none;
margin-left: -30px;
}
.poi_item_div {
width: 100%;
height: 100%;
float: left;
padding-bottom: 10px;
}
.poi_item_img {
width: 28px;
height: 28px;
float: left;
margin-right: 10px;
}
.poi_item_txt {
margin-top: -4px;
float: left;
width: 150px;
height: 20px;
font-size: 12px;
}
.poi_item_btn {
width: 28px;
height: 28px;
float: right;
margin-right: 10px;
}
.eidt-key {
width: 70px;
font-size: 13px;
border: 1px solid rgba(255, 255, 255, .4);
text-align: center;
}
.eidt-value {
width: 120px;
font-size: 13px;
border: 1px solid rgba(255, 255, 255, .4);
text-align: center;
}
.edit-save {
text-align: center
}
.edit-save-btn {
background-color: rgba(47, 53, 60, .8);
border-radius: 3px;
color: rgba(255, 255, 255, .8);
border: 2px solid rgba(255, 255, 255, .4);
}
.right-main {
width: 787px;
float: right;
padding-top: 16px;
}
.btnA-icon {
width: 55px;
height: 30px;
text-align: center;
vertical-align: middle;
}
.firtsMenuICON {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
transform: translate(-50%, -50%);
text-align: center;
}
.ol-popup-closer {
text-decoration: none;
position: absolute;
top: 2px;
right: 8px;
}
.ol-popup-closer:after {
content: "✖";
}
.ol-popup:after, .ol-popup:before {
top: 100%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border-top-color: white;
margin-left: 30px;
}
.query-element {
position: absolute;
right: 90px;
top: 10px;
z-index: 999;
background: rgba(47, 53, 60, .8);
overflow: hidden;
}
.query-function {
background: rgba(47, 53, 60, .8);
border-radius: 3px;
color: rgba(255, 255, 255, .8);
border: 3px solid rgba(255, 255, 255, .4);
overflow: hidden;
}
.query-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.element-wrap {
position: absolute;
left: 90px;
top: 10px;
z-index: 999;
background: rgba(47, 53, 60, .8);
overflow: hidden;
}
.element-function {
background: rgba(47, 53, 60, .8);
border-radius: 3px;
color: rgba(255, 255, 255, .8);
border: 3px solid rgba(255, 255, 255, .4);
overflow: hidden;
display: none;
}
.measure-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.buffer-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.road-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.height-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.profile-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.sight-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.flood-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.roam-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.edit-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.poi-button {
float: left;
padding: 0px 0px;
margin: 5px;
background: rgba(47, 53, 60, .8);
border: 3px solid rgba(255, 255, 255, .0);
}
.echart-profile {
width: 600px;
height: 400px;
position: fixed;
bottom: 10px;
left: 30%;
z-index: 100;
background-color: white;
margin: 0px auto;
display: none;
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
{
"globe": {
"baseColor": "#222323"
},
"InitialPosition": {
"lon": 88.3106038051712,
"lat": 43.25422845136735,
"height": 3026.6244910044506
},
"InitialOrientation": {
"heading": 26.0029885568554,
"pitch": -20.898404866336477,
"roll": 0
},
"Terrain": "//terrain.gbim360.com/",
"TDTVec": {
"name": "天地图矢量地图",
"url": "http://t0.tianditu.com/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles",
"layer": "tdtVecBasicLayer",
"style": "default",
"format": "image/jpeg",
"tileMatrixSetID": "GoogleMapsCompatible",
"minimumLevel": 0,
"maximumLevel": 18,
"show": false,
"index": 1
},
"ESRIImg": {
"name": "ESRI影像地图",
"url": "http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
"layer": "esriBasicLayer",
"style": "default",
"format": "image/jpeg",
"tileMatrixSetID": "GoogleMapsCompatible",
"enablePickFeatures": false,
"minimumLevel": 0,
"maximumLevel": 19,
"show": false,
"index": 0
},
"locationQuery": {
"listID": "#queryResult",
"inputID": "#placeName",
"url": "http://api.map.baidu.com/place/v2/suggestion",
"token": "dFS3zjvSFiCjYN8auETE2TvUxp6wfeBQ"
},
"MainModelData": {
"vector": {
"offset": {
"x": 0,
"y": 0,
"z": 0
},
"url": "http://172.16.10.132:3333/data/v1.0/3dtiles4/tileset.json"
},
"photography": {
"offset": {
"x": 0,
"y": 0,
"z": 0
},
"url": "http://172.16.10.132:3333/data/v1.0/3dtiles5/tileset.json"
},
"pointClouds": {
"url": [
"http://172.16.10.132:3333/data/v1.0/3dtiles1/tileset.json",
"http://172.16.10.132:3333/data/v1.0/3dtiles2/tileset.json",
"http://172.16.10.132:3333/data/v1.0/3dtiles3/tileset.json"
]
},
"style": [
[
"${Classification} >=16.9",
"rgb(232, 232, 232)"
],
[
"${Classification} >=15.9",
"rgb(243, 0, 0)"
],
[
"${Classification} >=14.9",
"rgb(68, 72, 93)"
],
[
"${Classification} >=13.9",
"rgb(1, 41, 247)"
],
[
"${Classification} >=12.9",
"rgb(228, 228, 216)"
],
[
"${Classification} >=10.9",
"rgb(123, 125, 7)"
],
[
"${Classification} >=9.9",
"rgb(45, 45, 40)"
],
[
"${Classification} >=8.9",
"rgba(127, 158, 249, 0.71)"
],
[
"${Classification} >=5.9",
"rgb(183, 180, 170)"
],
[
"${Classification} >=4.9",
"rgb(7, 128, 12)"
],
[
"${Classification} >= 3.9",
"rgb(9, 181, 16)"
],
[
"${Classification} >= 2.9",
"rgb(10, 255, 20)"
],
[
"${Classification} >= 1.9",
"rgb(236, 94, 8)"
],
[
"true",
"rgb(255 255, 255)"
]
]
},
"LineInfo": {
"url": "http://172.16.10.132:8010/geoserver/Map3D-V2.0/ows?",
"typeName": "Map3D-V2.0:line_query",
"viewparams": "id"
},
"BuildInfo": {
"url": "http://172.16.10.132:8010/geoserver/Map3D-V2.0/ows?",
"typeName": "Map3D-V2.0:dianwang_query",
"viewparams": "id"
},
"EditInfo": {
"url": "http://172.16.10.132:8010/geoserver/Map3D-V2.0/ows?",
"typeName": "Map3D-V2.0:dianwang_update",
"viewparams": "id"
},
"EditLine": {
"url": "http://172.16.10.132:8010/geoserver/Map3D-V2.0/ows?",
"typeName": "Map3D-V2.0:line_update"
},
"queryAll": {
"url": "http://172.16.10.132:8010/geoserver/Map3D-V2.0/ows?",
"typeName": "Map3D-V2.0:dianwang_getAll"
},
"addPOI": {
"url": "http://172.16.10.132:8010/geoserver/Map3D-V2.0/ows?",
"typeName": "Map3D-V2.0:POI_add"
},
"getAllPOI": {
"url": "http://172.16.10.132:8010/geoserver/Map3D-V2.0/ows?",
"typeName": "Map3D-V2.0:POI_getAll"
},
"deletePOI": {
"url": "http://172.16.10.132:8010/geoserver/Map3D-V2.0/ows?",
"typeName": "Map3D-V2.0:POI_delect"
},
"HeightAnalysis": {
"url": "http://172.16.10.132:8010/geoserver/Map3D-V2.0/ows?",
"typeName": "Map3D-V2.0:height"
},
"RoadAnalysis": {
"url": "http://172.16.10.132:8010/geoserver/Map3D-V2.0/ows?",
"typeName": "Map3D-V2.0:dayanta_roadLine"
},
"roam": {
"path": ""
},
"linkageby2D3D": {
"controlsHide": [
".cesium-widget-cesiumNavigationContainer",
".query-element",
".element-wrap",
".btn-group"
],
"mainScene": "mainScene",
"container": "secondaryScene",
"baseLayer": {
"url": "http://t0.tianditu.com/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles",
"layer": "tdtVecBasicLayer",
"style": "default",
"format": "image/jpeg",
"tileMatrixSetID": "GoogleMapsCompatible",
"minimumLevel": 0,
"maximumLevel": 18
},
"isHawkEye": false
},
"hawkEyeMap": {
"mainScene": "mainScene",
"container": "hawkEyeMap",
"baseLayer": {
"url": "http://t0.tianditu.com/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles",
"layer": "tdtVecBasicLayer",
"style": "default",
"format": "image/jpeg",
"tileMatrixSetID": "GoogleMapsCompatible",
"minimumLevel": 0,
"maximumLevel": 18
},
"isHawkEye": true,
"height": 0
}
}
\ No newline at end of file
/*百度坐标转火星坐标*/
x_pi = 3.14159265358979324 * 3000.0 / 180.0;
function baiduTomars(baidu_point) {
let mars_point = {lon: 0, lat: 0};
let x = baidu_point.lon - 0.0065;
let y = baidu_point.lat - 0.006;
let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
mars_point.lon = z * Math.cos(theta);
mars_point.lat = z * Math.sin(theta);
return mars_point;
}
/*火星坐标转百度坐标*/
x_pi = 3.14159265358979324 * 3000.0 / 180.0;
function marsTobaidu(mars_point) {
let baidu_point = {lon: 0, lat: 0};
let x = mars_point.lon;
let y = mars_point.lat;
let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
baidu_point.lon = z * Math.cos(theta) + 0.0065;
baidu_point.lat = z * Math.sin(theta) + 0.006;
return baidu_point;
}
/*地球坐标系(WGS-84)转火星坐标系(GCJ)*/
let pi = 3.14159265358979324;
let a = 6378245.0;
let ee = 0.00669342162296594323;
/*判断是否在国内,不在国内则不做偏移*/
function outOfChina(lon, lat) {
return (lon < 72.004 || lon > 137.8347) && (lat < 0.8293 || lat > 55.8271);
}
function transformLat(x, y) {
let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));
ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
ret += (20.0 * Math.sin(y * pi) + 40.0 * Math.sin(y / 3.0 * pi)) * 2.0 / 3.0;
ret += (160.0 * Math.sin(y / 12.0 * pi) + 320 * Math.sin(y * pi / 30.0)) * 2.0 / 3.0;
return ret;
}
function transformLon(x, y) {
let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));
ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
ret += (20.0 * Math.sin(x * pi) + 40.0 * Math.sin(x / 3.0 * pi)) * 2.0 / 3.0;
ret += (150.0 * Math.sin(x / 12.0 * pi) + 300.0 * Math.sin(x / 30.0 * pi)) * 2.0 / 3.0;
return ret;
}
function transform(wgLat, wgLon) {
let mars_point = {lon: 0, lat: 0};
if (outOfChina(wgLat, wgLon)) {
mars_point.lat = wgLat;
mars_point.lon = wgLon;
return;
}
let dLat = transformLat(wgLon - 105.0, wgLat - 35.0);
let dLon = transformLon(wgLon - 105.0, wgLat - 35.0);
let radLat = wgLat / 180.0 * pi;
let magic = Math.sin(radLat);
magic = 1 - ee * magic * magic;
let sqrtMagic = Math.sqrt(magic);
dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi);
dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi);
mars_point.lat = wgLat + dLat;
mars_point.lon = wgLon + dLon;
return mars_point;
}
/*经纬度转墨卡托投影坐标*/
function lonlatTomercator(lonlat) {
let mercator = {x: 0, y: 0};
let x = lonlat.x * 20037508.34 / 180;
let y = Math.log(Math.tan((90 + lonlat.y) * Math.PI / 360)) / (Math.PI / 180);
y = y * 20037508.34 / 180;
mercator.x = x;
mercator.y = y;
return mercator;
}
/*墨卡托投影坐标转经纬度坐标*/
function mercatorTolonlat(mercator) {
let lonlat = {x: 0, y: 0};
let x = mercator.x / 20037508.34 * 180;
let y = mercator.y / 20037508.34 * 180;
y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);
lonlat.x = x;
lonlat.y = y;
return lonlat;
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
/*
* heatmap.js v2.0.2 | JavaScript Heatmap Library
*
* Copyright 2008-2016 Patrick Wied <heatmapjs@patrick-wied.at> - All rights reserved.
* Dual licensed under MIT and Beerware license
*
* :: 2016-02-04 21:25
*/
(function(a,b,c){if(typeof module!=="undefined"&&module.exports){module.exports=c()}else if(typeof define==="function"&&define.amd){define(c)}else{b[a]=c()}})("h337",this,function(){var a={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}};var b=function h(){var b=function d(a){this._coordinator={};this._data=[];this._radi=[];this._min=0;this._max=1;this._xField=a["xField"]||a.defaultXField;this._yField=a["yField"]||a.defaultYField;this._valueField=a["valueField"]||a.defaultValueField;if(a["radius"]){this._cfgRadius=a["radius"]}};var c=a.defaultRadius;b.prototype={_organiseData:function(a,b){var d=a[this._xField];var e=a[this._yField];var f=this._radi;var g=this._data;var h=this._max;var i=this._min;var j=a[this._valueField]||1;var k=a.radius||this._cfgRadius||c;if(!g[d]){g[d]=[];f[d]=[]}if(!g[d][e]){g[d][e]=j;f[d][e]=k}else{g[d][e]+=j}if(g[d][e]>h){if(!b){this._max=g[d][e]}else{this.setDataMax(g[d][e])}return false}else{return{x:d,y:e,value:j,radius:k,min:i,max:h}}},_unOrganizeData:function(){var a=[];var b=this._data;var c=this._radi;for(var d in b){for(var e in b[d]){a.push({x:d,y:e,radius:c[d][e],value:b[d][e]})}}return{min:this._min,max:this._max,data:a}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0){var a=arguments[0];var b=a.length;while(b--){this.addData.call(this,a[b])}}else{var c=this._organiseData(arguments[0],true);if(c){this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[c]})}}return this},setData:function(a){var b=a.data;var c=b.length;this._data=[];this._radi=[];for(var d=0;d<c;d++){this._organiseData(b[d],false)}this._max=a.max;this._min=a.min||0;this._onExtremaChange();this._coordinator.emit("renderall",this._getInternalData());return this},removeData:function(){},setDataMax:function(a){this._max=a;this._onExtremaChange();this._coordinator.emit("renderall",this._getInternalData());return this},setDataMin:function(a){this._min=a;this._onExtremaChange();this._coordinator.emit("renderall",this._getInternalData());return this},setCoordinator:function(a){this._coordinator=a},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}};return b}();var c=function i(){var a=function(a){var b=a.gradient||a.defaultGradient;var c=document.createElement("canvas");var d=c.getContext("2d");c.width=256;c.height=1;var e=d.createLinearGradient(0,0,256,1);for(var f in b){e.addColorStop(f,b[f])}d.fillStyle=e;d.fillRect(0,0,256,1);return d.getImageData(0,0,256,1).data};var b=function(a,b){var c=document.createElement("canvas");var d=c.getContext("2d");var e=a;var f=a;c.width=c.height=a*2;if(b==1){d.beginPath();d.arc(e,f,a,0,2*Math.PI,false);d.fillStyle="rgba(0,0,0,1)";d.fill()}else{var g=d.createRadialGradient(e,f,a*b,e,f,a);g.addColorStop(0,"rgba(0,0,0,1)");g.addColorStop(1,"rgba(0,0,0,0)");d.fillStyle=g;d.fillRect(0,0,2*a,2*a)}return c};var c=function(a){var b=[];var c=a.min;var d=a.max;var e=a.radi;var a=a.data;var f=Object.keys(a);var g=f.length;while(g--){var h=f[g];var i=Object.keys(a[h]);var j=i.length;while(j--){var k=i[j];var l=a[h][k];var m=e[h][k];b.push({x:h,y:k,value:l,radius:m})}}return{min:c,max:d,data:b}};function d(b){var c=b.container;var d=this.shadowCanvas=document.createElement("canvas");var e=this.canvas=b.canvas||document.createElement("canvas");var f=this._renderBoundaries=[1e4,1e4,0,0];var g=getComputedStyle(b.container)||{};e.className="heatmap-canvas";this._width=e.width=d.width=b.width||+g.width.replace(/px/,"");this._height=e.height=d.height=b.height||+g.height.replace(/px/,"");this.shadowCtx=d.getContext("2d");this.ctx=e.getContext("2d");e.style.cssText=d.style.cssText="position:absolute;left:0;top:0;";c.style.position="relative";c.appendChild(e);this._palette=a(b);this._templates={};this._setStyles(b)}d.prototype={renderPartial:function(a){if(a.data.length>0){this._drawAlpha(a);this._colorize()}},renderAll:function(a){this._clear();if(a.data.length>0){this._drawAlpha(c(a));this._colorize()}},_updateGradient:function(b){this._palette=a(b)},updateConfig:function(a){if(a["gradient"]){this._updateGradient(a)}this._setStyles(a)},setDimensions:function(a,b){this._width=a;this._height=b;this.canvas.width=this.shadowCanvas.width=a;this.canvas.height=this.shadowCanvas.height=b},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height);this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(a){this._blur=a.blur==0?0:a.blur||a.defaultBlur;if(a.backgroundColor){this.canvas.style.backgroundColor=a.backgroundColor}this._width=this.canvas.width=this.shadowCanvas.width=a.width||this._width;this._height=this.canvas.height=this.shadowCanvas.height=a.height||this._height;this._opacity=(a.opacity||0)*255;this._maxOpacity=(a.maxOpacity||a.defaultMaxOpacity)*255;this._minOpacity=(a.minOpacity||a.defaultMinOpacity)*255;this._useGradientOpacity=!!a.useGradientOpacity},_drawAlpha:function(a){var c=this._min=a.min;var d=this._max=a.max;var a=a.data||[];var e=a.length;var f=1-this._blur;while(e--){var g=a[e];var h=g.x;var i=g.y;var j=g.radius;var k=Math.min(g.value,d);var l=h-j;var m=i-j;var n=this.shadowCtx;var o;if(!this._templates[j]){this._templates[j]=o=b(j,f)}else{o=this._templates[j]}var p=(k-c)/(d-c);n.globalAlpha=p<.01?.01:p;n.drawImage(o,l,m);if(l<this._renderBoundaries[0]){this._renderBoundaries[0]=l}if(m<this._renderBoundaries[1]){this._renderBoundaries[1]=m}if(l+2*j>this._renderBoundaries[2]){this._renderBoundaries[2]=l+2*j}if(m+2*j>this._renderBoundaries[3]){this._renderBoundaries[3]=m+2*j}}},_colorize:function(){var a=this._renderBoundaries[0];var b=this._renderBoundaries[1];var c=this._renderBoundaries[2]-a;var d=this._renderBoundaries[3]-b;var e=this._width;var f=this._height;var g=this._opacity;var h=this._maxOpacity;var i=this._minOpacity;var j=this._useGradientOpacity;if(a<0){a=0}if(b<0){b=0}if(a+c>e){c=e-a}if(b+d>f){d=f-b}var k=this.shadowCtx.getImageData(a,b,c,d);var l=k.data;var m=l.length;var n=this._palette;for(var o=3;o<m;o+=4){var p=l[o];var q=p*4;if(!q){continue}var r;if(g>0){r=g}else{if(p<h){if(p<i){r=i}else{r=p}}else{r=h}}l[o-3]=n[q];l[o-2]=n[q+1];l[o-1]=n[q+2];l[o]=j?n[q+3]:r}k.data=l;this.ctx.putImageData(k,a,b);this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(a){var b;var c=this.shadowCtx;var d=c.getImageData(a.x,a.y,1,1);var e=d.data[3];var f=this._max;var g=this._min;b=Math.abs(f-g)*(e/255)>>0;return b},getDataURL:function(){return this.canvas.toDataURL()}};return d}();var d=function j(){var b=false;if(a["defaultRenderer"]==="canvas2d"){b=c}return b}();var e={merge:function(){var a={};var b=arguments.length;for(var c=0;c<b;c++){var d=arguments[c];for(var e in d){a[e]=d[e]}}return a}};var f=function k(){var c=function h(){function a(){this.cStore={}}a.prototype={on:function(a,b,c){var d=this.cStore;if(!d[a]){d[a]=[]}d[a].push(function(a){return b.call(c,a)})},emit:function(a,b){var c=this.cStore;if(c[a]){var d=c[a].length;for(var e=0;e<d;e++){var f=c[a][e];f(b)}}}};return a}();var f=function(a){var b=a._renderer;var c=a._coordinator;var d=a._store;c.on("renderpartial",b.renderPartial,b);c.on("renderall",b.renderAll,b);c.on("extremachange",function(b){a._config.onExtremaChange&&a._config.onExtremaChange({min:b.min,max:b.max,gradient:a._config["gradient"]||a._config["defaultGradient"]})});d.setCoordinator(c)};function g(){var g=this._config=e.merge(a,arguments[0]||{});this._coordinator=new c;if(g["plugin"]){var h=g["plugin"];if(!a.plugins[h]){throw new Error("Plugin '"+h+"' not found. Maybe it was not registered.")}else{var i=a.plugins[h];this._renderer=new i.renderer(g);this._store=new i.store(g)}}else{this._renderer=new d(g);this._store=new b(g)}f(this)}g.prototype={addData:function(){this._store.addData.apply(this._store,arguments);return this},removeData:function(){this._store.removeData&&this._store.removeData.apply(this._store,arguments);return this},setData:function(){this._store.setData.apply(this._store,arguments);return this},setDataMax:function(){this._store.setDataMax.apply(this._store,arguments);return this},setDataMin:function(){this._store.setDataMin.apply(this._store,arguments);return this},configure:function(a){this._config=e.merge(this._config,a);this._renderer.updateConfig(this._config);this._coordinator.emit("renderall",this._store._getInternalData());return this},repaint:function(){this._coordinator.emit("renderall",this._store._getInternalData());return this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(a){if(this._store.getValueAt){return this._store.getValueAt(a)}else if(this._renderer.getValueAt){return this._renderer.getValueAt(a)}else{return null}}};return g}();var g={create:function(a){return new f(a)},register:function(b,c){a.plugins[b]=c}};return g});
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment