Известные данные:
Проекция - поперечная Меркатора,
нулевая широта 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);
Пока все нормально. Пробую загрузить эти ключи в JAVAD Justin и в Javad Tracy (коммуникатор VICTOR). Получаю погрешность около 6", около 185 метров. В чем может быть проблема?(