GIS-LAB

Географические информационные системы и дистанционное зондирование


Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли


И снова возвращаясь к PROJ4

Системы координат, проекции, преобразования, привязка

И снова возвращаясь к PROJ4

Сообщение Michael2000 » 19 июн 2017, 07:38

Была уже куча тем и много обсуждений. Но всё таки пока сам не наступишь на грабли так и не поймешь в чём дело.
Просьба гуру в работе с библиотекой PROJ4 пояснить в чём я ошибаюсь.
Есть две проекции:
МСК-70 зона 3
+proj=tmerc +ellps=krass +towgs84=24,-123,-94,-0.02,0.25,0.13,0.13,1.1 +units=m +lon_0=80.73333333333 +lat_0=0 +k_0=1 +x_0=3250000 +y_0 =-5912900.566

и
МСК-70 зона 4
+proj=tmerc +ellps=krass +towgs84=24,-123,-94,-0.02,0.25,0.13,0.13,1.1 +units=m +lon_0=83.73333333333 +lat_0=0 +k_0=1 +x_0=4250000 +y_0 =-5912900.566

в Delphi пытаюсь перевести координаты из одной зоны в другу, вот что делаю:
procedure TForm3.Button1Click(Sender: TObject);
var P1, P2: Pointer; i: Integer;
X, Y: PDoubleArray;
begin
P1 := pj_init_plus('+proj=tmerc +ellps=krass +towgs84=24,-123,-94,-0.02,0.25,0.13,0.13,1.1 +units=m +lon_0=83.73333333333 +lat_0=0 +k_0=1 +x_0=4250000 +y_0=-5912900.566');
P2 := pj_init_plus('+proj=tmerc +ellps=krass +towgs84=24,-123,-94,-0.02,0.25,0.13,0.13,1.1 +units=m +lon_0=80.73333333333 +lat_0=0 +k_0=1 +x_0=3250000 +y_0=-5912900.566');
New(X); New(Y);
X^[0] := StrToFloat(Edit1.Text);
Y^[0] := StrToFloat(Edit2.Text);
i := pj_transform(P1, P2, 1, 1, X, Y, nil);
Label1.Caption := String(pj_strerrno(i));
Edit3.Text := FloatToStr(X^[0]);
Edit4.Text := FloatToStr(Y^[0]);
end;

На входе даётся точка
X = 355256.85
Y = 4333607.02

на выходе
X = 3250000
Y = 4089236.93154376

Вопрос, что я делаю неправильно?
  • 0

Michael2000
Новоприбывший
 
Зарегистрирован: 19 июн 2017
 
Сообщения: 9
Репутация: 0

Re: И снова возвращаясь к PROJ4

Сообщение trir » 19 июн 2017, 07:48

4249999.999978445, 4089236.9318062495
это не МСК-70 зона 3
  • 0

trir
просто мимо прохожу
 
Зарегистрирован: 09 апр 2010
Откуда: Ё-бург (на карте)
 
Сообщения: 2773
Репутация: 427
Статьи: 1

Re: И снова возвращаясь к PROJ4

Сообщение Michael2000 » 19 июн 2017, 08:14

Я знаю, вот и пытаюсь понять свою ошибку.
  • 0

Michael2000
Новоприбывший
 
Зарегистрирован: 19 июн 2017
 
Сообщения: 9
Репутация: 0

Re: И снова возвращаясь к PROJ4

Сообщение trir » 19 июн 2017, 08:19

входные данные неправильные
  • 0

trir
просто мимо прохожу
 
Зарегистрирован: 09 апр 2010
Откуда: Ё-бург (на карте)
 
Сообщения: 2773
Репутация: 427
Статьи: 1

Re: И снова возвращаясь к PROJ4

Сообщение Игорь Белов » 19 июн 2017, 08:20

Michael2000 писал(а):Вопрос, что я делаю неправильно?
Меняете местами X и Y.
  • 1

Игорь Белов
Гуру
 
Зарегистрирован: 04 янв 2011
Откуда: Казань (на карте)
 
Сообщения: 1340
Репутация: 808
Статьи: 12
Проекты: 1

Re: И снова возвращаясь к PROJ4

Сообщение Michael2000 » 19 июн 2017, 08:30

Игорь Белов писал(а):
Michael2000 писал(а):Вопрос, что я делаю неправильно?
Меняете местами X и Y.

Сэр, вы гений, заработало :D
  • 0

Michael2000
Новоприбывший
 
Зарегистрирован: 19 июн 2017
 
Сообщения: 9
Репутация: 0

Re: И снова возвращаясь к PROJ4

Сообщение Michael2000 » 21 июн 2017, 16:22

