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 ++------------------------------------------------------
1 files changed, 18 insertions(+), 378 deletions(-)
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);
--
Gitblit v1.9.1