关于pyqt与echarts自定义地图的一些记录

176 阅读2分钟

关于pyqt

  1. 在python开发qt桌面端程序时,建议使用pyside2,它同pyqt5,在低版本windows系统上兼容性强,使用pyside6(pyqt6)时可能打出来的包不兼容低版本windows系统。注个人亲自踩坑
  2. 在pyqt中,除了渲染页面的UI更新操作在主线程中进行时,其他相关的计算操作都要在其他线程(非主线程)中执行,建议使用QThread。非主线程(QThread)本质就是一个线程,同UI渲染的主线程无差异,所以在QThread开启的线程中同样可以继续使用线程池(concurrent.futures.ThreadPoolExecutor)来提升计算速度,在相关计算完成后通过信号与槽的方式(connect slot)通知渲染函数更新UI,信号触发的渲染函数会在主线程中进行。这样可以保证计算逻辑执行时主线程中的渲染UI操作不会被阻塞。
  3. pyqt的打包
pyinstaller -F  --hidden-import wave  login_window.py 
 2. login_window.spec 中修改下面的内容
最上放加入以正面内容    datas.append自己的obspy包位置
from PyInstaller.utils.hooks import collect_all, copy_metadata
datas = []
datas += copy_metadata('Obspy',recursive=True) 
datas.append(('C:\\Users\\xyhlovezxh\\AppData\\Local\\Programs\\Python\\Python39\\Lib\\site-packages\\obspy', 'obspy')) 
#### 下面的主要是把datas 改成上面的

a = Analysis(
    ['login_window.py'],
    pathex=[],
    binaries=[],
    datas=datas,
    hiddenimports=['wave'],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
)
然后 再次打包
pyinstaller  login_window.spec

运行打包好的exe 即可 如果运行报错,大几率是因为缺少obspy包 把自己本地的obspy 复制一份到与exe同一目录下即可 我的是 C:\Users\xyhlovezxh\AppData\Local\Programs\Python\Python39\Lib\site-packages\obspy

关于echarts自定义地图

  1. 数据来源 datav.aliyun.com/portal/scho… 里面可以找到需要的GeoJSON数据;GeoJSON 是一种用于表示地理空间数据的格式,它基于 JSON 格式。它支持点(Point)、线(LineString)和多边形(Polygon)等几何类型,可以用来表示各种地理特征,如城市、省份、国家等。
  2. Echarts需要的GeoJSON数据格式 FeatureCollection表示该数据是地理数据的集合,然后该地图数据的集合包含多个地理数据(Feature), 如果地理数据你只需要最外层的轮廓,那么在网站中下载数据时下载不含子区域的数据即可,如果地理数据你既需要最外层的轮廓也需要子区域的轮廓,那么在网站中下载数据时下载包含子区域的数据即可。