И снова здравствуйте. Недавно, с божьей помощью и гуру местного форму начал разбираться с библиотекой PROJ4. С подсказки знающих людей умудрился сделать пересчёт координат из одной зоны МСК в другую. От счастья долго писал кипятком на стену и называл себя всякими хорошими словами. НО, отрезвление пришло очень быстро. Пока работаю с координатами на плоскости проблем не было, но как только я попытался произвести пересчёт из WGS в МСК ко мне прилетела синяя птица обломинго.
Дано, исходная проекция:
+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs

Дано, конечная проекция:
+proj=tmerc +ellps=krass +towgs84=24,-123,-94,-0.02,0.25,0.13,0.13,1.1 +units=m +lon_0=83.73333333333 +lat_0=0 +k_0=1 +x_0=4250000 +y_0 =-5912900.566

и как обычно пара координат:
lon=85.759586
lan=57.589965

Используя выше описанные процедуры пытаемся произвести пересчёт и вуаля, система пишет no system list, errno: 100 и возвращает те же самые значения.
Традиционный вопрос - что я делаю неправильно?
  • 0

Последний раз редактировалось Michael2000 21 июн 2017, 16:57, всего редактировалось 1 раз.
Michael2000
Новоприбывший
 
Зарегистрирован: 19 июн 2017
 
Сообщения: 9
Репутация: 0

Re: И снова возвращаясь к PROJ4

Сообщение trir » 21 июн 2017, 16:31

код приведи
  • 0

trir
просто мимо прохожу
 
Зарегистрирован: 09 апр 2010
Откуда: Ё-бург (на карте)
 
Сообщения: 2773
Репутация: 427
Статьи: 1

Re: И снова возвращаясь к PROJ4

Сообщение Michael2000 » 21 июн 2017, 16:45

исходники описаны в первом посте
  • 0

Michael2000
Новоприбывший
 
Зарегистрирован: 19 июн 2017
 
Сообщения: 9
Репутация: 0

Re: И снова возвращаясь к PROJ4

Сообщение Игорь Белов » 21 июн 2017, 16:49

Попробуйте перевести географические координаты из градусов в радианы.
  • 0

Игорь Белов
Гуру
 
Зарегистрирован: 04 янв 2011
Откуда: Казань (на карте)
 
Сообщения: 1340
Репутация: 808
Статьи: 12
Проекты: 1

Re: И снова возвращаясь к PROJ4

Сообщение Michael2000 » 21 июн 2017, 16:58

Ага, перевод в радианы перестал давать ошибку, но координаты как то далеки от МСК-70 зона 4.
При вводе
lon=85.759586
lan=57.589965
на выходе получаю
X=9576701.93982527
Y=4041475.07129999
  • 0

Michael2000
Новоприбывший
 
Зарегистрирован: 19 июн 2017
 
Сообщения: 9
Репутация: 0

Re: И снова возвращаясь к PROJ4

Сообщение freeExec » 21 июн 2017, 17:10

А почему у вас 8 параметров преобразования, походу 0.13 лишнее.
  • 0

freeExec
Завсегдатай
 
Зарегистрирован: 23 апр 2011
Откуда: Ульяновск (на карте)
 
Сообщения: 428
Репутация: 48
Проекты: 1

Re: И снова возвращаясь к PROJ4

Сообщение Michael2000 » 21 июн 2017, 17:17

freeExec писал(а):А почему у вас 8 параметров преобразования, походу 0.13 лишнее.

Поясните свою мысль.
  • 0

Michael2000
Новоприбывший
 
Зарегистрирован: 19 июн 2017
 
Сообщения: 9
Репутация: 0

Re: И снова возвращаясь к PROJ4

Сообщение freeExec » 21 июн 2017, 17:20

>>+towgs84=24,-123,-94,-0.02,0.25,0.13,0.13,1.1
3 сдвига по осям: 24,-123,-94
3 вращения по ним же:-0.02,0.25,0.13
масштаб: 0.13
???: 1.1 (который масштаб)
  • 0

freeExec
Завсегдатай
 
Зарегистрирован: 23 апр 2011
Откуда: Ульяновск (на карте)
 
Сообщения: 428
Репутация: 48
Проекты: 1

Re: И снова возвращаясь к PROJ4

Сообщение Michael2000 » 21 июн 2017, 17:35

Ага, понял вас. Но тут у меня с параметрами туго, я только в самом начале и внятно ответить что для чего не могу. ПО поводу параметров... Скачал текстовый файл с одного геодезического форума. В этом файле приведены параметры для всех зон МСК. Вот от туда я и брал значения.

P.S. если убрать лишний параметр результат сильно не меняется
  • 0

Michael2000
Новоприбывший
 
Зарегистрирован: 19 июн 2017
 
Сообщения: 9
Репутация: 0

След.

Вернуться в Координаты и привязка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


(Геокруг)

© GIS-Lab и авторы, 2002-2013. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).