Географические координаты в прямоугольные

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
BodyZ
Участник
Сообщения: 70
Зарегистрирован: 04 сен 2009, 16:47
Репутация: 1

Географические координаты в прямоугольные

Сообщение BodyZ »

Доброго времени суток. Подскажите пожалуйста как имея географические координаты получить X и Y. У меня есть карта мира. Заранее спасибо
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Географические координаты в прямоугольные

Сообщение Boris »

а в какой системе координат?
BodyZ
Участник
Сообщения: 70
Зарегистрирован: 04 сен 2009, 16:47
Репутация: 1

Re: Географические координаты в прямоугольные

Сообщение BodyZ »

У меня карта имеет Geographic Coordinate System: GCS_WGS_1984.
Мне необходимо пересчитывать и географических координат в X Y,
чтобы программа корректно ставила точки
Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Географические координаты в прямоугольные

Сообщение nadiopt »

нужно определиться, в какой СК вы хотите получить прямоугольные координаты. После этого берем любую ГИС, перепроецируем карту в нужную нам СК (семейство систем координат с метрами, а не с градусами называется спроецированными СК) и снимаем координаты
ин гроссен фамилен нихт клювен клац клац
bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Географические координаты в прямоугольные

Сообщение bim2010 »

Например перевод из Longitude / Latitude (WGS 84) (EPSG: 4326) в Mercator WGS84 Meters

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

forwardMercator: function(lon, lat) {
        var x = lon * 20037508.34 / 180;
        var y = Math.log(Math.tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180);
        y = y * 20037508.34 / 180;       
        return new OpenLayers.LonLat(x, y);
    },

Где Math.PI - число PI=3.141592653589793238462
BodyZ
Участник
Сообщения: 70
Зарегистрирован: 04 сен 2009, 16:47
Репутация: 1

Re: Географические координаты в прямоугольные

Сообщение BodyZ »

Позвольте уточнить. Начал использовать этот код

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

forwardMercator: function(lon, lat) {
        var x = lon * 20037508.34 / 180;
        var y = Math.log(Math.tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180);
        y = y * 20037508.34 / 180;       
        return new OpenLayers.LonLat(x, y);
    },
Точка ставиться в другой галактике. Думал результат x и y в метрах нужно перевести в км (/1000). Точка ставиться поближе к Земле но еще не на ней. Помогите сняться с ручника. Спасибо
bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Географические координаты в прямоугольные

Сообщение bim2010 »

Пример моего текста:

SET DECIMALS TO 18
pipi=3.141592653589793238462
M.Long = M.Long * 20037508.34/180
M.Lat = log(tan((90 + M.Lat) * pipi / 360)) / (pipi / 180)
M.Lat = M.Lat * 20037508.34 / 180

Пример конвертации (в метры):
Lat=54,766910 __________ 7316758,84 (метры)
Long= 32,019500 __________ 3564394,43 (метры)
BodyZ
Участник
Сообщения: 70
Зарегистрирован: 04 сен 2009, 16:47
Репутация: 1

Re: Географические координаты в прямоугольные

Сообщение BodyZ »

Я плохо объяснил проблему. Мне нужен пересчет и географических координат в X Y для IPoint, при программном добавлении точки
bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Географические координаты в прямоугольные

Сообщение bim2010 »

Мне нужен пересчет и географических координат в X Y для IPoint, при программном добавлении точки
Осталось выяснить что Вы имеете ввиду когда говорите о IPoint?

1 вариант: получение координат точечных объектов в Arcgis - Dim pPoint As IPoint (Но вопрос не в разделе по Arcgis)
2 вариант: iPoint
3 вариант: Процесс IPoint.exe принадлежит программе Microsoft IntelliPoint
BodyZ
Участник
Сообщения: 70
Зарегистрирован: 04 сен 2009, 16:47
Репутация: 1

Re: Географические координаты в прямоугольные

Сообщение BodyZ »

Все решилось. Координаты, видимо, соответствуют выбранной системе координат. Извините за беспокойство :?
o-sport
Новоприбывший
Сообщения: 1
Зарегистрирован: 25 ноя 2010, 16:36
Репутация: 0

Re: Географические координаты в прямоугольные

Сообщение o-sport »

[quote="bim2010"]Например перевод из Longitude / Latitude (WGS 84) (EPSG: 4326) в Mercator WGS84 Meters

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

forwardMercator: function(lon, lat) {
        var x = lon * 20037508.34 / 180;
        var y = Math.log(Math.tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180);
        y = y * 20037508.34 / 180;       
        return new OpenLayers.LonLat(x, y);
    },

Подскажите, перевожу по формуле координаты из гугла карт в X Y, прибавляю к примеру 500 метров. Конвертирую обратно получаю точку. смотрю по карте, линейкой получается 280метров.

что не так? подскажите может что то не так делаю?
Ответить

Вернуться в «Общий - ПО»

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

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