From 164092e1011b2978d641249e0d930b94ec3943b5 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期一, 27 九月 2021 09:27:03 +0800
Subject: [PATCH] getDefaultDateTime
---
js/function.js | 396 +---------------------------
data/getLayerListByUserid.json | 16 +
widgetsTS/dataTime/widget.js | 8
js/function_wind.js | 131 +++++++++
widgets/manageLayers_style/view.js | 4
js/function_1001.js | 120 ++++++++
js/function_1004.js | 122 ++++++++
index.html | 3
8 files changed, 416 insertions(+), 384 deletions(-)
diff --git a/data/getLayerListByUserid.json b/data/getLayerListByUserid.json
index a04539d..7f14744 100644
--- a/data/getLayerListByUserid.json
+++ b/data/getLayerListByUserid.json
@@ -7,6 +7,7 @@
"type": "graphic",
"geoname_prefix":"",
"style_prefix":"",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no2", "co"],
"show":true
@@ -18,6 +19,7 @@
"type": "wms",
"geoname_prefix":"vis_weizhan_",
"style_prefix":"point_weizhan_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -28,6 +30,7 @@
"type": "wms",
"geoname_prefix":"vis_jiance_",
"style_prefix":"point_jiance_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -38,6 +41,7 @@
"type": "taxi",
"geoname_prefix":"",
"style_prefix":"",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -48,6 +52,7 @@
"type": "wms",
"geoname_prefix":"vis_roadsection_",
"style_prefix":"polyline_road_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -58,6 +63,7 @@
"type": "wms",
"geoname_prefix":"vis_region_100600_",
"style_prefix":"polygon_region_",
+ "style_selected":"pm10",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -68,6 +74,7 @@
"type": "wms",
"geoname_prefix":"vis_region_100601_",
"style_prefix":"polygon_region_",
+ "style_selected":"pm10",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -78,6 +85,7 @@
"type": "wms",
"geoname_prefix":"vis_region_100602_",
"style_prefix":"polygon_region_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -88,6 +96,7 @@
"type": "wms",
"geoname_prefix":"vis_region_100603_",
"style_prefix":"polygon_region_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -98,6 +107,7 @@
"type": "wms",
"geoname_prefix":"vis_region_100604_",
"style_prefix":"polygon_region_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -108,6 +118,7 @@
"type": "wms",
"geoname_prefix":"vis_region_100605_",
"style_prefix":"polygon_region_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -118,6 +129,7 @@
"type": "wms",
"geoname_prefix":"vis_region_100607_",
"style_prefix":"polygon_region_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -128,6 +140,7 @@
"type": "wms",
"geoname_prefix":"vis_region_100610_",
"style_prefix":"polygon_region_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -138,6 +151,7 @@
"type": "wms",
"geoname_prefix":"vis_region_100611_",
"style_prefix":"polygon_region_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -148,6 +162,7 @@
"type": "wms",
"geoname_prefix":"vis_grid1000_",
"style_prefix":"vis_grid100_1000_5000_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
@@ -158,6 +173,7 @@
"type": "wms",
"geoname_prefix":"vis_grid5000_",
"style_prefix":"vis_grid100_1000_5000_",
+ "style_selected":"pm25",
"styleoptions": ["pm25", "pm10", "no", "no2", "nox", "co"],
"show":false
},
diff --git a/index.html b/index.html
index 78dbe42..91ef846 100644
--- a/index.html
+++ b/index.html
@@ -44,6 +44,9 @@
<div id="mask" class="signmask"></div>
<!--涓氬姟浠g爜-->
+ <script src="js/function_1001.js"></script>
+ <script src="js/function_1004.js"></script>
+ <script src="js/function_wind.js"></script>
<script src="js/function.js"></script>
<script src="js/server.js"></script>
<script src="js/index.js?time=20210803"></script>
diff --git a/js/function.js b/js/function.js
index 6bb5031..440288f 100644
--- a/js/function.js
+++ b/js/function.js
@@ -44,14 +44,8 @@
mars3d.global_variables = { geoserver_url_predix: 'http://58.246.27.194:7011/', nodejs_url_predix: 'http://58.246.27.194:7012/', userid: 2, queryDataType: 'hour' };
mars3d.global_variables.queryDataTStart = getDefaultDateTime();
mars3d.global_variables.queryDataTStartGeo = getDefaultDateTimeGeo();
-
mars3d.global_variables.queryDataTEnd = getDefaultDateTimeEnd();
-var guokong_color_list = ['#0EE839', '#FEFE23', '#FD9D00', '#F70F0D', '#8A0B73', '#88041E'];
-var guokong_color_nodata = '#C0C0C0';
-var guokong_qindex_list = { 'pm25': [35, 75, 115, 150, 250], 'pm10': [50, 150, 250, 350, 420], 'no2': [100, 200, 700, 1200, 2340], 'co': [5, 10, 35, 60, 90] };
-var guokong_data_list;
-var taxi_data_list;
function initLayersByUserid() {
@@ -88,7 +82,7 @@
layers: "konglu_58:" + item.geoname_prefix + mars3d.global_variables.queryDataType,
crs: "EPSG:4326",
parameters: {
- "styles": item.style_prefix + item.styleoptions[0],
+ "styles": item.style_prefix + item.style_selected,
"transparent": "true",
"format": "image/png",
"viewparams": "userid:" + mars3d.global_variables.userid + ";datatime:" + mars3d.global_variables.queryDataTStartGeo
@@ -114,6 +108,7 @@
show: item.show,
geoname_prefix: item.geoname_prefix,
style_prefix: item.style_prefix,
+ style_selected:item.style_selected,
style_options: item.styleoptions,
flyTo: false
});
@@ -121,364 +116,29 @@
//鍗曞嚮浜嬩欢
wmsLyer.on(mars3d.EventType.click, function (event) {
console.log("鍗曞嚮浜嗙煝閲忔暟鎹紝鍏�" + event.features.length + "鏉�", event);
+ console.log(event.layer.options.style_selected);
+
+
+ console.log(event.graphic);
+ /*
+ event.graphic.style.diffHeight =
+
+ diffHeight: 300,
+ material: mars3d.MaterialUtil.createMaterial(mars3d.MaterialType.LineFlow, {
+ image: "img/textures/fence.png",
+ color: "#ffff00",
+ speed: 10, //閫熷害锛屽缓璁彇鍊艰寖鍥�1-100
+ axisY: true,
+ }),
+ */
});
map.addLayer(wmsLyer);
}
-function addMaskShanghai() {
-
- //geojson 鍚堣偉杈圭晫绾�
- geoJsonLayer = new mars3d.layer.GeoJsonLayer({
- url: "//data.mars3d.cn/file/geojson/areas/340100.json",
- mask: true, //鏍囪瘑涓洪伄缃╁眰銆愰噸鐐瑰弬鏁般��
- symbol: {
- styleOptions: {
- fill: true,
- color: "rgb(2,26,79)",
- opacity: 0.9,
- outline: false,
- outlineColor: "#39E09B",
- outlineWidth: 8,
- outlineOpacity: 0.8,
- arcType: Cesium.ArcType.GEODESIC,
- clampToGround: true,
- },
- },
- });
-}
-
-function addGuokongLayerDIV(item) {
-
- var guokongLayer = new mars3d.layer.DivLayer({
- id: item.id,
- pid: item.pid, //鍥惧眰绠$悊 涓娇鐢紝鐖惰妭鐐筰d
- name: item.name,
- style_selected: 'pm25',
- style_options: item.styleoptions,
- show: item.show
- });
- map.addLayer(guokongLayer);
-
- guokongLayer.on(mars3d.EventType.click, function (event) {
- console.log("鐩戝惉layer锛屽崟鍑讳簡鐭㈤噺瀵硅薄", event);
- console.log(event.graphic?.attr)
- var item = event.graphic?.attr;
- //haoutil.msg('鍗曞嚮浜嗭細' + item['楂樻牎鍚嶇О'])
- });
-
- guokongLayer.bindPopup(function (event) {
- let item = event.graphic?.attr;
- //console.log(item);
- var html =
- "绔欑偣缂栧彿锛�" +
- item["code"] +
- "<br />绔欑偣鍚嶇О锛�" +
- item["name"] +
- "<br />鏁版嵁鏃堕棿锛�" +
- item["datatime"] +
- "<br />PM2.5:" +
- item["PM25"] + "ug/m3" +
- "<br />PM10:" +
- item["PM10"] + "ug/m3" +
- "<br />NO2:" +
- item["NO2"] + "ug/m3" +
- "<br />CO:" +
- item["CO"] + "ug/m3" +
- "<br />SO2:" +
- item["SO2"] + "ug/m3" +
- "<br /><br /><p><a href='#' onclick='javascript:showDetail(1001,\"" + item["code"] + "\")' >璇︾粏淇℃伅</a></p>";
- return html;
- });
-
- guokongLayer.changeColor = function () {
-
- guokongLayer.clear(true);
-
- addResutToLayer(this, guokong_data_list);
-
- }
- // add 鍥芥帶鐐�
- addGuokongPointToLayer(guokongLayer);
-
-}
-
-function addGuokongPointToLayer(tmplayer) {
-
- $.getJSON(mars3d.global_variables.nodejs_url_predix + "dataapi/Bdata?bid=get_1001_list&datatype=" + mars3d.global_variables.queryDataType + "&datatime=" + mars3d.global_variables.queryDataTStart + "&qindex=pm25&pageno=1&pagesize=1000", (result) => {
-
- guokong_data_list = result.data.result;
-
- addResutToLayer(tmplayer, result.data.result);
-
- });
-
-}
-
-function addResutToLayer(tmplayer, items) {
-
- for (var i = 0, len = items.length; i < len; i++) {
- var item = items[i];
- var jd = item.lon;
- var wd = item.lat;
- var clr = getGuokongPointColor(tmplayer.options.style_selected, item[(tmplayer.options.style_selected).toUpperCase()]);
- var graphic = new mars3d.graphic.DivLightPoint({
- position: Cesium.Cartesian3.fromDegrees(jd, wd),
- style: {
- color: clr,
- heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
- highlight: {
- type: "divLightPoint",
- diffHeight: 600,
- material: mars3d.MaterialUtil.createMaterialProperty(mars3d.MaterialType.CircleWave, {
- color: clr,
- count: 3,
- speed: 20,
- }),
- },
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000), //鎸夎璺濊窛绂绘樉绀�
- },
- show: true,
- attr: item,
- });
- tmplayer.addGraphic(graphic);
- }
-
-
-}
-
-
-function getGuokongPointColor(qindex, value) {
-
- if (!value || value == null || value == 'null') {
- return guokong_color_nodata;
- }
- for (var key in guokong_qindex_list) {
- if (key == qindex) {
- for (let i = guokong_qindex_list[key].length; i > -1; i--) {
- if (value > guokong_qindex_list[key][i]) {
- return guokong_color_list[i + 1];
- }
- }
- }
- }
-}
-
-function getIndexByValue() {
-
-}
-
-function addWindLayer(item) {
-
- $.getJSON("data/getWindParametersByTime.json", { datatype: mars3d.global_variables.queryDataType, datatime: mars3d.global_variables.queryDataTStart }, (result) => {
- console.log(result);
-
- var layer_wind = new mars3d.layer.CanvasWindLayer({
- id: item.id,
- pid: item.pid,
- name: item.name,
- color: item.color,
- frameRate: 20, //姣忕鍒锋柊娆℃暟
- speedRate: 60, //椋庡墠杩涢�熺巼
- particlesNumber: 1000,
- maxAge: 60,
- lineWidth: 1,
- reverseY: true
- });
- layer_wind.show = item.show;
- map.addLayer(layer_wind);
-
- layer_wind.data = convertWindData(result.data);
- });
-}
-
-function convertWindData(arr) {
-
- var arrU = [];
- var arrV = [];
-
- var xmin = arr[0].x;
- var xmax = arr[0].x;
- var ymin = arr[0].y;
- var ymax = arr[0].y;
-
- // 椋庡悜鏄互y杞存鏂瑰悜涓洪浂搴﹂『鏃堕拡杞紝0搴﹁〃绀哄寳椋庛��90搴﹁〃绀轰笢椋庛��
- // u琛ㄧず缁忓害鏂瑰悜涓婄殑椋庯紝u涓烘锛岃〃绀鸿タ椋庯紝浠庤タ杈瑰惞鏉ョ殑椋庛��
- // v琛ㄧず绾害鏂瑰悜涓婄殑椋庯紝v涓烘锛岃〃绀哄崡椋庯紝浠庡崡杈瑰惞鏉ョ殑椋庛��
- for (let i = 0, len = arr.length; i < len; i++) {
- const item = arr[i];
- if (xmin > item.x) {
- xmin = item.x;
- }
- if (xmax < item.x) {
- xmax = item.x;
- }
- if (ymin > item.y) {
- ymin = item.y;
- }
- if (ymax < item.y) {
- ymax = item.y;
- }
-
- var u = mars3d.WindUtil.getU(item.speed, item.dir);
- arrU.push(u);
-
- var v = mars3d.WindUtil.getV(item.speed, item.dir);
- arrV.push(v);
- }
-
- var rows = getKeyNumCount(arr, "y"); //璁$畻 琛屾暟
- var cols = getKeyNumCount(arr, "x"); //璁$畻 鍒楁暟
-
- return {
- xmin: xmin,
- xmax: xmax,
- ymax: ymax,
- ymin: ymin,
- rows: rows,
- cols: cols,
- udata: arrU, //妯悜椋庨��
- vdata: arrV, //绾靛悜椋庨��
- };
-}
-
-function getKeyNumCount(arr, key) {
- var obj = {};
- arr.forEach((item) => {
- obj[item[key]] = true;
- });
-
- var count = 0;
- for (let col in obj) {
- count++;
- }
- return count;
-}
-
-function addTaxiLayer(item) {
-
- var taxi_layer = new mars3d.layer.GraphicLayer({
- id: item.id,
- name: item.name,
- pid: item.pid, //鍥惧眰绠$悊 涓娇鐢紝鐖惰妭鐐筰d
- center: { "lat": 30.62156, "lng": 121.44918, "alt": 48716, "heading": 359, "pitch": -40 },
- noCenter: true,
- noCenter: true,
- show: true,
- onWidget: "widgetsTS/taxi_layer_setting/widget.js",
- });
- map.addLayer(taxi_layer);
-
- taxi_layer.on(mars3d.EventType.click, function (event) {
- console.log("鐩戝惉layer锛屽崟鍑讳簡鐭㈤噺瀵硅薄", event);
- var item = event.graphic?.attr;
- });
- taxi_layer.bindPopup(function (event) {
- let item = event.graphic?.attr;
- var html =
- "<br/>绫诲瀷锛� " +
- item["code"].substring(0, 2) == "BS" ? "鍏氦杞�" : "鍑虹杞�" +
- "<br />杞﹁締缂栧彿锛� " +
- item["code"] +
- "<br/>鏁版嵁鏃堕棿锛� " +
- item["datatime"] +
- "<br />鐬椂杞﹂�燂細 " +
- item["speed"] + " (km/h)" +
- "<br />绮夊皹PM2.5锛� " +
- item["pm25"] + " (ug/m3)" +
- "<br />绮夊皹PM10锛� " +
- item["pm10"] + " (ug/m3)" +
- "<br />NO娴撳害锛� " +
- item["no"] + " (ug/m3)" +
- "<br />NO2娴撳害锛� " +
- item["no2"] + " (ug/m3)" +
- "<br />NO+NO2娴撳害锛� " +
- item["nox"] + " (ug/m3)" +
- "<br />CO娴撳害鍊�: " +
- item["co"] + " (mg/m3)" +
- "<br /><br /><p><a href='#' onclick='javascript:showDetail(1001,\"" + item["code"] + "\")' ><span style='color:#ff00ff'>鍘嗗彶杞ㄨ抗鍥炴斁</span></a></p>";
- return html;
- });
-
- getTaxiListByUserId(taxi_layer);
-}
-
-function getTaxiListByUserId(tmpLayer) {
-
- setTaxiLayerMapClock();
- $.getJSON(mars3d.global_variables.nodejs_url_predix + "dataapi/Bdata?bid=get_1004_list_by_userid&userid=" + mars3d.global_variables.userid, (result) => {
- taxi_data_list = result.data.result;
- for (var i = 0, len = result.data.result.length; i < len; i++) {
- let item = result.data.result[i];
- addTaxiPathToLayer(item, tmpLayer);
- }
- });
-
-}
-
-function setTaxiLayerMapClock() {
- map.clock.shouldAnimate = true;
- map.clock.startTime = Cesium.JulianDate.fromDate(new Date(mars3d.global_variables.queryDataTStart));
- map.clock.currentTime = Cesium.JulianDate.fromDate(new Date(mars3d.global_variables.queryDataTStart));
- map.clock.stopTime = Cesium.JulianDate.fromDate(new Date(mars3d.global_variables.queryDataTEnd));
- map.clock.multiplier = 5.0;
- map.clock.clockRange = Cesium.ClockRange.LOOP_STOP;
-}
-function addTaxiPathToLayer(item, target_layer) {
-
-
- $.getJSON(mars3d.global_variables.nodejs_url_predix + "dataapi/Bdata?bid=get_1004_single_path&siteid=" + item["code"], {
- datatime1: mars3d.global_variables.queryDataTStart,
- datatime2: mars3d.global_variables.queryDataTEnd
- }, (result) => {
-
- if (result.data.result.length > 0) {
- var tmpPositionProperty = new Cesium.SampledPositionProperty();
- for (var i = 0, len = result.data.result.length; i < len; i++) {
- let item = result.data.result[i];
- //console.log(item);
- tmpPositionProperty.addSample(Cesium.JulianDate.fromDate(new Date(item["datatime"])), Cesium.Cartesian3.fromDegrees(item["lon"], item["lat"], 0.2))
- }
-
- let graphic = new mars3d.graphic.ModelEntity({
- attr: result.data.result[0],
- style: {
- url: "gltf/" + (item["code"]).substring(0, 2) + ".gltf",
- scale: 0.5,
- minimumPixelSize: 20,
- highlight: {
- type: mars3d.EventType.click,
- silhouette: true,
- silhouetteColor: "#ff0000",
- silhouetteSize: 4,
- },
- label: {
- //涓嶉渶瑕佹枃瀛楁椂锛屽幓鎺塴abel閰嶇疆鍗冲彲
- text: item["code"],
- font_size: 16,
- // TODO need to be changed according to qindex color.
- color: "#ff00ff",
- outline: true,
- outlineColor: "#000000",
- pixelOffsetY: -20,
- distanceDisplayCondition: true,
- distanceDisplayCondition_far: 50000,
- distanceDisplayCondition_near: 0,
- },
- },
- });
- graphic.position = tmpPositionProperty;
- target_layer.addGraphic(graphic);
- }
- });
-
-}
-
function reLoadLayers() {
-
var layers = map.getLayers({ layers: true });
-
layers.forEach((layer) => {
console.log(layer.name + ":" + layer.type);
@@ -490,7 +150,7 @@
var tmpguokong = map.getLayerById(1001);
tmpguokong.clear(true);
- addGuokongPointToLayer(tmpguokong);
+ getGuokongPointFromServer(tmpguokong);
//graphiclayer.eachGraphic
} else if ([layer.id] == 1004) {
var tmpTaxi = map.getLayerById(1004);
@@ -509,26 +169,6 @@
}
-function addTDTAnnoLayer() {
-
- Img_annoTileLayer = new mars3d.layer.TdtLayer({
- name: "褰卞儚娉ㄨ",
- layer: "img_z",
- key: mars3d.Token.tiandituArr,
- });
- Img_annoTileLayer.show = false;
- Img_annoTileLayer.pid = 50;
- map.addLayer(Img_annoTileLayer);
-
- Vec_annoTileLayer = new mars3d.layer.TdtLayer({
- name: "鐭㈤噺鍥炬敞璁�",
- layer: "vec_z",
- key: mars3d.Token.tiandituArr,
- });
- Vec_annoTileLayer.show = false;
- Vec_annoTileLayer.pid = 50;
- map.addLayer(Vec_annoTileLayer);
-}
function showDetail(layerid, itemCode) {
haoutil.msg('鍗曞嚮浜嗭細' + layerid + ',' + itemCode);
diff --git a/js/function_1001.js b/js/function_1001.js
new file mode 100644
index 0000000..6097328
--- /dev/null
+++ b/js/function_1001.js
@@ -0,0 +1,120 @@
+"use script"; //寮�鍙戠幆澧冨缓璁紑鍚弗鏍兼ā寮�
+//绯荤粺 鍔熻兘鍏ュ彛
+
+var guokong_color_list = ['#0EE839', '#FEFE23', '#FD9D00', '#F70F0D', '#8A0B73', '#88041E'];
+var guokong_color_nodata = '#C0C0C0';
+var guokong_qindex_color_list = { 'pm25': [35, 75, 115, 150, 250], 'pm10': [50, 150, 250, 350, 420], 'no2': [100, 200, 700, 1200, 2340], 'co': [5, 10, 35, 60, 90] };
+var guokong_data_list;
+
+
+function addGuokongLayerDIV(item) {
+
+ var guokongLayer = new mars3d.layer.DivLayer({
+ id: item.id,
+ pid: item.pid, //鍥惧眰绠$悊 涓娇鐢紝鐖惰妭鐐筰d
+ name: item.name,
+ style_selected: item.style_selected,
+ style_options: item.styleoptions,
+ show: item.show
+ });
+ map.addLayer(guokongLayer);
+
+ guokongLayer.on(mars3d.EventType.click, function (event) {
+ console.log("鐩戝惉layer锛屽崟鍑讳簡鐭㈤噺瀵硅薄", event);
+ console.log(event.graphic?.attr)
+ var item = event.graphic?.attr;
+ //haoutil.msg('鍗曞嚮浜嗭細' + item['楂樻牎鍚嶇О'])
+ });
+
+ guokongLayer.bindPopup(function (event) {
+ let item = event.graphic?.attr;
+ //console.log(item);
+ var html =
+ "绔欑偣缂栧彿锛�" +
+ item["code"] +
+ "<br />绔欑偣鍚嶇О锛�" +
+ item["name"] +
+ "<br />鏁版嵁鏃堕棿锛�" +
+ item["datatime"] +
+ "<br />PM2.5:" +
+ item["PM25"] + "ug/m3" +
+ "<br />PM10:" +
+ item["PM10"] + "ug/m3" +
+ "<br />NO2:" +
+ item["NO2"] + "ug/m3" +
+ "<br />CO:" +
+ item["CO"] + "ug/m3" +
+ "<br />SO2:" +
+ item["SO2"] + "ug/m3" +
+ "<br /><br /><p><a href='#' onclick='javascript:showDetail(1001,\"" + item["code"] + "\")' >璇︾粏淇℃伅</a></p>";
+ return html;
+ });
+
+ guokongLayer.changeColor = function () {
+
+ guokongLayer.clear(true);
+
+ addGuokongPointResutToLayer(this, guokong_data_list);
+
+ }
+ // add 鍥芥帶鐐�
+ getGuokongPointFromServer(guokongLayer);
+
+}
+
+function getGuokongPointFromServer(tmplayer) {
+
+ $.getJSON(mars3d.global_variables.nodejs_url_predix + "dataapi/Bdata?bid=get_1001_list&datatype=" + mars3d.global_variables.queryDataType + "&datatime=" + mars3d.global_variables.queryDataTStart + "&qindex=pm25&pageno=1&pagesize=1000", (result) => {
+ guokong_data_list = result.data.result;
+ addGuokongPointResutToLayer(tmplayer, result.data.result);
+ });
+
+}
+
+function addGuokongPointResutToLayer(tmplayer, items) {
+ for (var i = 0, len = items.length; i < len; i++) {
+ var item = items[i];
+ var jd = item.lon;
+ var wd = item.lat;
+ var clr = getGuokongPointColor(tmplayer.options.style_selected, item[(tmplayer.options.style_selected).toUpperCase()]);
+ var graphic = new mars3d.graphic.DivLightPoint({
+ position: Cesium.Cartesian3.fromDegrees(jd, wd),
+ style: {
+ color: clr,
+ heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+ highlight: {
+ type: "divLightPoint",
+ diffHeight: item[(tmplayer.options.style_selected).toUpperCase()],
+ material: mars3d.MaterialUtil.createMaterialProperty(mars3d.MaterialType.CircleWave, {
+ color: clr,
+ count: 3,
+ speed: 20,
+ }),
+ },
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000), //鎸夎璺濊窛绂绘樉绀�
+ },
+ show: true,
+ attr: item,
+ });
+ tmplayer.addGraphic(graphic);
+ }
+
+
+}
+
+
+function getGuokongPointColor(qindex, value) {
+
+ if (!value || value == null || value == 'null') {
+ return guokong_color_nodata;
+ }
+ for (var key in guokong_qindex_color_list) {
+ if (key == qindex) {
+ for (let i = guokong_qindex_color_list[key].length; i > -1; i--) {
+ if (value > guokong_qindex_color_list[key][i]) {
+ return guokong_color_list[i + 1];
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/js/function_1004.js b/js/function_1004.js
new file mode 100644
index 0000000..696cdcb
--- /dev/null
+++ b/js/function_1004.js
@@ -0,0 +1,122 @@
+"use script"; //寮�鍙戠幆澧冨缓璁紑鍚弗鏍兼ā寮�
+//绯荤粺 鍔熻兘鍏ュ彛
+
+var taxi_data_list;
+
+function addTaxiLayer(item) {
+
+ var taxi_layer = new mars3d.layer.GraphicLayer({
+ id: item.id,
+ name: item.name,
+ pid: item.pid, //鍥惧眰绠$悊 涓娇鐢紝鐖惰妭鐐筰d
+ center: { "lat": 30.62156, "lng": 121.44918, "alt": 48716, "heading": 359, "pitch": -40 },
+ noCenter: true,
+ style_selected:item.style_selected,
+ style_options: item.styleoptions,
+ show: true,
+ onWidget: "widgetsTS/taxi_layer_setting/widget.js",
+ });
+ map.addLayer(taxi_layer);
+
+ taxi_layer.on(mars3d.EventType.click, function (event) {
+ console.log("鐩戝惉layer锛屽崟鍑讳簡鐭㈤噺瀵硅薄", event);
+ var item = event.graphic?.attr;
+ });
+ taxi_layer.bindPopup(function (event) {
+ let item = event.graphic?.attr;
+ var html =
+ "<br/>绫诲瀷锛� " +
+ item["code"].substring(0, 2) == "BS" ? "鍏氦杞�" : "鍑虹杞�" +
+ "<br />杞﹁締缂栧彿锛� " +
+ item["code"] +
+ "<br/>鏁版嵁鏃堕棿锛� " +
+ item["datatime"] +
+ "<br />鐬椂杞﹂�燂細 " +
+ item["speed"] + " (km/h)" +
+ "<br />绮夊皹PM2.5锛� " +
+ item["pm25"] + " (ug/m3)" +
+ "<br />绮夊皹PM10锛� " +
+ item["pm10"] + " (ug/m3)" +
+ "<br />NO娴撳害锛� " +
+ item["no"] + " (ug/m3)" +
+ "<br />NO2娴撳害锛� " +
+ item["no2"] + " (ug/m3)" +
+ "<br />NO+NO2娴撳害锛� " +
+ item["nox"] + " (ug/m3)" +
+ "<br />CO娴撳害鍊�: " +
+ item["co"] + " (mg/m3)" +
+ "<br /><br /><p><a href='#' onclick='javascript:showDetail(1001,\"" + item["code"] + "\")' ><span style='color:#ff00ff'>鍘嗗彶杞ㄨ抗鍥炴斁</span></a></p>";
+ return html;
+ });
+
+ getTaxiListByUserId(taxi_layer);
+}
+
+function getTaxiListByUserId(tmpLayer) {
+
+ setTaxiLayerMapClock();
+ $.getJSON(mars3d.global_variables.nodejs_url_predix + "dataapi/Bdata?bid=get_1004_list_by_userid&userid=" + mars3d.global_variables.userid, (result) => {
+ taxi_data_list = result.data.result;
+ for (var i = 0, len = result.data.result.length; i < len; i++) {
+ let item = result.data.result[i];
+ addTaxiPathToLayer(item, tmpLayer);
+ }
+ });
+
+}
+
+function setTaxiLayerMapClock() {
+ map.clock.shouldAnimate = true;
+ map.clock.startTime = Cesium.JulianDate.fromDate(new Date(mars3d.global_variables.queryDataTStart));
+ map.clock.currentTime = Cesium.JulianDate.fromDate(new Date(mars3d.global_variables.queryDataTStart));
+ map.clock.stopTime = Cesium.JulianDate.fromDate(new Date(mars3d.global_variables.queryDataTEnd));
+ map.clock.multiplier = 5.0;
+ map.clock.clockRange = Cesium.ClockRange.LOOP_STOP;
+}
+function addTaxiPathToLayer(item, target_layer) {
+
+ $.getJSON(mars3d.global_variables.nodejs_url_predix + "dataapi/Bdata?bid=get_1004_single_path&siteid=" + item["code"], {
+ datatime1: mars3d.global_variables.queryDataTStart,
+ datatime2: mars3d.global_variables.queryDataTEnd
+ }, (result) => {
+
+ if (result.data.result.length > 0) {
+ var tmpPositionProperty = new Cesium.SampledPositionProperty();
+ for (var i = 0, len = result.data.result.length; i < len; i++) {
+ let item = result.data.result[i];
+ //console.log(item);
+ tmpPositionProperty.addSample(Cesium.JulianDate.fromDate(new Date(item["datatime"])), Cesium.Cartesian3.fromDegrees(item["lon"], item["lat"], 0.2))
+ }
+
+ let graphic = new mars3d.graphic.ModelEntity({
+ attr: result.data.result[0],
+ style: {
+ url: "gltf/" + (item["code"]).substring(0, 2) + ".gltf",
+ scale: 0.5,
+ minimumPixelSize: 20,
+ highlight: {
+ type: mars3d.EventType.click,
+ silhouette: true,
+ silhouetteColor: "#ff0000",
+ silhouetteSize: 4,
+ },
+ label: {
+ //涓嶉渶瑕佹枃瀛楁椂锛屽幓鎺塴abel閰嶇疆鍗冲彲
+ text: item["code"],
+ font_size: 16,
+ // TODO need to be changed according to qindex color.
+ color: "#ff00ff",
+ outline: true,
+ outlineColor: "#000000",
+ pixelOffsetY: -20,
+ distanceDisplayCondition: true,
+ distanceDisplayCondition_far: 50000,
+ distanceDisplayCondition_near: 0,
+ },
+ },
+ });
+ graphic.position = tmpPositionProperty;
+ target_layer.addGraphic(graphic);
+ }
+ });
+}
\ No newline at end of file
diff --git a/js/function_wind.js b/js/function_wind.js
new file mode 100644
index 0000000..0e3500f
--- /dev/null
+++ b/js/function_wind.js
@@ -0,0 +1,131 @@
+"use script"; //寮�鍙戠幆澧冨缓璁紑鍚弗鏍兼ā寮�
+//绯荤粺 鍔熻兘鍏ュ彛
+
+function addWindLayer(item) {
+
+ $.getJSON("data/getWindParametersByTime.json", { datatype: mars3d.global_variables.queryDataType, datatime: mars3d.global_variables.queryDataTStart }, (result) => {
+ console.log(result);
+
+ var layer_wind = new mars3d.layer.CanvasWindLayer({
+ id: item.id,
+ pid: item.pid,
+ name: item.name,
+ color: item.color,
+ frameRate: 20, //姣忕鍒锋柊娆℃暟
+ speedRate: 60, //椋庡墠杩涢�熺巼
+ particlesNumber: 1000,
+ maxAge: 60,
+ lineWidth: 1,
+ reverseY: true
+ });
+ layer_wind.show = item.show;
+ map.addLayer(layer_wind);
+
+ layer_wind.data = convertWindData(result.data);
+ });
+}
+
+function convertWindData(arr) {
+
+ var arrU = [];
+ var arrV = [];
+
+ var xmin = arr[0].x;
+ var xmax = arr[0].x;
+ var ymin = arr[0].y;
+ var ymax = arr[0].y;
+
+ // 椋庡悜鏄互y杞存鏂瑰悜涓洪浂搴﹂『鏃堕拡杞紝0搴﹁〃绀哄寳椋庛��90搴﹁〃绀轰笢椋庛��
+ // u琛ㄧず缁忓害鏂瑰悜涓婄殑椋庯紝u涓烘锛岃〃绀鸿タ椋庯紝浠庤タ杈瑰惞鏉ョ殑椋庛��
+ // v琛ㄧず绾害鏂瑰悜涓婄殑椋庯紝v涓烘锛岃〃绀哄崡椋庯紝浠庡崡杈瑰惞鏉ョ殑椋庛��
+ for (let i = 0, len = arr.length; i < len; i++) {
+ const item = arr[i];
+ if (xmin > item.x) {
+ xmin = item.x;
+ }
+ if (xmax < item.x) {
+ xmax = item.x;
+ }
+ if (ymin > item.y) {
+ ymin = item.y;
+ }
+ if (ymax < item.y) {
+ ymax = item.y;
+ }
+
+ var u = mars3d.WindUtil.getU(item.speed, item.dir);
+ arrU.push(u);
+
+ var v = mars3d.WindUtil.getV(item.speed, item.dir);
+ arrV.push(v);
+ }
+
+ var rows = getKeyNumCount(arr, "y"); //璁$畻 琛屾暟
+ var cols = getKeyNumCount(arr, "x"); //璁$畻 鍒楁暟
+
+ return {
+ xmin: xmin,
+ xmax: xmax,
+ ymax: ymax,
+ ymin: ymin,
+ rows: rows,
+ cols: cols,
+ udata: arrU, //妯悜椋庨��
+ vdata: arrV, //绾靛悜椋庨��
+ };
+}
+
+function getKeyNumCount(arr, key) {
+ var obj = {};
+ arr.forEach((item) => {
+ obj[item[key]] = true;
+ });
+
+ var count = 0;
+ for (let col in obj) {
+ count++;
+ }
+ return count;
+}
+
+function addTDTAnnoLayer() {
+
+ Img_annoTileLayer = new mars3d.layer.TdtLayer({
+ name: "褰卞儚娉ㄨ",
+ layer: "img_z",
+ key: mars3d.Token.tiandituArr,
+ });
+ Img_annoTileLayer.show = false;
+ Img_annoTileLayer.pid = 50;
+ map.addLayer(Img_annoTileLayer);
+
+ Vec_annoTileLayer = new mars3d.layer.TdtLayer({
+ name: "鐭㈤噺鍥炬敞璁�",
+ layer: "vec_z",
+ key: mars3d.Token.tiandituArr,
+ });
+ Vec_annoTileLayer.show = false;
+ Vec_annoTileLayer.pid = 50;
+ map.addLayer(Vec_annoTileLayer);
+}
+
+function addMaskShanghai() {
+ //geojson 鍚堣偉杈圭晫绾�
+ geoJsonLayer = new mars3d.layer.GeoJsonLayer({
+ url: "//data.mars3d.cn/file/geojson/areas/340100.json",
+ mask: true, //鏍囪瘑涓洪伄缃╁眰銆愰噸鐐瑰弬鏁般��
+ symbol: {
+ styleOptions: {
+ fill: true,
+ color: "rgb(2,26,79)",
+ opacity: 0.9,
+ outline: false,
+ outlineColor: "#39E09B",
+ outlineWidth: 8,
+ outlineOpacity: 0.8,
+ arcType: Cesium.ArcType.GEODESIC,
+ clampToGround: true,
+ },
+ },
+ });
+}
\ No newline at end of file
diff --git a/widgets/manageLayers_style/view.js b/widgets/manageLayers_style/view.js
index 6b39a94..214c1f8 100644
--- a/widgets/manageLayers_style/view.js
+++ b/widgets/manageLayers_style/view.js
@@ -279,7 +279,7 @@
for (var i = 0, len = item.length; i < len; i++) {
- radio_html += '<span class="button level1 switch center_docu" ></span><label><input type="radio" name="' + tNode.tId + '_style" value="'+item[i]+'" ' + (i == 0 ? "checked" : "") + '/>' + item[i].toUpperCase() + '</label></br>';
+ radio_html += '<span class="button level1 switch center_docu" ></span><label><input type="radio" name="' + tNode.tId + '_style" value="'+item[i]+'" ' + (item[i] == layer.options.style_selected ? "checked" : "") + '/>' + item[i].toUpperCase() + '</label></br>';
}
radio_html += '</div>';
@@ -294,11 +294,11 @@
var layer = layersObj[tNode.uuid];
if (layer.options.type =='wms'){
layer.options.parameters.styles = layer.options.style_prefix+this.value;
+ layer.options.style_selected = this.value;
layer.reload();
}else if (layer.options.id =1001){
layer.options.style_selected = this.value;
layer.changeColor();
-
}
//TODO
});
diff --git a/widgetsTS/dataTime/widget.js b/widgetsTS/dataTime/widget.js
index dffa523..ad28934 100644
--- a/widgetsTS/dataTime/widget.js
+++ b/widgetsTS/dataTime/widget.js
@@ -1,6 +1,6 @@
'use script'; //寮�鍙戠幆澧冨缓璁紑鍚弗鏍兼ā寮�
-function getDefaultDateTime() {
+function getDefaultDateTimeLocal() {
var date = new Date;
date.setHours(date.getHours() - 2);
var year = date.getFullYear();//骞�
@@ -12,7 +12,7 @@
(day > 9 ? day : ("0" + day)) + " " +
(hours > 9 ? hours : ("0" + hours)) + ":00:00";
}
-function getDefaultDate() {
+function getDefaultDateLocal() {
var date = new Date;
date.setDate(date.getDate() - 1);
var year = date.getFullYear();//骞�
@@ -52,8 +52,8 @@
//鍒濆鍖朳浠呮墽琛�1娆
create() {
- this.defaultDate = getDefaultDate();
- this.defaultDateTime = getDefaultDateTime();
+ this.defaultDate = getDefaultDateLocal();
+ this.defaultDateTime = getDefaultDateTimeLocal();
// 鍒濆鍖� 鍙傛暟
let request = haoutil.system.getRequest();
--
Gitblit v1.9.1