**{  
    "type": "FeatureCollection",  
    "features": **[  
        **{  
            "type": "Feature",  
            "properties": **{  
                "adcode": 370102,  
                "name": "历下区",  
                "center": **[  
                    117.03862,  
                    36.664169  
                ],  
                "centroid": **[  
                    117.097207,  
                    36.65519  
                ],  
                "childrenNum": 0,  
                "level": "district",  
                "parent": **{  
                    "adcode": 370100  
                },  
                "subFeatureIndex": 0,  
                "acroutes": **[  
                    100000,  
                    370000,  
                    370100  
                ]  
            },  
            "geometry": **{  
                "type": "MultiPolygon",  
                "coordinates": **[  
                    **[  
                        **[  
                            **[  
                                117.130707,  
                                36.592397  
                            ],  
                            **[  
                                117.133873,  
                                36.593155  
                            ],  
                            **[  
                                117.138754,  
                                36.598596  
                            ],  
                            **[  
                                117.138998,  
                                36.604237  
                            ],  
                            **[  
                                117.138386,  
                                36.60892  
                            ],  
                            **[  
                                117.139208,  
                                36.61198  
                            ],  
                            **[  
                                117.138789,  
                                36.615642  
                            ],  
                            **[  
                                117.139996,  
                                36.619413  
                            ],  
                            **[  
                                117.142812,  
                                36.621267  
                            ],  
                            **[  
                                117.146415,  
                                36.621993  
                            ],  
                            **[  
                                117.147238,  
                                36.623523  
                            ],  
                            **[  
                                117.136829,  
                                36.627726  
                            ],  
                            **[  
                                117.134048,  
                                36.633257  
                            ],  
                            **[  
                                117.135465,  
                                36.637243  
                            ],  
                            **[  
                                117.134835,  
                                36.638834  
                            ],  
                            **[  
                                117.13494,  
                                36.648072  
                            ],  
                            **[  
                                117.138439,  
                                36.649354  
                            ],  
                            **[  
                                117.138299,  
                                36.651501  
                            ],  
                            **[  
                                117.13452,  
                                36.651732  
                            ],  
                            **[  
                                117.133033,  
                                36.653107  
                            ],  
                            **[  
                                117.133261,  
                                36.655378  
                            ],  
                            **[  
                                117.137162,  
                                36.655316  
                            ],  
                            **[  
                                117.137564,  
                                36.659578  
                            ],  
                            **[  
                                117.142025,  
                                36.661246  
                            ],  
                            **[  
                                117.13648,  
                                36.668304  
                            ],  
                            **[  
                                117.138964,  
                                36.671439  
                            ],  
                            **[  
                                117.141045,  
                                36.672273  
                            ],  
                            **[  
                                117.14199,  
                                36.670574  
                            ],  
                            **[  
                                117.150596,  
                                36.671253  
                            ],  
                            **[  
                                117.151436,  
                                36.666991  
                            ],  
                            **[  
                                117.154147,  
                                36.667316  
                            ],  
                            **[  
                                117.154462,  
                                36.665818  
                            ],  
                            **[  
                                117.15922,  
                                36.664721  
                            ],  
                            **[  
                                117.161897,  
                                36.665169  
                            ],  
                            **[  
                                117.167214,  
                                36.659239  
                            ],  
                            **[  
                                117.172462,  
                                36.658003  
                            ],  
                            **[  
                                117.179372,  
                                36.659084  
                            ],  
                            **[  
                                117.180649,  
                                36.661169  
                            ],  
                            **[  
                                117.179862,  
                                36.66364  
                            ],  
                            **[  
                                117.177553,  
                                36.664212  
                            ],  
                            **[  
                                117.175436,  
                                36.670466  
                            ],  
                            **[  
                                117.173075,  
                                36.671145  
                            ],  
                            **[  
                                117.171658,  
                                36.67445  
                            ],  
                            **[  
                                117.168439,  
                                36.675469  
                            ],  
                            **[  
                                117.1729,  
                                36.675824  
                            ],  
                            **[  
                                117.173005,  
                                36.680039  
                            ],  
                            **[  
                                117.170486,  
                                36.682294  
                            ],  
                            **[  
                                117.168474,  
                                36.682047  
                            ],  
                            **[  
                                117.167897,  
                                36.683637  
                            ],  
                            **[  
                                117.170048,  
                                36.687636  
                            ],  
                            **[  
                                117.168631,  
                                36.688655  
                            ],  
                            **[  
                                117.169751,  
                                36.690986  
                            ],  
                            **[  
                                117.169961,  
                                36.695339  
                            ],  
                            **[  
                                117.165833,  
                                36.698257  
                            ],  
                            **[  
                                117.167214,  
                                36.708089  
                            ],  
                            **[  
                                117.164311,  
                                36.708151  
                            ],  
                            **[  
                                117.163244,  
                                36.706515  
                            ],  
                            **[  
                                117.163628,  
                                36.701128  
                            ],  
                            **[  
                                117.15985,  
                                36.701236  
                            ],  
                            **[  
                                117.158748,  
                                36.706129  
                            ],  
                            **[  
                                117.156072,  
                                36.706098  
                            ],  
                            **[  
                                117.155704,  
                                36.698921  
                            ],  
                            **[  
                                117.151261,  
                                36.697392  
                            ],  
                            **[  
                                117.148672,  
                                36.701421  
                            ],  
                            **[  
                                117.148147,  
                                36.70403  
                            ],  
                            **[  
                                117.145436,  
                                36.703752  
                            ],  
                            **[  
                                117.143459,  
                                36.707703  
                            ],  
                            **[  
                                117.140923,  
                                36.708259  
                            ],  
                            **[  
                                117.126386,  
                                36.706577  
                            ],  
                            **[  
                                117.111115,  
                                36.707611  
                            ],  
                            **[  
                                117.100304,  
                                36.706577  
                            ],  
                            **[  
                                117.101004,  
                                36.702749  
                            ],  
                            **[  
                                117.100392,  
                                36.694444  
                            ],  
                            **[  
                                117.099342,  
                                36.69361  
                            ],  
                            **[  
                                117.096578,  
                                36.694567  
                            ],  
                            **[  
                                117.093797,  
                                36.692746  
                            ],  
                            **[  
                                117.090176,  
                                36.693533  
                            ],  
                            **[  
                                117.089196,  
                                36.690847  
                            ],  
                            **[  
                                117.090648,  
                                36.69097  
                            ],  
                            **[  
                                117.090876,  
                                36.686879  
                            ],  
                            **[  
                                117.089844,  
                                36.685953  
                            ],  
                            **[  
                                117.089634,  
                                36.682803  
                            ],  
                            **[  
                                117.09301,  
                                36.682649  
                            ],  
                            **[  
                                117.093027,  
                                36.679128  
                            ],  
                            **[  
                                117.090298,  
                                36.679391  
                            ],  
                            **[  
                                117.089564,  
                                36.680673  
                            ],  
                            **[  
                                117.085733,  
                                36.680534  
                            ],  
                            **[  
                                117.084981,  
                                36.67902  
                            ],  
                            **[  
                                117.084893,  
                                36.674187  
                            ],  
                            **[  
                                117.080555,  
                                36.672242  
                            ],  
                            **[  
                                117.078666,  
                                36.673122  
                            ],  
                            **[  
                                117.078648,  
                                36.669014  
                            ],  
                            **[  
                                117.076094,  
                                36.668443  
                            ],  
                            **[  
                                117.075027,  
                                36.666343  
                            ],  
                            **[  
                                117.073348,  
                                36.667949  
                            ],  
                            **[  
                                117.0688,  
                                36.668613  
                            ],  
                            **[  
                                117.068712,  
                                36.669617  
                            ],  
                            **[  
                                117.063989,  
                                36.669323  
                            ],  
                            **[  
                                117.058444,  
                                36.669725  
                            ],  
                            **[  
                                117.056047,  
                                36.671115  
                            ],  
                            **[  
                                117.056012,  
                                36.679144  
                            ],  
                            **[  
                                117.052409,  
                                36.688145  
                            ],  
                            **[  
                                117.052916,  
                                36.689735  
                            ],  
                            **[  
                                117.052864,  
                                36.691295  
                            ],  
                            **[  
                                117.047791,  
                                36.689334  
                            ],  
                            **[  
                                117.05066,  
                                36.689272  
                            ],  
                            **[  
                                117.051097,  
                                36.688191  
                            ],  
                            **[  
                                117.047388,  
                                36.687111  
                            ],  
                            **[  
                                117.049085,  
                                36.68654  
                            ],  
                            **[  
                                117.04319,  
                                36.681089  
                            ],  
                            **[  
                                117.044047,  
                                36.679036  
                            ],  
                            **[  
                                117.040356,  
                                36.678959  
                            ],  
                            **[  
                                117.039937,  
                                36.681197  
                            ],  
                            **[  
                                117.037942,  
                                36.683436  
                            ],  
                            **[  
                                117.03175,  
                                36.682062  
                            ],  
                            **[  
                                117.032222,  
                                36.678356  
                            ],  
                            **[  
                                117.026152,  
                                36.678403  
                            ],  
                            **[  
                                117.018438,  
                                36.677492  
                            ],  
                            **[  
                                117.016566,  
                                36.676226  
                            ],  
                            **[  
                                117.015814,  
                                36.672998  
                            ],  
                            **[  
                                117.015971,  
                                36.664073  
                            ],  
                            **[  
                                117.01319,  
                                36.660227  
                            ],  
                            **[  
                                117.015184,  
                                36.659439  
                            ],  
                            **[  
                                117.015184,  
                                36.65615  
                            ],  
                            **[  
                                117.013592,  
                                36.654883  
                            ],  
                            **[  
                                117.013645,  
                                36.644843  
                            ],  
                            **[  
                                117.013067,  
                                36.636687  
                            ],  
                            **[  
                                117.014309,  
                                36.635497  
                            ],  
                            **[  
                                117.021377,  
                                36.635621  
                            ],  
                            **[  
                                117.022654,  
                                36.636764  
                            ],  
                            **[  
                                117.028286,  
                                36.635126  
                            ],  
                            **[  
                                117.031995,  
                                36.633272  
                            ],  
                            **[  
                                117.037855,  
                                36.628483  
                            ],  
                            **[  
                                117.042386,  
                                36.627309  
                            ],  
                            **[  
                                117.04898,  
                                36.627077  
                            ],  
                            **[  
                                117.052164,  
                                36.625501  
                            ],  
                            **[  
                                117.05477,  
                                36.625516  
                            ],  
                            **[  
                                117.057884,  
                                36.627896  
                            ],  
                            **[  
                                117.06105,  
                                36.628297  
                            ],  
                            **[  
                                117.069132,  
                                36.626443  
                            ],  
                            **[  
                                117.070636,  
                                36.621622  
                            ],  
                            **[  
                                117.085768,  
                                36.606494  
                            ],  
                            **[  
                                117.091803,  
                                36.60586  
                            ],  
                            **[  
                                117.095914,  
                                36.606803  
                            ],  
                            **[  
                                117.100672,  
                                36.60586  
                            ],  
                            **[  
                                117.119984,  
                                36.594762  
                            ],  
                            **[  
                                117.124479,  
                                36.595551  
                            ],  
                            **[  
                                117.12824,  
                                36.594701  
                            ],  
                            **[  
                                117.130707,  
                                36.592397  
                            ]  
                        ]  
                    ]  
                ]  
            }
  1. 得到一个距离某区域边界多少公里的闭合曲线使用 turf库

具体用法,从GeoJSON网站下载某区域的最外层轮廓数据(不含子区域),然后调用api即可

const bufferedPolygon_100 = turf.buffer(shandongPolygon, 100, { units: 'kilometers' });

这里的区域轮廓shandongPolygon是山东的边界(最外层轮廓,不包含子区域)的地理数据 这里得到的闭合曲线数据bufferedPolygon是距离山东边界100 千米的地理数据 4. 一个曾经使用过的配置

 const mapOptions = {
              backgroundColor:'rgba(255,255,255,1)',
              // 绘制整体的提示栏,绝大部分内容由各自series的data数据决定
              tooltip: {
              formatter: function (e, t, n) { 
                // e.data可拿到series中配置的data的值
               
                return (`${e.data.fullname || ''}`)
              },
            },
              // 注册地图相关的配置
              // geo表示地图底图的设置
            geo: {
              // 注册的地图名字
              map: "map", // 需要和registerMap中的第一个参数保持一致
              roam: 'move', // 设置允许缩放以及拖动的效果
              label: {
                show: true, //展示标签
              },
              // 设置当前地图的中心点(中心经纬度)
              center:default_center,
              zoom: 15, //设置初始化的缩放比例
              // scaleLimit: {
              //   min: 1,
              //
              // },
             
              // 地图每一块区域上的文字的样式
              label: {
                show: true,
                color: "#000",
                width:30,
                fontSize: 10,
              },
               // 地图每一块区域的颜色(公共设置,私有设置)
               itemStyle: {
               borderColor: '#000' // 设置地图每一块区域的边框颜色
              },
              // 设置每一块区域的颜色
              regions: areaColor,
              // 鼠标悬停时(每一块区域)的样式
              emphasis: {
                disabled: false,
                itemStyle: {
                  areaColor: "rgba(255,255,0,.2)",
                },
                label: {
                color: "#000",
               
              },
              },
          
            },
         
            // series表示各个图表的设置,这里指的是地图底图上各个图表的设置
            series: [
              // type为map表示绘制的是地理图的图表,这里可以特殊渲染地图底图的部分地理区域
              // 给地图上的点提供地理信息,并修改地图显示的相关配置
              {
                name: "",
                type: "map",
                geoIndex: 0,
                blur: 100, // 设置阴影效果,数值越大阴影效果越明显
                // data数据格式为数组:[{name:'地理区域json对象中当前区域对应name属性的值;该值为唯一标识用于对应地图的区域',...其他字段自行定义},{}]
                data:seriesData,
                label: {
                show: true,
                rotate:90,
                emphasis: {
                    show: true
                }
            },
            emphasis: {
                label: {
                    show: true
                }
            },
              },
             
            {
              // 在地图上闭合画线(距离某点半径为50公里)
              type:'lines',      
              // 表示使用的参考坐标系是地理坐标系
              coordinateSystem: 'geo' ,
              polyline:true,
              data:[
                {
                   coords:bufferedCoords_50,
                   fullname:'50千米边界线',
    // 统一的样式设置
    lineStyle: {

      label: {
                    show: true,  // 显示标签
                    formatter: '{fullname}',  // 标签内容,可以根据需要进行调整
                    position: 'end',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: 'blue',  // 标签颜色
                    fontSize: 12,  // 标签字体大小
                },
      width:10
    },

  },
  
    ]
},
{
              // 在地图上画线(距离某点半径为100公里)
              type:'lines',    
               // 表示使用的参考坐标系是地理坐标系
              coordinateSystem: 'geo' ,
              polyline:true,
              data:[
                {
                   coords:bufferedCoords_100,
                   fullname:'100千米边界线',
    // 统一的样式设置
    lineStyle: {
      label: {
                    show: true,  // 显示标签
                    formatter: '{fullname}',  // 标签内容,可以根据需要进行调整
                    position: 'end',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: 'blue',  // 标签颜色
                    fontSize: 12,  // 标签字体大小
                },
      width:10
    }
  },
  
    ]
},
{
   // 在地图上闭合画线(距离某点半径为150公里)
              type:'lines',
              // 表示绘制时点的坐标为地理坐标
              coordinateSystem: 'geo' ,
              // 表示绘制的是曲线
              polyline:true,
              data:[
                {
                   coords:bufferedCoords_150,
                   fullname:'150千米边界线',
                
    // 统一的样式设置
    lineStyle: {
      label: {
                    show: true,  // 显示标签
                    formatter: '{fullname}',  // 标签内容,可以根据需要进行调整
                    position: 'end',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: 'blue',  // 标签颜色
                    fontSize: 12,  // 标签字体大小
                },
      width:10
    }
  }
  ]
  },
  {
              // 在地图上画线(距离某点半径为200公里)
              type:'lines',      
              coordinateSystem: 'geo' ,
              polyline:true,
             
              data:[
                {
                   coords:bufferedCoords_200,
                   fullname:'200千米边界线',
    // 统一的样式设置
    lineStyle: {
      label: {
                    show: true,  // 显示标签
                    formatter: '{fullname}',  // 标签内容,可以根据需要进行调整
                    position: 'end',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: 'blue',  // 标签颜色
                    fontSize: 12,  // 标签字体大小
                },
      width:10
    }
  },
  
    ]
},
{
              // 在地图上画线(距离某点半径为250公里)
              type:'lines',      
              coordinateSystem: 'geo' ,
              polyline:true,
            
              data:[
                {
                   coords:bufferedCoords_250,
                   fullname:'250千米边界线',
    // 统一的样式设置
    lineStyle: {
      label: {
                    show: true,  // 显示标签
                    formatter: '{fullname}',  // 标签内容,可以根据需要进行调整
                    position: 'end',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: 'blue',  // 标签颜色
                    fontSize: 12,  // 标签字体大小
                },
      width:10
    }
  },
  
    ]
},
{
              // 在地图上画线(距离某点半径为300公里)
              type:'lines',      
               // 表示使用的参考坐标系是地理坐标系
              coordinateSystem: 'geo' ,
              polyline:true,
            
              data:[
                {
                   coords:bufferedCoords_300,
                   fullname:'300千米边界线',
    // 统一的样式设置
    lineStyle: {
      label: {
                    show: true,  // 显示标签
                    formatter: '{fullname}',  // 标签内容,可以根据需要进行调整
                    position: 'end',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: 'blue',  // 标签颜色
                    fontSize: 12,  // 标签字体大小
                },
      width:10
    }
  },
  
    ]
},  
{
              // 在地图上闭合画线(距离某点半径为350公里)
              type:'lines',      
               // 表示使用的参考坐标系是地理坐标系
              coordinateSystem: 'geo' ,
              polyline:true,
              data:[
                {
                   coords:bufferedCoords_350,
                   fullname:'350千米边界线',
    // 统一的样式设置
    lineStyle: {
      label: {
                    show: true,  // 显示标签
                    formatter: '{fullname}',  // 标签内容,可以根据需要进行调整
                    position: 'end',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: 'blue',  // 标签颜色
                    fontSize: 12,  // 标签字体大小
                },
      width:10
    }
  },
  
    ]
},
{
              // 在地图上画线(距离某点半径为400公里)
              type:'lines',      
               // 表示使用的参考坐标系是地理坐标系
              coordinateSystem: 'geo' ,
              polyline:true,
              data:[
                {
                   coords:bufferedCoords_400,
                   fullname:'400千米边界线',
    // 统一的样式设置
    lineStyle: {
      label: {
                    show: true,  // 显示标签
                    formatter: '{fullname}',  // 标签内容,可以根据需要进行调整
                    position: 'end',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: 'blue',  // 标签颜色
                    fontSize: 12,  // 标签字体大小
                },
      width:10
    }
  },
  
    ]
},
{
              // 在地图上画线(距离某点半径为450公里)
              type:'lines',      
               // 表示使用的参考坐标系是地理坐标系
              coordinateSystem: 'geo' ,
              polyline:true,
              
              data:[
                {
                   coords:bufferedCoords_450,
                   fullname:'450千米边界线',
    // 统一的样式设置
    lineStyle: {
      label: {
                    show: true,  // 显示标签
                    formatter: '{fullname}',  // 标签内容,可以根据需要进行调整
                    position: 'end',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: 'blue',  // 标签颜色
                    fontSize: 12,  // 标签字体大小
                },
      width:10
    }
  },
  
    ]
},
{
              // 在地图上闭合画线(距离某点半径为500公里)
              type:'lines',      
               // 表示使用的参考坐标系是地理坐标系
              coordinateSystem: 'geo' ,
              //系列名
              name:'500公里边界',
              polyline:true,
              label: {
                    show: true,  // 显示标签
                    //显示系列名
                    formatter: '{a}',  // 标签内容,可以根据需要进行调整
                    position: 'middle',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: '#000',  // 标签颜色
                    fontSize: 50,  // 标签字体大小
                },
            
              data:[
                {
                   coords:bufferedCoords_500,
                   fullname:'500千米边界线',
                  
    // 统一的样式设置
    lineStyle: {
                        label: {
                    show: true,  // 显示标签
                    formatter: '{fullname}',  // 标签内容,可以根据需要进行调整
                    position: 'end',  // 标签位置,可以是 'start', 'middle', 'end'
                    color: 'blue',  // 标签颜色
                    fontSize: 12,  // 标签字体大小
                },
      width:10
    }
  },
  
    ]
},
{
            // 绘制单个点
            type: 'scatter',
             // 表示使用的参考坐标系是地理坐标系
            coordinateSystem: 'geo',
            data: [
                {
                    name: '50KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',
                     
                    },
                    value: bufferedCoords_50[Math.floor(bufferedCoords_50.length/8)],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                    {
                    name: '50KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_50[Math.floor(bufferedCoords_50.length/8)*3],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },

                      {
                    name: '50KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_50[Math.floor(bufferedCoords_50.length/8)*5],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                      {
                    name: '50KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_50[Math.floor(bufferedCoords_50.length/8)*8],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
            ],
        },
        {
            // 绘制单个点
            type: 'scatter',
             // 表示使用的参考坐标系是地理坐标系
            coordinateSystem: 'geo',
            data: [
                {
                    name: '100KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',
                     
                    },
                    value: bufferedCoords_100[Math.floor(bufferedCoords_100.length/8)],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },

                    {
                    name: '100KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_100[Math.floor(bufferedCoords_100.length/8)*3],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                 {
                    name: '100KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_100[Math.floor(bufferedCoords_100.length/8)*5],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '100KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_100[Math.floor(bufferedCoords_100.length/8)*8],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
            ],
        },
        {
            // 绘制单个点
            type: 'scatter',
             // 表示使用的参考坐标系是地理坐标系
            coordinateSystem: 'geo',
            data: [
                {
                    name: '150KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',
                     
                    },
                    value: bufferedCoords_150[Math.floor(bufferedCoords_150.length/8)],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '150KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_150[Math.floor(bufferedCoords_150.length/8)*3],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '150KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_150[Math.floor(bufferedCoords_150.length/8)*5],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '150KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_150[Math.floor(bufferedCoords_150.length/8)*8],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
            ],
        },
        {
            // 绘制单个点
            type: 'scatter',
             // 表示使用的参考坐标系是地理坐标系
            coordinateSystem: 'geo',
            data: [
                {
                    name: '200KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',
                     
                    },
                    value: bufferedCoords_200[Math.floor(bufferedCoords_200.length/8)],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '200KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_200[Math.floor(bufferedCoords_200.length/8)*3],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '200KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_200[Math.floor(bufferedCoords_200.length/8)*5],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '200KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_200[Math.floor(bufferedCoords_200.length/8)*8],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
            ],
        },
        {
           // 绘制单个点
            type: 'scatter',
             // 表示使用的参考坐标系是地理坐标系
            coordinateSystem: 'geo',
            data: [
                {
                    name: '250KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',
                     
                    },
                    value: bufferedCoords_250[Math.floor(bufferedCoords_250.length/8)],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                      {
                    name: '250KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_250[Math.floor(bufferedCoords_250.length/8)*3],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                      {
                    name: '250KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_250[Math.floor(bufferedCoords_250.length/8)*5],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                      {
                    name: '250KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_250[Math.floor(bufferedCoords_250.length/8)*8],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
            ],
        },
        {
           // 绘制单个点
            type: 'scatter',
             // 表示使用的参考坐标系是地理坐标系
            coordinateSystem: 'geo',
            data: [
                {
                    name: '300KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',
                     
                    },
                    value: bufferedCoords_300[0],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '300KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_300[Math.floor(bufferedCoords_300.length/8)],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '300KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_300[Math.floor(bufferedCoords_300.length/8)*3],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '300KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_300[Math.floor(bufferedCoords_300.length/8)*5],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
            ],
        },
        {
            // 绘制单个点
            type: 'scatter',
             // 表示使用的参考坐标系是地理坐标系
            coordinateSystem: 'geo',
            data: [
                {
                    name: '350KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',
                     
                    },
                    value: bufferedCoords_350[Math.floor(bufferedCoords_350.length/8)],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                    {
                    name: '350KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_350[Math.floor(bufferedCoords_350.length/8)*3],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                    {
                    name: '350KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_350[Math.floor(bufferedCoords_350.length/8)*5],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                    {
                    name: '350KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_350[Math.floor(bufferedCoords_350.length/8)*8],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
            ],
        },
        {
         // 绘制单个点
            type: 'scatter',
             // 表示使用的参考坐标系是地理坐标系
            coordinateSystem: 'geo',
            data: [
                {
                    name: '400KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',
                     
                    },
                    value: bufferedCoords_400[Math.floor(bufferedCoords_400.length/8)],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                        {
                    name: '400KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_400[Math.floor(bufferedCoords_400.length/8)*3],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                        {
                    name: '400KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_400[Math.floor(bufferedCoords_400.length/8)*5],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                        {
                    name: '400KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_400[Math.floor(bufferedCoords_400.length/8)*8],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
            ],
        },
        {
           // 绘制单个点
            type: 'scatter',
             // 表示使用的参考坐标系是地理坐标系
            coordinateSystem: 'geo',
            data: [
                {
                    name: '450KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',
                     
                    },
                    value: bufferedCoords_450[Math.floor(bufferedCoords_450.length/8)],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '450KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_450[Math.floor(bufferedCoords_450.length/8)*3],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '450KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_450[Math.floor(bufferedCoords_450.length/8)*5],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                     {
                    name: '450KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_450[Math.floor(bufferedCoords_450.length/8)*8],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
            ],
        },
        {
           // 绘制单个点
            type: 'scatter',
             // 表示使用的参考坐标系是地理坐标系
            coordinateSystem: 'geo',
            data: [
                {
                    name: '500KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',
                     
                    },
                    value: bufferedCoords_500[Math.floor(bufferedCoords_500.length/8)],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                      {
                    name: '500KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_500[Math.floor(bufferedCoords_500.length/8)*3],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                      {
                    name: '500KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_500[Math.floor(bufferedCoords_500.length/8)*5],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
                      {
                    name: '500KM',
                    symbol:'circle',
                    itemStyle:{
                      color:'blue',

                    },
                    value: bufferedCoords_500[Math.floor(bufferedCoords_500.length/8)*8],
                    label: {
                        show: true,
                        formatter: '{b}',
                        position: 'top',
                        color: 'blue',
                        fontSize: 12,
                    },
                },
            ],
        },
            
             
            ],
          
          }