1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны перебои в работе.
    Скрыть объявление

Пересчет координат с помощью Justin и Tracy

Тема в разделе "Javad", создана пользователем Namolem, 5 авг 2013.

  1. Добрый день. Нужно пересчитать координаты между МСК-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 метров. В чем может быть проблема?(
     
  2. а вы не пробовали пересчитать в модуле локализация в ПО Justin хотелось бы узнать какие результаты будут там.
     
  3. А что такое модуль локализации? У меня есть две программы от джастина - Coordinate System Manager и сам Justin. Результаты там совпадают с Tracy RTK.

    Вроде бы нашел проблему - в DotSpatial используется формула Coordinate Frame Rotation, а в ПО от Javad - Position Vector Transformation, соответственно меняются знаки у Rx Ry Rz. Это увеличило точность до 5 метров, возможно теперь дело в высоте? Кто-нибудь знает, как в DotSpatial.Projections задаются геоиды?
     
  4. Не у кого не возникало такой ошибки при запуске координатного калькулятора в Coordinate System Editor (в Редакторе Систем Координат)? Не знаю что делать.
    Ошибка Редактора Системы Координат.jpg
     
  5. 100

    100 Форумчанин

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление