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";
|