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

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

Войти

  1. Информационное сообщение:
    - сайт политически нейтрален;
    - все сообщения и темы приводятся к нейтральной позиции;
    - при отсутствии такой возможности сообщения и темы удаляются;
    - если хотите поговорить о политике или полит-экономике идите на другой интернет-ресурс;
    - мы действуем в рамках действующего законодательства РФ.

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

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

  1. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.246
    Симпатии:
    924
    Адрес:
    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
    Симпатии:
    16
    Адрес:
    Санкт-Петербург
    Ну вот ... GetCategories() не возвращает вообще ничего (если дописать ToString ();) а AddCoordinateSystem непонятно как работает - по крайней мере у меня не получилось так создать
    --- Сообщения объединены, 11 ноя 2020, Оригинальное время сообщения: 11 ноя 2020 ---
    Попробовал такой вариант (с объявлением словаря категорий не через MgCoordinateSystemCategoryDictionary а через var) - тоже нет изменения библиотеки :(
     
    #122
  3. trir

    Форумчанин

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

    Форумчанин

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

    Вложения:

    #124
  5. trir

    Форумчанин

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

    Форумчанин

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

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.246
    Симпатии:
    924
    Адрес:
    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
    Сообщения:
    50
    Симпатии:
    9
    Адрес:
    Ярославль
    Помогите пожалуйста.
    Есть Генплан отрисованный в Автокаде в координатах формат 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.246
    Симпатии:
    924
    Адрес:
    gnomtrir@mail.ru
    https://mapbasic.ru/msk76

    ::rofl::
     
    #129
  10. Max_Sim

    Форумчанин

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

    Форумчанин

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

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

    Форумчанин

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

    Форумчанин

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

    Х=2184823.8374
    У=369174.3965


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

    Вложения:

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

    Форумчанин

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

    Форумчанин

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

    Форумчанин

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

    Форумчанин

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

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

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

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