411 lines
11 KiB
JavaScript
411 lines
11 KiB
JavaScript
|
|
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";
|