HighCharts медленно обновляет сериюJavascript

Форум по Javascript
Ответить
Anonymous
 HighCharts медленно обновляет серию

Сообщение Anonymous »

Мне нужно построить стволы скважин на карте горизонта и в вертикальном разрезе.
У меня нет проблем с картами, но вертикальные сечения могут иметь разные углы направления, поэтому мне приходится проецировать на них профиль ствола скважины, а для ста точек это занимает несколько минут.
Я использую три переменные для каждой точки траектории ствола скважины: восточное направление, северное направление и вертикальная глубина.
Для карты все очень просто: восточное положение X и северное направление Y:
var act_plan = [];


некоторый цикл
for(...)
{
act_plan.push({x: upperX, y: upperY, name: "Inc=" + Inc + ", Azi=" + AzimAccepted + " @ " + MD});
}

...
if(act_plan.length > 0)
{
planChart.addSeries(
{
id: "act_plan",
color: "black",
name: "bla-bla-bla",
data: act_plan,
dashStyle: "Solid",
lineWidth: 2,
type: 'spline',
crisp: false
},
false, false
);
}

...
planChart.redraw(true);

Но для вертикального разреза, видимо, я делаю что-то не так
var act_profileX = [];

некоторый цикл

for(...)
{
act_profileX.push({x: calcShiftAway(upperX, upperY, 0), y: upperTVD, name: "Inc=" + Inc + ", Azi=" + AzimAccepted + " @ " + MD});
}


где
function calcShiftAway(east, nord, VSrad) // X,Y coordinates and a directional angle in radians of a vertical section
{
return (-nord*Math.cos(VSrad) + east*Math.sin(VSrad)); // rotate coordinates
}

...
if(act_profileX.length > 0)
{
var oPl = sectionChartWest.addSeries(
{
id: "act_plan", // the same id as for the plan
color: "black",
name: "bla-bla-bla",
data: act_profileX, //
dashStyle: "Solid",
lineWidth: 2,
type: 'spline',
crisp: false
},
false, false
);
oPl = rotateProfile("act_plan"); // I used var OPl to be sure that the series have been formed before the next manipulations with them (paranoia)
}

где
function rotateProfile(data_id)
{
var oProfile = sectionChartWest.get(data_id);
var oPlan = planChart.get(data_id);

if(typeof(oProfile) === "undefined")
{
alert("There is no such a profile " + oProfile + " - it's a program Error");
return false;
}

if(typeof(oPlan) === "undefined")
{
alert("There is no such a plan " + oPlan + " - it's a program Error");
return false;
}

if(oProfile.data.length != oPlan.data.length || oProfile.data.length

Подробнее здесь: https://stackoverflow.com/questions/798 ... ies-slowly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»