派生自 wuyushui/SewerAndRainNetwork

YANGDL
2021-01-09 da21171cc9b248ad9c7f062e41f039eceb910c23
src/conf/MapConfig.js
@@ -1,222 +1,622 @@
import * as L from 'leaflet'
let curWwwPath = window.document.location.href
let pathname = window.document.location.pathname
let pos = curWwwPath.indexOf(pathname)
let HOST_URL = curWwwPath.substring(0, pos)
const curWwwPath = window.document.location.href
const pathname = window.document.location.pathname
const pos = curWwwPath.indexOf(pathname)
const HOST_URL = curWwwPath.substring(0, pos)
// basemap主机配置
const SINOPEC_GIS_HOST = 'http://10.246.132.249:8080'  // 内网天地图主机地址
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
// service主机配置
const APP_GIS_HOST = 'http://xearth.cn:6299/'
const APP_GIS_HOST = 'http://xearth.cn:6299'
const APP_GIS_HOST_PIPELINE = 'http://xearth.cn:6288'
// 自定义主机配置
const BLUEMAP_HOST = APP_GIS_HOST // 公司发布的地图服务,用于测试的地址
// 几何类型常量
const GEOM_POINT = 'POINT'
// 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: 18,
  center: [26, 104],
  zoom: 3,
  worldCopyJump: true,
  inertia: true,
  zoomControl: false,
  attributionControl: false,
  editable: true
}
const mapConfig = {
    IsLoadMapByToken: true, // 是否通过token加载地图
    showBaseMapType: 1, // 1显示天地图,2显示arcgis地图
    IntranetBaseMaps: [
        {
            code: 'sinopec_img',
            name: '中石化天地图影像',
            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: '中石化天地图矢量',
            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
                }
            }
  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,
      annotationCheck: 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
        }
    ],
    InternetBaseMaps: [
        {
            code: 'tianditu_img',
            name: '天地图影像',
            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: '天地图影像',
            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
                }
            }
      },
      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
        }
    ],
    ArcBaseMaps: [
        {
            layerName: 'arcgis影像底图',
            type: 'tile',
            visible: true,
            layerType: 'cia_c',
            isLoadMapByToken: false,
            url: SINOPEC_GIS_HOST + '/OneMapServer/rest/services/base-map-image-globe/MapServer'
      }
    },
    {
      code: 'sinopec_vec',
      name: '中石化天地图矢量',
      icon_actived: '/assets/images/map-pages/icon/road.png',
      icon_deactived: '/assets/images/map-pages/icon/road.png',
      isAddToMap: false,
      annotationCheck: true,
      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,
      annotationCheck: 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,
      annotationCheck: true,
      map: {
        layerName: '天地图矢量地图',
        type: 'wmts',
        visible: false,
        layerType: 'vec_c',
        isLoadMapByToken: true,
        annotationCheck: 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:[
  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/PipeLineTest/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:'guojie',
            name:'国界',
            type:'wmts',
            url: APP_GIS_HOST + '/server/ogcserver/whp_guojie/wmts?x={x}&y={y}&z={z}',
            option:{
                layers: 'all',
                format: "image/png",
                transparent: true,
                crs: L.CRS.EPSG4326
            }
          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
            }
          ]
        }
      ]
    }
  ]
}
/**
 * 内网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: 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,
  mapOptions,
  mapConfig,
  TokenConfig,
    BLUEMAP_HOST
  BLUEMAP_HOST
}