Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Задание системы координат

Тема в разделе "Map 3D", создана пользователем anton253, 17 апр 2012.

  1. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    у MgCoordinateSystemCategory есть методы AddCoordinateSystem и RemoveCoordinateSystem
    у MgCoordinateSystem есть GetCategories()

    Код:
     public static string CStoCategory() //string Category_name
    {
    MgCoordinateSystemFactory coordSysFactory = new MgCoordinateSystemFactory();
    MgCoordinateSystemCatalog csCatalog = coordSysFactory.GetCatalog();
     
    MgCoordinateSystemDictionary csDict = csCatalog.GetCoordinateSystemDictionary();
     
    MgCoordinateSystemEnum csDictEnum = csDict.GetEnum();
    int csCount = csDict.GetSize();
    MgStringCollection csNames = csDictEnum.NextName(csCount);
     
     
    MgCoordinateSystem cs = null;
    string csName = null;
    bool csProtect;
     
    var cDict = csCatalog.GetCategoryDictionary().GetCategory("NewCategory");
     
    //Перебираем словарь СК
    int i1 = 0;
    for (int i2 = 0; i2 < csCount; i2++)
    {
    csName = csNames.GetItem(i2);
    cs = csDict.GetCoordinateSystem(csName);
    csProtect = cs.IsProtected();
     
    //Условие - если данная СК пользовательская (импортированная из XML)
    if (csProtect == false)
    {   //Пусть для примера для созданной категории с одной внесеной ск по имени "NewCategory"
    //new .AddCoordinateSystem(csName);
    cDict.AddCoordinateSystem(csName);
    i1++;
    }
    }
    return i1.ToString();
    }
     
    #121
  2. Georg Keneberg

    Форумчанин

    Регистрация:
    6 мар 2019
    Сообщения:
    61
    Симпатии:
    17
    Адрес:
    Санкт-Петербург
    Ну вот ... GetCategories() не возвращает вообще ничего (если дописать ToString ();) а AddCoordinateSystem непонятно как работает - по крайней мере у меня не получилось так создать
    --- Сообщения объединены, 11 ноя 2020, Оригинальное время сообщения: 11 ноя 2020 ---
    Попробовал такой вариант (с объявлением словаря категорий не через MgCoordinateSystemCategoryDictionary а через var) - тоже нет изменения библиотеки :(
     
    #122
  3. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    как ты используешь эту либу?
     
    #123
  4. Georg Keneberg

    Форумчанин

    Регистрация:
    6 мар 2019
    Сообщения:
    61
    Симпатии:
    17
    Адрес:
    Санкт-Петербург
    Как-то так
    А у тебя оно работает? Если да - тогда сделаю через плагин к программе а не в Dynamo как сейчас
     

    Вложения:

    #124
  5. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    #125
  6. Georg Keneberg

    Форумчанин

    Регистрация:
    6 мар 2019
    Сообщения:
    61
    Симпатии:
    17
    Адрес:
    Санкт-Петербург
    #126
  7. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    Код:
            [CommandMethod("test1")]
            public void test1()
            {
                var editor = Application.DocumentManager.MdiActiveDocument.Editor;
                var sRes = editor.GetString("Get CS Name:");
     
                if (sRes.Status == PromptStatus.OK)
                {
                    MgCoordinateSystemFactory coordSysFactory = new MgCoordinateSystemFactory();
                    MgCoordinateSystemCatalog csCatalog = coordSysFactory.GetCatalog();
                    MgCoordinateSystemDictionary csDict = csCatalog.GetCoordinateSystemDictionary();
     
                    var cs = csDict.GetCoordinateSystem(sRes.StringResult);
                    var cgs = cs.GetCategories();
                    for (var i = 0; i < cgs.GetCount(); i++)
                    {
                        editor.WriteMessage(cgs.GetItem(i));
                    }
                }
            }
     
    #127
  8. Max_Sim

    Форумчанин

    Регистрация:
    17 янв 2012
    Сообщения:
    54
    Симпатии:
    16
    Адрес:
    Ярославль
    Помогите пожалуйста.
    Есть Генплан отрисованный в Автокаде в координатах формат DWG.
    Необходимо сделать из него файл с расширением GML, это пытаюсь сделать в AutoCAD Map 3D 2022.
    Но возникла проблема с СК.
    Попробую описать что именно:
    Есть файл "шаблон" разрешения gml данные с которого находятся рядом с моими данными, нашёл сайт где определяются параметры СК.
    Определил параметры WGS-84/Pseudo-Mercator(EPSG:3857), так же на сайте сразу визуально на карте показывает куда ваш чертёж попадает (всё ОК)
    В Map3D выбираю задать СК из списка нашёл такие же параметры как и определились они там одни с "такими цифрами", присваиваю и импортирую dwg в ГИС файл с расширением gml. Закидываю файл с результатом на сайт, там параметры определяются такие же как и у "шаблона" но вот визуально карта попадает в Африку, то есть вообще даже не рядом. А должен попасть в Ярославскую область, Некрасовский район, р.п. Некрасовское.
    Стал пробовать забивать другие параметры СК но пока не попал даже в Россию, хотя многие данные определяются как в исходнике WGS-84/Pseudo-Mercator(EPSG:3857).
    Кто может помочь с данной проблемой, а именно подсказать правильные параметры СК.
     
    #128
  9. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    https://mapbasic.ru/msk76

    ::rofl::
     
    #129
  10. Max_Sim

    Форумчанин

    Регистрация:
    17 янв 2012
    Сообщения:
    54
    Симпатии:
    16
    Адрес:
    Ярославль
    А что не так? Map3d есть экспорт в gml. Поясните что смешного?
     
    #130
  11. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    ::rofl::
    Схему читал?

    Изучай
     
    #131
  12. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.868
    Симпатии:
    668
    Адрес:
    Маськва
    Что за сайт?
    Первым делом посмотрите в dwg рабочие единицы.
    И какие там значения координат примерно?
     
    #132
  13. Max_Sim

    Форумчанин

    Регистрация:
    17 янв 2012
    Сообщения:
    54
    Симпатии:
    16
    Адрес:
    Ярославль
    https://mygeodata.cloud/converter/gml-to-dxf
    Искал конвертер для gml в dwg, наткнулся на такой который сразу показывает куда ложится чертёж.

    Х=2184823.8374
    У=369174.3965


    Прикрепил файл который ложится правильно куда надо, и свой файл который надо задать координаты.
     

    Вложения:

    • Проба.zip
      Размер файла:
      5,5 МБ
      Просмотров:
      3
    #133
  14. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.868
    Симпатии:
    668
    Адрес:
    Маськва
    У Вас в dwg рабочие единицы - футы.
    _UNITS
    Попробуйте все то же самое, что делали, но перед этим установить метры.
     
    #134
  15. Max_Sim

    Форумчанин

    Регистрация:
    17 янв 2012
    Сообщения:
    54
    Симпатии:
    16
    Адрес:
    Ярославль
    Попробовал, не помогло.
     
    #135
  16. igor kruchkovskiy

    Форумчанин

    Регистрация:
    10 июн 2012
    Сообщения:
    3.415
    Симпатии:
    1.824
    Адрес:
    Астрахань
    У Вас координаты африканские:)
     
    #136
    Последнее редактирование: 5 окт 2022
  17. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.868
    Симпатии:
    668
    Адрес:
    Маськва
    Вам же написал trir, что у Вас МСК76. (Я, правда, тоже не сразу заметил его ссылку).
    Если в Вашем файле назначить МСК76, зона 2, и экспортировать в gml с преобразованием в WGS-84/Pseudo-Mercator(EPSG:3857), то все ок.

    Для этого нужно сначала установить у себя описания МСК - GitHub - GeorgGrebenyuk/MSK_for-Autodesk-Civil-3D: Сборник русских систем координат для AutoCAD Civil 3D
     
    #137
    igor kruchkovskiy нравится это.
  18. Max_Sim

    Форумчанин

    Регистрация:
    17 янв 2012
    Сообщения:
    54
    Симпатии:
    16
    Адрес:
    Ярославль
    Спасибо, всё помогло.
    Сначала правда прочитал не правильно и не получалось. Но потом увидел Вашу фразу МСК76/2 и ПРЕОБРАЗОВАНИЕ В WGS84, я при экспорте не ставил галочку преобразовать и из-за этого всегда летело всё в африку.

    Так же чертёж менял с футов на метры, командой DWGUNITS, с сайта https://knowledge.autodesk.com/ru/s...rt-imperial-unit-drawing-to-metric-units.html
    Вдруг кому то понадобится.

    Спасибо всем огромное, кто помог .
     
    #138
    TulGeo, АлексЮстасу и igor kruchkovskiy нравится это.
  19. Sergey_mark

    Регистрация:
    22 сен 2020
    Сообщения:
    16
    Симпатии:
    0
    Товарищи, подскажите, пытаюсь мск 71.1 создать в Civil 2021. Она на базе СК95. Я в библиотеке и эллипсоид создал и референц-эллипсоид и параметры преобразования (7 параметров от СК 95 к WGS84) задал, пути преобразования в одну и в другую сторону, а он эти преобразования не видит. Что делать, как быть? Безымянный.jpg
     
    #139
  20. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.868
    Симпатии:
    668
    Адрес:
    Маськва
    Пока - на всякий случай - уже описанной МСК-71 почему-то недостаточно?
    Russia-MSK71-Zona1
    Russia-MSK71-Zona2

    Созданы GeorgGrebenyuk:
    1.2. Состав пользовательской библиотеки и основные понятия - MSK for Civil 3D (gitbook.io)
    GitHub - GeorgGrebenyuk/MSK_for-Autodesk-Civil-3D: Сборник русских систем координат для AutoCAD Civil 3D
     
    #140
    sergtor и igor kruchkovskiy нравится это.

Поделиться этой страницей

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