关于pyqt
- 在python开发qt桌面端程序时,建议使用pyside2,它同pyqt5,在低版本windows系统上兼容性强,使用pyside6(pyqt6)时可能打出来的包不兼容低版本windows系统。注个人亲自踩坑
- 在pyqt中,除了渲染页面的UI更新操作在主线程中进行时,其他相关的计算操作都要在其他线程(非主线程)中执行,建议使用QThread。非主线程(QThread)本质就是一个线程,同UI渲染的主线程无差异,所以在QThread开启的线程中同样可以继续使用线程池(concurrent.futures.ThreadPoolExecutor)来提升计算速度,在相关计算完成后通过信号与槽的方式(connect slot)通知渲染函数更新UI,信号触发的渲染函数会在主线程中进行。这样可以保证计算逻辑执行时主线程中的渲染UI操作不会被阻塞。
- 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自定义地图
- 数据来源 datav.aliyun.com/portal/scho… 里面可以找到需要的GeoJSON数据;GeoJSON 是一种用于表示地理空间数据的格式,它基于 JSON 格式。它支持点(Point)、线(LineString)和多边形(Polygon)等几何类型,可以用来表示各种地理特征,如城市、省份、国家等。
- 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
]
]
]
]
}
- 得到一个距离某区域边界多少公里的闭合曲线使用 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,
},
},
],
},
],
}