Проблема с преобразованием координат

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
Namolem
Интересующийся
Сообщения: 17
Зарегистрирован: 04 сен 2011, 18:45
Репутация: 0

Проблема с преобразованием координат

Сообщение Namolem » 05 авг 2013, 12:18

Добрый день. Нужно пересчитать координаты между МСК-32 (Брянская область) и WGS84

Известные данные:
Проекция - поперечная Меркатора,
нулевая широта 0°,
нулевая долгота 35°29',
сдвиг по широте -5412900.566м,
сдвиг по долготе 2250000м.

Есть проект в Trimble Geomatics Office, на основе которого мы работаем, там заданы координаты некоторых пунктов в WGS84 и в МСК-32.
На его основе хочу подобрать семь параметров для Position-Vector Transformation.

Подбираю методом тыка, начальное значение ключей от СК42, далее изменяю ключи случайным образом.
Если отклонение от X,Y,Z новых ключей меньше, то запоминаю их.
Для пересчета использую библиотеку DotSpatial.

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

ProjectionInfo wgsProj = KnownCoordinateSystems.Geographic.World.WGS1984;
var keys = new[]
	                                         {
												 23.814,
												 -123.193,
												 -94,
												 0.18749,
												 -0.22884,
												 -0.13,
												 1.1
	                                         };
var projString ="+proj=tmerc +lat_0=0 +lon_0=35.483333333333333333333333333333333333 +k=1 +x_0=2250000 +y_0=-5412900.566 +ellps=krass +towgs84="
				+ keys[0].ToString(CultureInfo.InvariantCulture) + ","
				+ keys[1].ToString(CultureInfo.InvariantCulture) + ","
				+ keys[2].ToString(CultureInfo.InvariantCulture) + ","
				+ keys[3].ToString(CultureInfo.InvariantCulture) + ","
				+ keys[4].ToString(CultureInfo.InvariantCulture) + ","
				+ keys[5].ToString(CultureInfo.InvariantCulture) + ","
				+ keys[6].ToString(CultureInfo.InvariantCulture) + " +units=m +no_defs";
			return ProjectionInfo.FromProj4String(projString);
var localXY = new double[] {2166921.047, 493562.471};
var localZ = new double[] {206.448};
Reproject.ReprojectPoints(localXY, localZ, msk32, wgsProj, 0, 1);
На стадии разработки у меня 4 пункта, чтобы быстрее работало. После получения ключей пробую пересчитать контрольный пункт, получаю погрешность по долготе: 0.3м, по широте: 0.1м, по высоте 4м.
Пока все нормально. Пробую загрузить эти ключи в JAVAD Justin и в Javad Tracy (коммуникатор VICTOR). Получаю погрешность около 6", около 185 метров. В чем может быть проблема?(

Аватара пользователя
bingeomap
Гуру
Сообщения: 506
Зарегистрирован: 06 июл 2012, 08:37
Репутация: 53
Откуда: Азербайджан, Баку

Re: Проблема с преобразованием координат

Сообщение bingeomap » 05 авг 2013, 13:47

Проблема может быть в том, что наверно в ПО JAVAD параметры не Position-Vector a Coordinate Frame. Этого надо уточнит.
С уважением,
Биннат Халилов

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Проблема с преобразованием координат

Сообщение Дмитрий Барышников » 05 авг 2013, 14:32

Как я понимаю по этим параметрам http://www.mapbasic.ru/msk32 переходим из МСК в СК-42
Ну а дальше в соответствии с ГОСТ Р 51794-2008 из СК42 в WGS84
Вот еще темы: viewtopic.php?t=300

185 м наводят на мысль, что параметр +towgs84 игнорируется. Проверьте пересчет с ним и без него.

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Проблема с преобразованием координат

Сообщение gamm » 05 авг 2013, 14:48

Скорее всего Дмитрий прав - некоторые функции пересчета координат в PROJ4 игнорируют датум, о чем написано в документации.

Namolem
Интересующийся
Сообщения: 17
Зарегистрирован: 04 сен 2011, 18:45
Репутация: 0

Re: Проблема с преобразованием координат

Сообщение Namolem » 06 авг 2013, 12:21

Вроде бы получилось сделать одинаковые вычисления в Justin и в Tracy.

В своей программе сделал преобразование в 2 шага - сначала из проекции меркатора в геодезические координаты, потом из геодезических широты и долготы в WGS84 по семи параметрам.

Еще вопрос - при подборе ключей есть ли какие-либо границы, например по Dx 20..30, Dy -140..-120 или они могут быть любыми?

Namolem
Интересующийся
Сообщения: 17
Зарегистрирован: 04 сен 2011, 18:45
Репутация: 0

Re: Проблема с преобразованием координат

Сообщение Namolem » 06 авг 2013, 12:21

Вроде бы получилось сделать одинаковые вычисления в Justin и в Tracy.

В своей программе сделал преобразование в 2 шага - сначала из проекции меркатора в геодезические координаты, потом из геодезических широты и долготы в WGS84 по семи параметрам.

Еще вопрос - при подборе ключей есть ли какие-либо границы, например по Dx 20..30, Dy -140..-120 или они могут быть любыми?

Ответить

Вернуться в «Я новичок!»

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

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