Географические координаты в прямоугольные
- 
				BodyZ
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Географические координаты в прямоугольные
Доброго времени суток. Подскажите пожалуйста как имея географические координаты получить X и Y. У меня есть карта мира. Заранее спасибо
			
			
									
						
										
						- 
				Boris
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Географические координаты в прямоугольные
а в какой системе координат?
			
			
									
						
										
						- 
				BodyZ
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Географические координаты в прямоугольные
У меня карта имеет Geographic Coordinate System:	GCS_WGS_1984. 
Мне необходимо пересчитывать и географических координат в X Y,
чтобы программа корректно ставила точки
			
			
									
						
										
						Мне необходимо пересчитывать и географических координат в X Y,
чтобы программа корректно ставила точки
- nadiopt
- Гуру
- Сообщения: 4744
- Зарегистрирован: 29 янв 2009, 13:27
- Репутация: 495
- Ваше звание: хрюкало
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Географические координаты в прямоугольные
нужно определиться, в какой СК вы хотите получить прямоугольные координаты. После этого берем любую ГИС, перепроецируем карту в нужную нам СК (семейство систем координат с метрами, а не с градусами называется спроецированными СК) и снимаем координаты
			
			
									
						
							ин гроссен фамилен нихт клювен клац клац
			
						- 
				bim2010
- Гуру
- Сообщения: 977
- Зарегистрирован: 27 янв 2009, 22:57
- Репутация: 258
Re: Географические координаты в прямоугольные
Например перевод из Longitude / Latitude (WGS 84) (EPSG: 4326)   в  Mercator WGS84  Meters
Где Math.PI  - число PI=3.141592653589793238462
			
			
									
						
										
						Код: Выделить всё
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);
    },
- 
				BodyZ
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Географические координаты в прямоугольные
Позвольте уточнить. Начал использовать этот код 
Точка ставиться в другой галактике. Думал результат x и y в метрах нужно перевести в км (/1000). Точка ставиться поближе к Земле но еще не на ней. Помогите сняться с ручника. Спасибо
			
			
									
						
										
						Код: Выделить всё
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);
    },- 
				bim2010
- Гуру
- Сообщения: 977
- Зарегистрирован: 27 янв 2009, 22:57
- Репутация: 258
Re: Географические координаты в прямоугольные
Пример моего текста:
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 (метры)
			
			
									
						
										
						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: Географические координаты в прямоугольные
Я плохо объяснил проблему. Мне нужен пересчет и географических координат в X  Y для IPoint, при программном добавлении точки
			
			
									
						
										
						- 
				bim2010
- Гуру
- Сообщения: 977
- Зарегистрирован: 27 янв 2009, 22:57
- Репутация: 258
Re: Географические координаты в прямоугольные
Осталось выяснить что Вы имеете ввиду когда говорите о IPoint?Мне нужен пересчет и географических координат в X Y для IPoint, при программном добавлении точки
1 вариант: получение координат точечных объектов в Arcgis - Dim pPoint As IPoint (Но вопрос не в разделе по Arcgis)
2 вариант: iPoint
3 вариант: Процесс IPoint.exe принадлежит программе Microsoft IntelliPoint
- 
				BodyZ
- Участник
- Сообщения: 70
- Зарегистрирован: 04 сен 2009, 16:47
- Репутация: 1
Re: Географические координаты в прямоугольные
Все решилось. Координаты, видимо, соответствуют выбранной системе координат. Извините за беспокойство  
			
			
									
						
										
						
- 
				o-sport
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 25 ноя 2010, 16:36
- Репутация: 0
Re: Географические координаты в прямоугольные
[quote="bim2010"]Например перевод из Longitude / Latitude (WGS 84) (EPSG: 4326)   в  Mercator WGS84  Meters
Подскажите, перевожу по формуле координаты из гугла карт в X Y, прибавляю к примеру 500 метров. Конвертирую обратно получаю точку. смотрю по карте, линейкой получается 280метров.
что не так? подскажите может что то не так делаю?
			
			
									
						
										
						Код: Выделить всё
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);
    },
что не так? подскажите может что то не так делаю?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей
