ОЧЕНЬ НУЖНА ПОМОЩЬ ПО ПЕРЕВОДУ КООРДИНАТ С GPS В ПРЯМОУГОЛЬНЫЕ СК-42

Основной форум пользователей GPS (Global Positioning System)
Правила форума
Для предотврашения спама первые сообщения вновь зарегистрированных пользователей проходят ручную премодерацию.
Ответить
tarabukinivan
Сообщения: 1
Зарегистрирован: 14 апр 2016, 05:05

ОЧЕНЬ НУЖНА ПОМОЩЬ ПО ПЕРЕВОДУ КООРДИНАТ С GPS В ПРЯМОУГОЛЬНЫЕ СК-42

Сообщение tarabukinivan » 14 апр 2016, 05:08

Доброго времени суток!
Уже замучился с этими координатами). Живу я на территории Саха(якутия) п. Хандыга. В гуглмапе координаты: 62654648 135550605.
Есть данные от пользовательской сетки: dx=+23.92; dy=-141.27; dz=-81; da=-108; df=+0.00480795; utm=2499997; исходная широта 0.0; Свою зону я не знаю.
Маршрут делаю в навигаторе garmin. Если смотрю файлы гармина, то точки имеют вид: <rtept lat="62.659125700592995" lon="135.55171731859446".
И есть у меня карты местности масштабами: 1:25000 и 1:50000 в программа "ГИС Панорама Мини". В нем прямоугольные координаты вида: х(север), у(восток).
Например, если ввести точку вручную в панораме (карта масштабом:250000) по wgs84(градусы): 62.64807362 135.57017638
она по прямоугольной х(север), у(восток) приобретает вид: 6949333.080000 23529151.880000
А точка на карте (с масштабом:50000) по wgs84(градусы): 62.60602681 135.17616811
по прямоугольной х(север), у(восток) приобретает вид: 694459.939208 23508959.495617
Короче с gpx беру данные вида lat и lon:
62,659125700592995 135,55171731859446
62,659125700592995 135,55171731859446
62,654938688501716 135,56992943398654
62,654938688501716 135,56992943398654
62,652247175574303 135,56472594849765
62,649854561313987 135,55757123976946
62,649854561313987 135,55757123976946
62,649854561313987 135,55757123976946
62,65678882598877 135,55766344070435
62,659406661987305 135,54770708084106
62,660022815689445 135,56797821074724
62,659435495734215 135,55333603173494
62,659656777977943 135,55076513439417
62,659656777977943 135,55076513439417
62,65916995704174 135,55114600807428
Их надо перевести на карту с прямоугольными координатами вида: х(север), у(восток).
Подскажите пожалуйста формулу (не готовую программу) для перевода с координат gpx в прямоугольные.
В интернете нарыл "формулу пересчета координат из WGS-84 в СК-42 и обратно" и написал в Дельфи,но после ее работы
62.64807362 135.57017638 никак не становится: 6949333.080000 23529151.880000 (меняется только 11 цифра после запятого). По моему я перевожу только с wgs-84 в ск-42. Теперь нужно перевести в прямоугольные?
Вот сама формула:
const
pi=3.14159265358979;
ro=206264.8062;
//эллипсоид красовского
ap=6378245;
alp=1/298.3; //0.00335232986925914
e2p=2*alp-alp*alp;//0.00669342162296594
//эллипсод WGS84
aw=6378137;
alw=1/298.257223563; //0.00335281066474748
e2w=2*alw-alw*alw;//0.0066943799901413
a=(ap+aw)/2; //6378191
e2=(e2p+e2W)/2; //0.0066939
da=aw-ap; //-108
de2=e2w-e2p;//9.58367175373768e-7
//линейные элементы трансформирования
dx=23.92;
dy=-141.27;
dz=-80.9;
//угловые элементы трансформирования
wx=0;
wy=0;
wz=0;
ms=25000;//масштабный элемент трансформирования
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Memo1: TMemo;
OpenDialog1: TOpenDialog;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
Label1: TLabel;
N3: TMenuItem;
Memo2: TMemo;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;filename:string;
implementation
{$R *.dfm}
Function dB(Bd,Ld,H:double):double;
var B, L, M, N,skb1:double;
begin
B:= Bd * Pi/180;
L:= Ld * Pi/180;
skb1:=n/a*e2*sin(b)*cos(b)*da+(sqr(n)/sqr(a)+1)*n*sin(b)*cos(b)*de2/2-(dx*cos(l)+dy*sin(l))*sin(b)+dz*cos(b);
M:= a * (1 - e2) / sqrt((1 - e2 * Sin(b)*sin(b))*(1 - e2 * Sin(b)*sin(b))*(1 - e2 * Sin(b)*sin(b))) ;
N:= a /sqrt(1 - e2 * sqr(Sin(B)));
dB:= ro / (M + H) * skb1 - wx * Sin(L) * (1 + e2 * Cos(2 * B))+ wy * Cos(L) * (1 + e2 * Cos(2 * B))- ro * ms * e2 * Sin(B) * Cos(B);
End;
Function dL(Bd, Ld, H:double):double;
Var B, L, N:double;
begin
B:=Bd * Pi / 180;
L:= Ld * Pi / 180;
N:= a / sqrt(1 - e2 * Sin(B)*sin(b));
dL:= ro / ((N + H) * Cos(B)) * (-dx * Sin(L) + dy * Cos(L))+ sin(B)/cos(b) * (1 - e2) * (wx * Cos(L) + wy * Sin(L)) - wz;
End;
Function WGS84Alt(Bd, Ld, H:double):double;
var B, L, N, dH:double;
begin
B:=Bd * Pi / 180;
L:= Ld * Pi / 180;
N:= a / sqrt(1 - e2 * Sin(B)*sin(b));
dH:= -a / N * da + N * Sin(B) *Sin(B) * de2 / 2 + (dx * Cos(L) + dy * Sin(L)) * Cos(B) + dz * Sin(B)- N * e2 * Sin(B) * Cos(B) * (wx / ro * Sin(L) - wy / ro * Cos(L))+ (a *a/ N + H) * ms;
WGS84Alt:= H + dH;
End;
Function WGS84_SK42_Lat(Bd, Ld, H:double):double;
begin WGS84_SK42_Lat:=Bd - dB(Bd, Ld, H) / 3600;
End;
Function SK42_WGS84_Lat(Bd, Ld, H:double):double;
begin SK42_WGS84_Lat:= Bd + dB(Bd, Ld, H) / 3600;
End;
Function WGS84_SK42_Long(Bd, Ld, H:double):double;
begin WGS84_SK42_Long:=Ld - dL(Bd, Ld, H) / 3600;
End;
Function SK42_WGS84_Long(Bd, Ld, H:double):double;
begin SK42_WGS84_Long:= Ld + dL(Bd, Ld, H) / 3600;
End;

