Что нужно
Необходимо на графике линии отобразить большое кол-во линий коллекторов (~250)
Как реализованно
В БД есть таблица в которой 4 поля: Название скважины, X, Y, флаг
пример таблицы, в которой указаны 2 линии коллекторов по одной скважине (каждая линия строится по двум точкам в начале и конце графика)
wellname | X | Y | flag |
---|---|---|---|
well1 | 3651.16 | -2242.53 | 1 |
well1 | 4733.76 | -2242.53 | 1 |
well1 | 3651.16 | -2238.58 | 2 |
well1 | 4733.76 | -2238.58 | 2 |
В куб загружается таблица из БД без фильтров
Конфиг дашлета
{
frame: {
h: 6,
w: 12,
x: 12,
y: 0,
},
echart: {
yAxis: {
max: 'dataMax',
min: 'dataMin',
type: 'value',
interval: 10,
},
height: '83%',
legend: {
itemWidth: 10,
textStyle: {
fontSize: 12,
},
itemHeight: 10,
},
series: {
label: {
color: 'rgba(0, 0, 0, 1)',
padding: [
2,
2,
2,
2,
],
distance: 0,
fontSize: 0,
position: 'bottom',
borderColor: 'inherit',
borderWidth: 3,
backgroundColor: 'rgba(255, 255, 255, 0.9)',
},
barWidth: 1,
},
tooltip: {
trigger: 'item',
position: 'top',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#eee',
},
},
},
},
display: {
headerStyle: {
fontSize: 14,
},
},
options: [
'LinesWithoutDots',
'ConnectPoints',
'!DisplaySplitLines',
'DisplayAllBadges',
],
dataSource: {
koob: 'datamart.Profile',
limit: 0,
style: {
flag: {
'1000': {
color: 'rgba(21,2,55,1)',
title: 'Ствол',
vizelType: 'line',
},
'1001': {
color: 'rgba(118,0,193,1)',
title: 'Граница П1',
vizelType: 'line',
strokeStyle: 'ShortDash',
},
'1002': {
color: 'rgba(118,0,193,1)',
title: 'Граница П1',
vizelType: 'line',
strokeStyle: 'ShortDash',
},
'1003': {
color: 'rgba(147,17,155,1)',
title: 'Граница П2',
vizelType: 'line',
strokeStyle: 'Dash',
},
'1004': {
color: 'rgba(147,17,155,1)',
title: 'Граница П2',
vizelType: 'line',
strokeStyle: 'Dash',
},
'2000': {
color: 'rgba(212,39,39,1)',
title: 'М(план)',
vizelType: 'bar',
},
'2001': {
color: 'rgba(212,39,39,1)',
title: 'М(факт)',
vizelType: 'bar',
},
'3000': {
color: 'rgba(75,75,75,1)',
title: 'П(план)',
vizelType: 'bar',
},
'3001': {
color: 'rgba(75,75,75,1)',
title: 'П(факт)',
vizelType: 'bar',
},
'*': {
color: 'rgba(255, 172, 99, 0.15)',
title: 'Линии коллекторов',
},
},
measures: {
max_y: {
color: 'rgba(180,40,112,1)',
title: 'Ствол',
unit_id: 1003,
vizelType: 'spline',
},
},
},
xAxis: ';x',
yAxis: 'measures;flag',
sortBy: '',
filters: {
flag: [
'!=',
'2001',
'3001',
],
x: [
'between',
'-9999898',
'9999898',
],
Well_Number: true,
},
measures: [
'max(y):max_y',
],
dimensions: [
'x',
'flag',
],
},
colorPalette: [
'rgba(255, 172, 99, 0.15)',
],
view_class: '1II.line',
title: '',
}
Проблема
В старой версии 9.4 визель загружается в течении 5-10 сек
В новой версии >= 10.0 визель не загружается, после примерно 30-40 сек страница браузера зависает и после обновления страницы визель не загружается
Если в БД оствать ~50 линии коллекторов, то визуализация загружается в течении 20-30 сек
Во вкладке Сеть все данные приходят со статусом 200 и в течении 1 сек