Страница 1 из 1

Перевод координат

Добавлено: 15 май 2011, 02:40
Nendis
Доброго времени суток.
Подскажите пожалуйста, какие формулы мне применить что бы:

1) Преобразовать географические координаты поверхности Земли в формате lon/lat (60,213 143,1221) в декартову систему координат так? что бы я мог применить полученные координаты для решения прямой геодезической задачи.
Как показано тут:
http://www.mybntu.com/stroika/geodezia/ ... dachi.html

2) Если мне помогут ( :wink: ), то решение этой задачи я получу, опять таки, в декартовых координатах. Т.е. так же нужна формула для перевода обратно из декартовых координат в географические формата lon/lat.

Re: Перевод координат

Добавлено: 31 май 2011, 21:41
San
Я использую в OpenLayer следующие процедуры (javascript):

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

function Lon2Merc(lon) {
	return 20037508.34 * lon / 180;
}

function Lat2Merc(lat) {
	var PI = 3.14159265358979323846;
	lat = Math.log(Math.tan( (90 + lat) * PI / 360)) / (PI / 180);
	return 20037508.34 * lat / 180;
}
Ну а использую так:

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

var lon = 34.025;
var lat = 44.4442;

var x = Lon2Merc(lon);
var y = Lat2Merc(lat);
map.setCenter(new OpenLayers.LonLat(x, y), zoom);

Re: Перевод координат

Добавлено: 02 июн 2011, 23:00
Ariki
К сожалению, эту проекцию (Меркатор на сфере) нельзя использовать для решения прямой или обратной геодезической задачи: она сильно искажает масштабы длин.
Для геодезических построений в нашей стране используется проекция Гаусса-Крюгера. Формулы для эллипсоида Красовского есть в ГОСТ Р 51794-2008.

Update: Ошибся, это даже не Меркатор. Данная проекция и равноугольной-то не является.