<noindex></noindex>

tikh-petr
Сообщения: 305
Зарегистрирован: 03 фев 2017, 20:03

Re: ОЧЕНЬ НУЖНА ПОМОЩЬ ПО ПЕРЕВОДУ КООРДИНАТ С GPS В ПРЯМОУГОЛЬНЫЕ СК-42

Сообщение tikh-petr » 15 апр 2016, 01:57

Здравствуйте! Вот ссылка на описание работы и программу http://gis-lab.info/qa/photomod-geocalc.html Зачем новый велосипед? Если только у Вас не какая-нибудь курсовая или дипломная работа. И самое главное, СК-42 у Вас какая? Формулы перехода рассчитываются по нескольким ГОСТам, и значения эти весьма усредненные по РФ. Лучше всего Вам это уточнить у создателей карт(если это не ГШ или ГГЦ). <noindex></noindex>

Qazbek
Сообщения: 358
Зарегистрирован: 03 мар 2003, 15:04

Re: ОЧЕНЬ НУЖНА ПОМОЩЬ ПО ПЕРЕВОДУ КООРДИНАТ С GPS В ПРЯМОУГОЛЬНЫЕ СК-42

Сообщение Qazbek » 23 апр 2016, 09:35

мне подсказали при схожей задачи вот ткие ресурсы, помогло. цитата а вообще - если есть xml-росреестра можно использовать конвертер https://sites.google.com/site/landproce ... ject/ и вообще засунуть геометрию в QGIS и там пересчитать http://nextgis.ru/nextgis-qgis/ http ... ex>SCUMBAG, SCUMBAG, HO! </noindex>

Ответить

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

Сейчас этот форум просматривают: Bing [Bot] и 134 гостя