WKT формат и численное задание датума

Тема в разделе "Программы для пересчета координат и поиска ключей", создана пользователем Georg Keneberg, 11 ноя 2020.

  1. Georg Keneberg

    Georg Keneberg Форумчанин

    ::biggrin24.gif:: Тут уж не проблема знаки перепроверить - я ее и использовал как шаблон для вывода строки ... буду искать ошибки тогда))))
    Код:
     //Для проекции "Поперечная Меркатора", геодезическая, со своим датумом
                    string Full_WKT2 = $"BOUNDCRS[SOURCERS[PROJCRS{K}{CS_name}{K},BASEGEOGCRS[{K}Unknown datum based upon the {Ellipsoid_Name} ellipsoid{K}," +
                        $"DATUM[{K}{CS_Datum_Name}{K},ELLIPSOID[{K}{Ell_descr_Name}{K},{Ell_MajorAxis},{Ell_Flattening:f8},LENGTHUNIT[{K}metre{K},1,ID[{K}EPSG{K},9001]]]]," +
                        $"PRIMEM[{K}Greenwich{K},0,ANGLEUNIT[{K}degree{K},0.0174532925199433],ID[{K}EPSG{K},8901]]],CONVERSION[{K}{CS_name}{K},METHOD[{K}Transverse Mercator{K},ID[{K}EPSG{K},9807]]," +
                        $"PARAMETER[{K}Latitude of natural origin{K},{CS_LongLONO},ANGLEUNIT[{K}degree{K},0.0174532925199433],ID[{K}EPSG{K},8801]],PARAMETER[{K}Longitude of natural origin{K},{CS_LatOFO}," +
                        $"ANGLEUNIT[{K}degree{K},0.0174532925199433],ID[{K}EPSG{K},8802]],PARAMETER[{K}Scale factor at natural origin{K},{CS_Scale},SCALEUNIT[{K}unity{K},1],ID[{K}EPSG{K},8805]]," +
                        $"PARAMETER[{K}False easting{K},{CS_FE},LENGTHUNIT[{K}metre{K},1],ID[{K}EPSG{K},8806]],PARAMETER[{K}False northing{K},{CS_FN},LENGTHUNIT[{K}metre{K},1],ID[{K}EPSG{K},8807]]],CS[Cartesian,2]," +
                        $"AXIS[{K}(E){K},east,ORDER[1],LENGTHUNIT[{K}metre{K},1,ID[{K}EPSG{K},9001]]],AXIS[{K}(N){K},north,ORDER[2],LENGTHUNIT[{K}metre{K},1,ID[{K}EPSG{ K},9001]]]]]," +
                        $"TARGETCRS[GEOGCRS[{K}WGS 84{K},DATUM[{K}World Geodetic System 1984{K},ELLIPSOID[{K}WGS 84{K},6378137,298.257223563,LENGTHUNIT[{K}metre{K},1]]],PRIMEM[{K}Greenwich{K},0,ANGLEUNIT[{K}degree{K},0.0174532925199433]]," +
                        $"CS[ellipsoidal,2],AXIS[{K}geodetic latitude(Lat){K},north,ORDER[1],ANGLEUNIT[{K}degree{K},0.0174532925199433]],AXIS[{K}geodetic longitude(Lon){K},east,ORDER[2],ANGLEUNIT[{K}degree{K},0.0174532925199433]],ID[{K}EPSG{K},4326]]]," +
                        $"ABRIDGEDTRANSFORMATION[{K}{Datum_descr_Name}{K},METHOD[{K}Coordinate Frame rotation(geocentric domain){K},ID[{K}EPSG{K},9607]],PARAMETER[{K}X-axis translation{K},{a1},LENGTHUNIT[{K}metre{K},1.0],ID[{K}EPSG{K},8605]]," +
                        $"PARAMETER[{K}Y-axis translation{K},{a2},LENGTHUNIT[{K}metre{K},1.0],ID[{K}EPSG{K},8606]],PARAMETER[{K}Z-axis translation{K},{a3},LENGTHUNIT[{K}metre{K},1.0],ID[{K}EPSG{K},8607]]," +
                        $"PARAMETER[{K}X-axis rotation{K},{a4:f8},ANGLEUNIT[{K}arc-second{K},4.84813681109535E-06],ID[{K}EPSG{K},8608]],PARAMETER[{K}Y-axis rotation{K},{a5:f8},ANGLEUNIT[{K}arc-second{K},4.84813681109535E-06],ID[{K}EPSG{K},8609]]," +
                        $"PARAMETER[{K}Z-axis rotation{K},{a6:f8},ANGLEUNIT[{K}arc-second{K},4.84813681109535E-06],ID[{K}EPSG{K},8610]],PARAMETER[{K}Scale difference{K},{a7_1},SCALEUNIT[{K}parts per million{K},1E-06],ID[{K}EPSG{K},8611]]]]";
                   
    Даааа, тема ооочень интересная
     
  2. Georg Keneberg

    Georg Keneberg Форумчанин

    Блин, накосячил с SOURCECRS написав его как SOURCERS, и там забыл одну "]" ::mad24.gif:: еще. В целом QGIS не ругается хотя бы на параметры. В приложении пример для прочих проекций
    В целом, мне нравится даже такой способ задания систем координат - помучится только 1 раз для вывода строки с этими кавычками и скобочками, потом уже решение универсальное
    Пойду попробую для других типов проекций)))))
     

    Вложения:

  3. trir

    trir Форумчанин

    Последнее редактирование: 13 ноя 2020
  4. TOWGS84[23.57,-140.95,-79.8,0.00000000,0.35000000, 0.79000000,-0.22]

    Прошу подсказать, какие это единицы измерения, секунды или градусы?
     
  5. zvezdochiot

    zvezdochiot Форумчанин

    Секунды. Последнее ppm.
     
  6. Спасибо!
     
  7. Steinar

    Steinar Форумчанин

    С этим WKT вообще приколы - делаешь его в одной программе, кидаешь в другую - получается херня.
    Каждый сервис или программа генерит WKT как хочет и понимает как хочет.
     
  8. X-Y-H

    X-Y-H Администратор Команда форума

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