派生自 wuyushui/SewerAndRainNetwork

zhangshuaibao
2021-04-14 0ad898ff9d0f6718db2b3137665c81c46c50312d
src/conf/MapConfig.js
@@ -1,618 +1,85 @@
import * as L from 'leaflet'
import TDT from './TDT'
import { LayerTopic } from './LayerTopic'
import { LayerBasin } from './layers/LayerBasin'
let curWwwPath = window.document.location.href
let pathname = window.document.location.pathname
let pos = curWwwPath.indexOf(pathname)
let HOST_URL = curWwwPath.substring(0, pos)
// basemap主机配置
const SINOPEC_GIS_HOST = 'http://10.246.132.249:8080'  // 内网天地图主机地址
const TIANDITU_GIS_HOST = 'http://t0.tianditu.gov.cn' // 公网天地图主机地址
const TIANDITU_GIS_TOKEN = '5d76218063082952d18b76da5005f490' // 备用tk: f1b72b5e7cb1175acddfa485f1bc9770
const curWwwPath = window.document.location.href
const pathname = window.document.location.pathname
const pos = curWwwPath.indexOf(pathname)
const HOST_URL = curWwwPath.substring(0, pos)
// service主机配置
const APP_GIS_HOST = 'http://xearth.cn:6299'
const APP_GIS_HOST_PIPELINE = 'http://xearth.cn:6289'
// const APP_GIS_HOST = 'http://xearth.cn:6299'
const APP_GIS_HOST = 'http://xearth.cn:8088'
// 自定义主机配置
const BLUEMAP_HOST = APP_GIS_HOST // 公司发布的地图服务,用于测试的地址
// 几何类型常量
const GEOM_POINT = 'POINT'
const GEOM_POLYLINE = 'POLYLINE'
const GEOM_POLYGON = 'POLYGON'
console.log(GEOM_POINT, GEOM_POLYLINE, GEOM_POLYGON)
// const GEOM_POLYLINE = 'POLYLINE'
// const GEOM_POLYGON = 'POLYGON'
const mapOptions = {
    crs: L.CRS.EPSG4326,
    minZoom: 3,
    maxZoom: 18,
    center: [26, 104],
    zoom: 3,
    worldCopyJump: true,
    inertia: true,
    zoomControl: false,
    attributionControl: false,
    editable: true
  crs: L.CRS.EPSG4326,
  minZoom: 3,
  maxZoom: 17,
  // center: [26, 104],
  center: [38.828558921813965, 117.41676807403564],
  // center: [29.454345703125, 113.40362548828125],
  zoom: 5,
  worldCopyJump: true,
  inertia: true,
  zoomControl: false,
  attributionControl: false,
  editable: true,
  preferCanvas: true
}
const mapConfig = {
    IsLoadMapByToken: true, // 是否通过token加载地图
    showBaseMapType: 1, // 1显示天地图,2显示arcgis地图
    IntranetBaseMaps: [
        {
            code: 'sinopec_img',
            name: '中石化天地图影像',
            icon_actived: '/assets/images/map-pages/icon/img.png',
            icon_deactived: '/assets/images/map-pages/icon/img.png',
            isAddToMap: true,
            map: {
                layerName: '天地图影像地图',
                type: 'wmts',
                visible: false,
                layerType: 'img_c',
                isLoadMapByToken: true,
                url: SINOPEC_GIS_HOST + '/OneMapServer/rest/services/base-tdt-image-globe/WMTS?'+
                'layer=img&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}',
                option:{
                    maxZoom: 18,
                    minZoom: 1,
                    zoomOffset: 1
                }
            },
            annotation: {
                layerName: '天地图影像标注',
                type: 'wmts',
                visible: false,
                layerType: 'cia_c',
                isLoadMapByToken: true,
                url: SINOPEC_GIS_HOST + '/OneMapServer/rest/services/base-tdt-label-image/WMTS?'+
                'layer=cia&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}',
                option:{
                    maxZoom: 18,
                    minZoom: 1,
                    zoomOffset: 1
                }
            },
        },
        {
            code: 'sinopec_vec',
            name: '中石化天地图矢量',
            icon_actived: '/assets/images/map-pages/icon/road.png',
            icon_deactived: '/assets/images/map-pages/icon/road.png',
            isAddToMap: false,
            map: {
                layerName: '天地图矢量地图',
                type: 'wmts',
                visible: false,
                layerType: 'vec_c',
                isLoadMapByToken: true,
                url: SINOPEC_GIS_HOST + '/OneMapServer/rest/services/base-tdt-vector-globe/WMTS?'+
                'layer=vec&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}',
                option:{
                    maxZoom: 18,
                    minZoom: 1,
                    zoomOffset: 1
                }
            },
            annotation: {
                layerName: '天地图矢量标注',
                type: 'wmts',
                visible: false,
                layerType: 'cva_c',
                isLoadMapByToken: true,
                url: SINOPEC_GIS_HOST + '/OneMapServer/rest/services/base-tdt-label-vector/WMTS?'+
                'layer=cva&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}',
                option:{
                    maxZoom: 18,
                    minZoom: 1,
                    zoomOffset: 1
                }
            }
        }
    ],
    InternetBaseMaps: [
        {
            code: 'tianditu_img',
            name: '天地图影像',
            icon_actived: '/assets/images/map-pages/icon/img.png',
            icon_deactived: '/assets/images/map-pages/icon/img.png',
            isAddToMap: true,
            map: {
                layerName: '天地图影像地图',
                type: 'wmts',
                visible: false,
                layerType: 'img_c',
                isLoadMapByToken: true,
                url: TIANDITU_GIS_HOST + '/img_c/wmts?layer=img&style=default&tilematrixset=c'+
                '&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}'+
                '&tk=' + TIANDITU_GIS_TOKEN,
                option:{
                    maxZoom: 18,
                    minZoom: 1,
                    zoomOffset: 1
                }
            },
            annotation: {
                layerName: '天地图影像标注',
                type: 'wmts',
                visible: false,
                layerType: 'cia_c',
                isLoadMapByToken: true,
                url: TIANDITU_GIS_HOST + '/cia_c/wmts?layer=cia&style=default&tilematrixset=c'+
                '&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}'+
                '&tk=' + TIANDITU_GIS_TOKEN,
                option:{
                    maxZoom: 18,
                    minZoom: 1,
                    zoomOffset: 1
                }
            },
        },
        {
            code: 'tianditu_vec',
            name: '天地图影像',
            icon_actived: '/assets/images/map-pages/icon/road.png',
            icon_deactived: '/assets/images/map-pages/icon/road.png',
            isAddToMap: false,
            map: {
                layerName: '天地图矢量地图',
                type: 'wmts',
                visible: false,
                layerType: 'vec_c',
                isLoadMapByToken: true,
                url: TIANDITU_GIS_HOST + '/vec_c/wmts?layer=vec&style=default&tilematrixset=c'+
                '&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}'+
                '&tk=' + TIANDITU_GIS_TOKEN,
                option:{
                    maxZoom: 18,
                    minZoom: 1,
                    zoomOffset: 1
                }
            },
            annotation: {
                layerName: '天地图矢量标注',
                type: 'wmts',
                visible: false,
                layerType: 'cva_c',
                isLoadMapByToken: true,
                url: TIANDITU_GIS_HOST + '/cva_c/wmts?layer=cva&style=default&tilematrixset=c'+
                '&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}'+
                '&tk=' + TIANDITU_GIS_TOKEN,
                option:{
                    maxZoom: 18,
                    minZoom: 1,
                    zoomOffset: 1
                }
            }
        }
    ],
    ArcBaseMaps: [
        {
            layerName: 'arcgis影像底图',
            type: 'tile',
            visible: true,
            layerType: 'cia_c',
            isLoadMapByToken: false,
            url: SINOPEC_GIS_HOST + '/OneMapServer/rest/services/base-map-image-globe/MapServer'
        }
    ],
    ServiceLayers:[
        {
            code:'guojie',
            name:'国界',
            icon_actived: '',
            icon_deactived: '',
            type:'wmts',
            url: APP_GIS_HOST + '/server/ogcserver/whp_guojie/wmts?x={x}&y={y}&z={z}',
            inLegend: true,
            checked: true,
            option:{
                zoomOffset: 1
            }
        },
        {
            code:'pipeline',
            name:'管网数据',
            icon_actived: '',
            icon_deactived: '',
            type:'wms',
            url: APP_GIS_HOST_PIPELINE + '/server/ogcserver/PipeLine/wms?version=1.1.1',
            inLegend: true,
            checked: true,
            option:{
                layers:'all',
                styles:'', // Comma-separated list of WMS styles.
                format:'image/png', // WMS image format (use 'image/png' for layers with transparency).
                transparent:true,   // If true, the WMS service will return images with transparency.
                version:'1.1.1',   // Version of the WMS service to use
                crs:L.CRS.EPSG4326, // Coordinate Reference System to use for the WMS requests, defaults to map CRS. Don't change this if you're not sure what it means.
                uppercase:false
            },
            layers:[
                {
                    code:'rainline',
                    name:'雨水线',
                    sname:'雨水',
                    checked: true, // 默认选中状态
                    filter:{}
                },
                {
                    code:'oilline',
                    name:'含油污水线',
                    sname:'含油污水',
                    checked: true, // 默认选中状态
                    filter:{}
                },
                {
                    code:'saltline',
                    name:'含盐污水线',
                    sname:'含盐污水',
                    checked: true, // 默认选中状态
                    filter:{}
                },
                {
                    code:'alkaliline',
                    name:'含碱污水线',
                    sname:'含碱污水',
                    checked: true, // 默认选中状态
                    filter:{}
                },
                {
                    code:'outlet',
                    name:'排口',
                    sname:'排口',
                    checked: true, // 默认选中状态
                    filter:{}
                },
                {
                    code:'accidentline',
                    name:'事故水线',
                    sname:'事故水',
                    checked: true, // 默认选中状态
                    filter:{}
                },
                {
                    code:'loopline',
                    name:'循环水线',
                    sname:'循环水',
                    checked: true, // 默认选中状态
                    filter:{}
                },
                {
                    code:'purifyline',
                    name:'净化水线',
                    sname:'净化水',
                    checked: true, // 默认选中状态
                    filter:{}
                },
                {
                    code:'lifeline',
                    name:'生活污水',
                    sname:'生活污水',
                    checked: true, // 默认选中状态
                    filter:{}
                },
                {
                    code:'areainfo',
                    name:'区域信息',
                    sname:'区域信息',
                    checked: true, // 默认选中状态
                    filter:{}
                },
            ],
            filtersGroup:[
                {
                    code:'fsss',
                    name:'附属设施',
                    checked: true, // 默认选中状态
                    filters:[
                        {
                            code:'fourlink',
                            name:'四通',
                            sname:'四通',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'tee',
                            name:'三通',
                            sname:'三通',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'piperack',
                            name:'管架(墩)',
                            sname:'管架',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'pipegallery',
                            name:'管廊(带)',
                            sname:'管廊',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'pipesegment',
                            name:'流向',
                            sname:'流向',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'pipeline',
                            name:'管网',
                            sname:'管网',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'valve',
                            name:'阀门',
                            sname:'阀门',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'elbow',
                            name:'弯头',
                            sname:'弯头',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                    ]
                },
                {
                    code:'hbss',
                    name:'环保设施',
                    checked: true, // 默认选中状态
                    filters:[
                        {
                            code:'manhole',
                            name:'窨井',
                            sname:'窨井',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'firedike',
                            name:'防火堤',
                            sname:'防火堤',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'raingate',
                            name:'雨篦子',
                            sname:'雨篦子',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'overflowweir',
                            name:'溢流堰',
                            sname:'溢流堰',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'chokevalve',
                            name:'截流闸',
                            sname:'截流闸',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'collectingbasin',
                            name:'集水池(罐)',
                            sname:'集水池',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'oilseparator',
                            name:'隔油池',
                            sname:'隔油池',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                    ]
                },
                {
                    code:'pk',
                    name:'排口',
                    checked: true, // 默认选中状态
                    filters:[
                        {
                            code:'dischargeport',
                            name:'排放口',
                            sname:'排放口',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        }
                    ]
                },
                {
                    code:'qyxx',
                    name:'区域信息',
                    checked: true, // 默认选中状态
                    filters:[
                        {
                            code:'thirdpartypipe',
                            name:'第三方管道',
                            sname:'第三方管道',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'firefightingunit',
                            name:'消防单位',
                            sname:'消防单位',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'emergencyesources',
                            name:'应急物资',
                            sname:'应急物资',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'emergencyres',
                            name:'社会专业应急救援队伍',
                            sname:'专业应急救援',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'maintenanceteam',
                            name:'维抢修队伍',
                            sname:'维抢修队伍',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'hospital',
                            name:'医院',
                            sname:'医院',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'pointpreservationzone',
                            name:'自然保护区',
                            sname:'自然保护区',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'pointhydrology',
                            name:'水体',
                            sname:'水体',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'sensitivetarget',
                            name:'敏感目标',
                            sname:'敏感目标',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'envmonunit',
                            name:'环境监测单位',
                            sname:'环境监测单位',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'pointcontaminants',
                            name:'监测点污染物指标信息',
                            sname:'污染物指标',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'dischargeportaround',
                            name:'排放口周边环境敏感信息',
                            sname:'排放口周边环境',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'pump',
                            name:'泵',
                            sname:'泵',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'liquidlevelmeter',
                            name:'液位计',
                            sname:'液位计',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'flowmeter',
                            name:'流量计',
                            sname:'流量计',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'video',
                            name:'视频监控配置',
                            sname:'视频监控',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'onlinemonitoring',
                            name:'在线监测设备配置',
                            sname:'在线监测',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'combustiblegas',
                            name:'可燃气体报警设备配置',
                            sname:'可燃气体报警',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'hydrogensulfide',
                            name:'H2S浓度报警设备配置',
                            sname:'H2S浓度报警',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'controlpoint',
                            name:'管线点',
                            sname:'管线点',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        },
                        {
                            code:'pipesegment',
                            name:'管段',
                            sname:'管段',
                            checked: true, // 默认选中状态
                            geom: GEOM_POINT
                        }
                    ]
                }
            ]
        }
    ]
  IsLoadMapByToken: true, // 是否通过token加载地图
  showBaseMapType: 1, // 1显示天地图,2显示arcgis地图
  // defaultBasemapCode: 'tianditu_img', // 默认显示 地图类型
  IntranetBaseMaps: TDT.intranet,
  InternetBaseMaps: TDT.internet,
  Layers: {
    LayerSewersLine: [LayerBasin, LayerTopic]
  } // 污雨水图层配置
}
/**
 * 内网GIS,获取token参数
 */
const TokenConfig = {
    url: SINOPEC_GIS_HOST + '/RemoteTokenServer', // 获取token的服务接口
    option: {
        request: 'getToken',
        username: 'sipms', // 获取token的用户名
        password: 'sinopecipms', // 获取token的密码
        expiration: 1440,
        clientid: 'ref.' + HOST_URL// 获取token的应用服务器地址
    }
  url: TDT.SINOPEC_GIS_HOST + '/RemoteTokenServer', // 获取token的服务接口
  option: {
    request: 'getToken',
    username: 'sipms', // 获取token的用户名
    password: 'sinopecipms', // 获取token的密码
    expiration: 1440,
    clientid: 'ref.' + HOST_URL// 获取token的应用服务器地址
  }
}
export default {
    mapOptions,
    mapConfig,
    TokenConfig,
/**
 *
 */
// const MagicMaker = {
//   Current: 'vanishIn',
//   ARRAY: [
//     'twisterInDown', 'twisterInUp', 'swap',
//     'puffIn', 'vanishIn',
//     'openDownLeftReturn', 'openDownRightReturn', 'openUpLeftReturn', 'openUpRightReturn',
//     'perspectiveDownReturn', 'perspectiveUpReturn', 'perspectiveLeftReturn', 'perspectiveRightReturn',
//     'slideDownReturn', 'slideUpReturn', 'slideLeftReturn', 'slideRightReturn',
//     'swashIn', 'foolishIn',
//     'tinRightIn', 'tinLeftIn', 'tinUpIn', 'tinDownIn',
//     'boingInUp',
//     'spaclInUp', 'spaceInRight', 'spaceInDown', 'spaceInLeft']
// }
    BLUEMAP_HOST
export default {
  mapOptions,
  mapConfig,
  TokenConfig,
  BLUEMAP_HOST
  // mapTokenArray
  // MagicMaker
}