Расчет из пикселя в градусы

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Ответить
adminsamara
Новичок
Сообщения: 4
Зарегистрирован: 04 янв 2017, 20:13
Благодарил (а): 1 раз

Расчет из пикселя в градусы

Сообщение adminsamara »

Зная зум нужны координаты 1 тайла верхнего левого угла.
По X все просто, делаю так подставляю в формулу зум: Result.X := Apoint.X * 360 /a(это 1 shl zum) - 180;
По Y не могу понять как сделать.
Как подставить в эту функцию зум?!

Код: Выделить всё

function TProjectionTypeMercatorOnEllipsoid.Relative2LonLatInternal(
  const APoint: TDoublePoint
): TDoublePoint;
var
  Zu, Zum1, yy: extended;
  VSin: Extended;
  e_y: Extended;
begin
  Result.X := (APoint.x - 0.5) * 360;

  if (APoint.y > 0.5) then begin
    yy := (APoint.y - 0.5);
  end else begin
    yy := (0.5 - APoint.y);
  end;
  yy := yy * (2 * PI);
  Zu := 2 * ArcTan(exp(yy)) - PI / 2;
  e_y := Exp(2 * yy);
  Result.Y := Zu * (180 / Pi);
  repeat
    Zum1 := Zu;
    VSin := Sin(Zum1);
    Zu := ArcSin(1 - (1 + VSin) * Power((1 - FExct * VSin) / (1 + FExct * VSin), FExct) / e_y);
  until (abs(Zum1 - Zu) < MerkElipsK) or (IsNan(Zu));
  if not (IsNan(Zu)) then begin
    if APoint.y > 0.5 then begin
      Result.Y := -Zu * 180 / Pi;
    end else begin
      Result.Y := Zu * 180 / Pi;
    end;
  end;
end;
adminsamara
Новичок
Сообщения: 4
Зарегистрирован: 04 янв 2017, 20:13
Благодарил (а): 1 раз

Re: Расчет из пикселя в градусы

Сообщение adminsamara »

Не уж то не кто не подскажет?
Tolik
Гуру
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 283 раза
Поблагодарили: 587 раз

Re: Расчет из пикселя в градусы

Сообщение Tolik »

adminsamara писал(а):Не уж то не кто не подскажет?
Я не знаю, надеюсь, кто-то поможет. Но не поглумиться не могу, уж извините.

4 ошибки в двух словах - это сильно! :)
А почему слово "подскажет" тоже не написали по слогам?
"Не уж то ни кто не под ска жет" :D
Ответить

Вернуться в «Раздел для разработчиков программы SAS.Планета»