learning_cesium/js/mapConfig.js

411 lines
11 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export const geoserverUrl = "http://121.33.231.74:5097/geoserver/";
export const workspace = "iot";
export const geoqConfig = {
"shiliang":{url:'http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer'},
"yingxiang":{url:'http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer'},
}
export const geoserverConfig = {
enable: true,
url: geoserverUrl,
gwcUrl: geoserverUrl + "/iot/gwc/service/wmts",
wmsUrl: geoserverUrl + "/iot/wms",
getFeatureUrl: function (layerName, filter, srsname = "EPSG:3857") {
return (
this.url +
"/iot/ows?service=WFS&version=1.0.0&request=GetFeature&maxFeatures=99999&srsname=" +
srsname +
"&outputFormat=application/json&typeName=iot:" +
layerName +
(filter ? "&FILTER=" + filter : "")
);
},
worksapce: "iot",
layers: [
{
layerName: "sta_station",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "provinces84",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "china",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "province_mask",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
// 流域相关zhujiang为图层组用作显示区域范围zhujiang_river是水系数据用于高亮显示
{
layerName: "zhujiang",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "dongnan",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "xinan",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "neiluhe",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "songliaohe",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "haihe",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "huaihe",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "huanghe",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "changjiang",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "zhujiang_river",
wkid: 4326,
extent: {
xmin: 102.33435821533203,
ymin: 18.177719116210938,
xmax: 117.17308044433594,
ymax: 26.804235458374023,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "dongnan_river",
wkid: 4326,
extent: {
xmin: 116.44263458251953,
ymin: 21.90444564819336,
xmax: 122.82239532470703,
ymax: 30.850406646728516,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "xinan_river",
wkid: 4326,
extent: {
xmin: 78.3980712890625,
ymin: 21.18732261657715,
xmax: 105.90457153320312,
ymax: 33.8180046081543,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "neiluhe_river",
wkid: 4326,
extent: {
xmin: 73.55192565917969,
ymin: 29.696971893310547,
xmax: 119.57254028320312,
ymax: 49.177589416503906,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "songliaohe_river",
wkid: 4326,
extent: {
xmin: 115.52713012695312,
ymin: 38.738670349121094,
xmax: 135.08583068847656,
ymax: 53.55472946166992,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "haihe_river",
wkid: 4326,
extent: {
xmin: 112.16655731201172,
ymin: 35.0770263671875,
xmax: 119.81710052490234,
ymax: 42.49541091918945,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "huaihe_river",
wkid: 4326,
extent: {
xmin: 112.17137908935547,
ymin: 31.0460262298584,
xmax: 122.69775390625,
ymax: 38.39902114868164,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "huanghe_river",
wkid: 4326,
extent: {
xmin: 95.90158081054688,
ymin: 32.643367767333984,
xmax: 119.06564331054688,
ymax: 41.627845764160156,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "changjiang_river",
wkid: 4326,
extent: {
xmin: 90.49061584472656,
ymin: 24.5401554107666,
xmax: 121.90003967285156,
ymax: 35.90212631225586,
spatialReference: { wkid: 4326 },
},
},
{
layerName: "river2",
wkid: 4326,
extent: {
xmin: -180,
ymin: -90,
xmax: 180,
ymax: 90,
spatialReference: { wkid: 4326 },
},
},
],
filterTemplate: {
equals: (obj) => {
return `
<PropertyIsEqualTo>
<PropertyName>${obj.field}</PropertyName>
<Literal>${obj.value}</Literal>
</PropertyIsEqualTo>`;
},
like: (obj) => {
return `
<PropertyIsLike wildCard="*" singleChar="." escape="!">
<PropertyName>${obj.field}</PropertyName>
<Literal>${obj.value}</Literal>
</PropertyIsLike>
`;
},
},
/**
* 获取过滤的字符模版注意xml文本区分大小写
* [{type:'',field,:'',value:''}]
* @param Array params
*/
getFilter: (params) => {
if (!params || !Object.keys(params).length) {
return "";
}
return `<Filter xmlns="http://www.opengis.net/ogc">
${params
.map((param) => {
if (param.value instanceof Array) {
return (
"<Or>" +
param.value
.map((element) => {
// if(!param.type||param.type=='equals'){
return geoserverConfig.filterTemplate.equals({
field: param.field,
value: element,
});
// }else if(param.type=='like'){
// return geoserverConfig.filterTemplate.like({field:param.field,value:element})
// }
})
.join("") +
"</Or>"
);
} else {
if (!param.type || param.type == "equals") {
return geoserverConfig.filterTemplate.equals(param);
} else if (param.type == "like") {
return geoserverConfig.filterTemplate.like(param);
}
}
})
.join("")}
</Filter>`;
},
getSldBody(
layerName,
field,
value,
color,
opacity = 1,
otherColor = "#ffffff",
otherOpacity = 1,
borderColor = "#719cc6"
) {
let workspace = geoserverConfig.worksapce;
return `<StyledLayerDescriptor version="1.0.0">
<UserLayer>
<Name>${workspace}:${layerName}</Name>
<UserStyle>
<Name>UserSelection</Name>
<FeatureTypeStyle>
<Rule>
<Filter
xmlns:gml="http://www.opengis.net/gml">
<PropertyIsEqualTo>
<PropertyName>${field}</PropertyName>
<Literal>${value}</Literal>
</PropertyIsEqualTo>
</Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#${color}</CssParameter>
<CssParameter name="fill-opacity">${opacity}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">${borderColor}</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
<CssParameter name="stroke-linejoin">bevel</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<Filter
xmlns:gml="http://www.opengis.net/gml">
<Not>
<PropertyIsEqualTo>
<PropertyName>${field}</PropertyName>
<Literal>${value}</Literal>
</PropertyIsEqualTo>
</Not>
</Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">${otherColor}</CssParameter>
<CssParameter name="fill-opacity">${otherOpacity}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">${otherColor}</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
<CssParameter name="stroke-linejoin">bevel</CssParameter>
<CssParameter name="stroke-opacity">${otherOpacity}</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</UserLayer>
</StyledLayerDescriptor>`;
},
};
// 星图地球数据云
let geoviseToken = "dc79c1b6e483e04e3f1976eb420b02cf63698af3c8a160cf28052eb921ef4b4b";
export const geovisearthConfig = {
token:"dc79c1b6e483e04e3f1976eb420b02cf63698af3c8a160cf28052eb921ef4b4b",
yingxiang:"https://tiles.geovisearth.com/base/v1/wmts/GetCapabilities?tmsIds=w&token="+geoviseToken,
}
export const cesiumToken =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZjRjNTZkNC01NDYxLTRhMjQtOGEwZC1kZjA3YzQ5YTJlZDkiLCJpZCI6MjYwODQsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1ODcxOTMwODN9.prGsSKyAW_9Ow5zHYPhbm3LsQL-ApQw5-5PNJkDaHi8";