"use script"; //开发环境建议开启严格模式
//系统 功能入口
var allLayer_color_nodata = '#C0C0C0';
var color_list_1001 = ['#0EE839', '#FEFE23', '#FD9D00', '#F70F0D', '#8A0B73', '#88041E'];
var color_list_1002 = ['#0EE839', '#FEFE23', '#F70F0D'];
var color_list_1003 = ['#0dd4f7', '#078901', '#FFFF00', '#fe7c23', '#F70F0D', '#88041E'];
var color_list_1004_and_other = ['#0dd4f7', '#23fe9f', '#078901', '#d4fe23', '#FFFF00', '#febf23', '#fe7c23', '#F70F0D', '#8A0B73', '#88041E'];
var qindex_range_list_1001 = { '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 qindex_range_list_1002 = { 'tsp': [0.2, 0.5] };
var qindex_range_list_1003 = { 'pm25': [10, 20, 50, 80, 100], 'pm10': [20, 50, 80, 150, 200], 'no2': [25, 50, 100, 150, 300], 'co': [0.5, 0.6, 0.8, 1, 1.5] };
var qindex_range_list_1004_and_other = { 'pm25': [15, 35, 50, 75, 150, 250, 350, 500, 700], 'pm10': [20, 50, 100, 150, 200, 300, 500, 800, 1000], 'no': [10, 30, 60, 100, 200, 500, 1000, 2000, 3500], 'no2': [20, 80, 110, 150, 200, 250, 300, 400, 500], 'nox': [80, 110, 130, 150, 200, 500, 1000, 2000, 5000], 'co': [0.2, 0.4, 0.6, 0.8, 1, 1.5, 2.5, 4, 6] };
// for change color locally.
var data_list_1001;
function addWMSLayer(item) {
var wmsLyer = new mars3d.layer.WmsLayer({
id: item.id,
pid: item.pid,
name: item.name,
type: "wms",
url: mars3d.global_variables.geoserver_url_predix + "/geoserver/konglu_58/wms",
layers: "konglu_58:" + item.geoname_prefix + mars3d.global_variables.queryDataType,
crs: "EPSG:4326",
parameters: {
"styles": item.style_prefix + item.style_selected,
"transparent": "true",
"format": "image/png",
"viewparams": "userid:" + mars3d.global_variables.userid + ";datatime:" + mars3d.global_variables.queryDataTStartGeo
},
center: { "lat": 30.487351, "lng": 121.613269, "alt": 54033, "heading": 359, "pitch": -40 },
noCenter: true,
maxLength: 35000,
getFeatureInfoParameters: {
feature_count: 10
},
//单击高亮及其样式
highlight: {
type: "wallP",
diffHeight: 300,
material: mars3d.MaterialUtil.createMaterial(mars3d.MaterialType.LineFlow, {
image: "img/textures/fence.png",
color: "#ffff00",
speed: 10, //速度,建议取值范围1-100
axisY: true,
}),
},
show: item.show,
geoname_prefix: item.geoname_prefix,
style_prefix: item.style_prefix,
style_selected: item.style_selected,
style_options: item.styleoptions,
flyTo: false
});
wmsLyer.bindPopup(bindPopupFunction);
//单击事件
wmsLyer.on(mars3d.EventType.click, function (event) {
console.log("单击了矢量数据,共" + event.features.length + "条", event);
var id = event.layer.options.id;
var qindex = event.layer.options.style_selected;
event.graphic.style.diffHeight = qindex == 'co' ? 10 * event.graphic.attr[qindex] : event.graphic.attr[qindex];
//console.log(id, qindex, event.graphic.attr[qindex]);
//console.log(getLayerPointColorByQindexandValue(id, qindex, event.graphic.attr[qindex]));
//console.log(Cesium.Color.fromCssColorString(getLayerPointColorByQindexandValue(id, qindex, event.graphic.attr[qindex])))
//event.graphic.style.material.uniforms.color = getLayerPointColorByQindexandValue(id, qindex, event.graphic.attr[qindex]);
//event.graphic.style.material.uniforms.color = getLayerPointColorByQindexandValue(id, qindex, event.graphic.attr[qindex]);
event.graphic.style.material = new mars3d.MaterialUtil.createMaterial(mars3d.MaterialType.LineFlow, {
image: "img/textures/fence.png",
color: getLayerPointColorByQindexandValue(id, qindex, event.graphic.attr[qindex]),
speed: 10, //速度,建议取值范围1-100
axisY: true,
})
mars3d.global_variables.tmpHighlightGraphic = event.graphic;
});
map.addLayer(wmsLyer);
}
function bindPopupFunction(event) {
let layerid = event.layer.options.id;
let item = event.graphic?.attr;
if (!item) {
return "";
}
if (layerid == 1001) {
return "站点编号:" +
item["code"] +
"
站点名称:" +
item["name"] +
"
数据时间:" +
item["datatime"] +
"
PM2.5:" +
item["PM25"] + "ug/m3" +
"
PM10:" +
item["PM10"] + "ug/m3" +
"
NO2:" +
item["NO2"] + "ug/m3" +
"
CO:" +
item["CO"] + "ug/m3" +
"
SO2:" +
item["SO2"] + "ug/m3" +
"