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

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

Войти

Import KMZ (не KML) в AutoCAD\Civil3D ???

Тема в разделе "Civil 3D", создана пользователем АлексейМанс, 3 янв 2018.

  1. АлексейМанс

    Форумчанин

    Регистрация:
    22 май 2011
    Сообщения:
    4.054
    Симпатии:
    3.928
    Адрес:
    Екатеринбург
    Ребят, не могу победить проблему - как загрузить в кад KMZ? С картинками и аннотациями? Да еще и в МСК (пересчитанной хотябы номинально из WGS). KML пересчитать и примитивы сунуть в виде DXF - не проблема. А вот не только примитивы, а еще и аннотации, да еще и с фотографией - вот тут затык. Может кто решал уже подобную задачу?
     
    #1
    apostoll нравится это.
  2. Sta1917

    Форумчанин

    Регистрация:
    23 мар 2009
    Сообщения:
    143
    Симпатии:
    8
    Адрес:
    СПб
    Пример в студию
     
    #2
  3. i77artur

    Форумчанин

    Регистрация:
    9 окт 2010
    Сообщения:
    1.550
    Симпатии:
    939
    #3
  4. АлексейМанс

    Форумчанин

    Регистрация:
    22 май 2011
    Сообщения:
    4.054
    Симпатии:
    3.928
    Адрес:
    Екатеринбург
    zip на kmz
    --- Сообщения объединены, 3 янв 2018, Оригинальное время сообщения: 3 янв 2018 ---
    не могу додуматься как в нем сформировать файл для импорта в цивил. открыть хоть им, хоть гуглпланетойземля хоть чем еще - не проблема. а вот как это в цивил пихнуть - не ясно. делаю вручную :( координаты примитивов перебиваю, загружаю в цивил, а фоточки к ним ручками или таблицы аннотаций
     

    Вложения:

    #4
  5. i77artur

    Форумчанин

    Регистрация:
    9 окт 2010
    Сообщения:
    1.550
    Симпатии:
    939
    АлексейМанс, Непонятно как картинки загрузить, если в файле их нет. Атрибуты есть...
    Безымянный.jpg
    Боюсь, что не правильно тебя понял...
     
    #5
  6. АлексейМанс

    Форумчанин

    Регистрация:
    22 май 2011
    Сообщения:
    4.054
    Симпатии:
    3.928
    Адрес:
    Екатеринбург
    img-2018-01-04-00-23-25.png

    В файле 4 from forum есть doc.kml - он же текстовый формат в котором есть точки, их координаты в ВГС и атрибуты, в атрибутах кроме названия и описания (notes) есть еще и метаданные (короче тож описания но немного в другом виде их записывает ПО), и к каждой этой точке привязана картинка из папочки files которая тоже внутри этого KMZ файла. Вот как загрузить данные КМЛ (текстовика) - пол беды, ибо они грузятся как на вашей картинке, без аннотаций, а вот как к ним приделать всю семантику + фото... дилемма...


    Гуглпланетаземля это показывает вот так:
    img-2018-01-04-00-27-51.png
     
    #6
  7. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    программно можно попробовать
    фото в Civil вообще не представляю, разве только путь
     
    #7
  8. АлексейМанс

    Форумчанин

    Регистрация:
    22 май 2011
    Сообщения:
    4.054
    Симпатии:
    3.928
    Адрес:
    Екатеринбург
    то есть готовых решений скорее всего нету? а то я уже сомневаться начал может не в ту сторону смотрю, гуглю-гуглю а без ручной работы никак. Как бы настроить в файле цивила и ВГС и МСК-66-1 одновременно не проблема и загружать данные в географических координатах тоже запросто, оставив пересчет на совесть цивилу и введенным параметрам, а вот блин вторичные эти notes и фотографии
    --- Сообщения объединены, 3 янв 2018, Оригинальное время сообщения: 3 янв 2018 ---
    Более корректный файл для отражения всей проблемы во вложении. Тоесть наполненность мы задаем этому файлу сами. Где-то всего 2 строчки
    img-2018-01-04-00-41-28.png
    а где-то много и разных:
    img-2018-01-04-00-40-57.png

    В идеале иметь возможность прямого импорта в AutoCAD хотя бы в примитивах. Но т.к. готового решения нет, пожалуй пора обращаться к программистам xD
    А так было бы круто иметь окошко импорта в котором указать файл, систему координат (заранее подгруженную в .prj или прописанную в программу) и количество нужных к отображению данных - только примитивы, примитивы с названиями, примитивы с названиями и основыми описаниями, примитивы с названиями, основыми описаниями и метаданными ну и последнее еще и с фото, где он бы просто вставлял в миниатюре фотку в точке. Если нужно - растянуть, не нужно - посмотрел - удалил. О как, размечтался xD
     

    Вложения:

    #8
  9. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    вытащить атрибуты из kml/kmz проблема, они там в разных местах бывают
     
    #9
  10. i77artur

    Форумчанин

    Регистрация:
    9 окт 2010
    Сообщения:
    1.550
    Симпатии:
    939
    АлексейМанс, csv - показывает заметки. Можно вытащить координаты точек и заметки 12.jpg
     
    #10
  11. АлексейМанс

    Форумчанин

    Регистрация:
    22 май 2011
    Сообщения:
    4.054
    Симпатии:
    3.928
    Адрес:
    Екатеринбург
    вооо, про то и речь, если глянуть последний файл - там это ярко выраженно. у одной точки данные одни, у другой (т.к. метаданных больше) - другие :(

    так и делаю пока альтернативы нет. и огромный секс с фотографиями, коих тьма :(
     
    #11
  12. i77artur

    Форумчанин

    Регистрация:
    9 окт 2010
    Сообщения:
    1.550
    Симпатии:
    939
    Оффтоп
    Оставь на утро, не мучь голову!
     
    #12
    АлексейМанс нравится это.
  13. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.868
    Симпатии:
    668
    Адрес:
    Маськва
    Если нужно в Civil, и есть Global Mapper, то вектор сохранить GM-ом в mif или в shp, и импортировать _MAPIMPORT.
    Чтобы появились надписи при точках, можно сначала импортировать как точки (или нужные блоки), а потом импортировать как мтекст из поля NAME - выбирается в поле Точки в окне импорта.
    Создадутся и точки, и надписи вроде "пушкина 39".
    Перед импортом можно установить СК с помощью _MAPCSASSIGN.
     
    #13
  14. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    Пересчёт из WGS84 в СК проекта
    Код:
    using Autodesk.Gis.Map;
    using Autodesk.Gis.Map.Project;
    using OSGeo.MapGuide;
     
            public MgCoordinateSystemTransform GetTransform()
            {
                MgCoordinateSystemFactory coordSysFactory = new MgCoordinateSystemFactory();
                MgCoordinateSystemCatalog csCatalog = coordSysFactory.GetCatalog();
                MgCoordinateSystemDictionary csDict = csCatalog.GetCoordinateSystemDictionary();
                MgCoordinateSystem LL84Cs = csDict.GetCoordinateSystem("LL84");
                //
                MapApplication mapApp = HostMapApplicationServices.Application;
                ProjectModel activeProj = mapApp.ActiveProject;
                AppServ.Document acDoc = AppServ.Application.DocumentManager.MdiActiveDocument;
                MgCoordinateSystem activeProjCs = csDict.GetCoordinateSystem(activeProj.Projection);
                return coordSysFactory.GetTransform(LL84Cs, activeProjCs);
            }
     
    #14
    АлексейМанс и Steinar нравится это.
  15. trir

    Форумчанин

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

    Форумчанин

    Регистрация:
    15 апр 2013
    Сообщения:
    71
    Симпатии:
    1
    А можно, если не трудно, чуть подробнее? Как дальше быть с этим кодом? Спасибо!
     
    #16
  17. АлексейМанс

    Форумчанин

    Регистрация:
    22 май 2011
    Сообщения:
    4.054
    Симпатии:
    3.928
    Адрес:
    Екатеринбург
    круто! я там отписал уже!
    --- Сообщения объединены, 25 янв 2018, Оригинальное время сообщения: 25 янв 2018 ---
    разработка продаётся? :)
     
    #17
  18. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    использовать
    Код:
    MgCoordinateSystem LL72Cs = csDict.GetCoordinateSystem("LL72");
    MgCoordinateSystem LL84Cs = csDict.GetCoordinateSystem("LL84");
    MgCoordinateSystem utm10n72Cs = csDict.GetCoordinateSystem("WGS72.UTM-10N");
    MgCoordinateSystem utm10n84Cs = csDict.GetCoordinateSystem("UTM84-10N");
    // geographic to geographic
    MgCoordinateSystemTransform LL72ToLL84 = coordSysFactory.GetTransform(LL72Cs, LL84Cs);
    // LL72ToLL84Coord is (-124.749846111111, 39.7500328381061)
    MgCoordinate LL72ToLL84Coord = LL72ToLL84.Transform(-124.75, 39.75);
    // geographic to projected
    MgCoordinateSystemTransform LL72ToUtm10n84 = coordSysFactory.GetTransform(LL72Cs, utm10n84Cs);
    // the transform result LL72ToUtm10n84Coord is in meters (350086.148700075, 4401477.98122743)
    MgCoordinate LL72ToUtm10n84Coord = LL72ToUtm10n84.Transform(-124.75, 39.75);
    // convert the result to degrees (-124.749846111114, 39.7500328381018)
    MgCoordinate utm10n84LonLatCoord = utm10n84Cs.ConvertToLonLat(350086.148700075, 4401477.98122743);
    // projected to projected
    MgCoordinateSystemTransform utm10n72ToUtm10n84 = coordSysFactory.GetTransform(utm10n72Cs, utm10n84Cs);
    // convert (-124.75, 39.75) to "WGS72.UTM-10N" system units (meters)
    // which is (350072.941601698, 4401473.42938798)
    MgCoordinate utm10n72XYCoord = utm10n72Cs.ConvertFromLonLat(-124.75, 39.75);
    // the result is (350086.148699852, 4401477.98122696)
    MgCoordinate utm10n72ToUtm10n84Coord = utm10n72ToUtm10n84.Transform(350072.941601698, 4401473.42938798);
    http://docs.autodesk.com/MAP/2014/ENU/Developer_Guides/index.html
     
    #18
  19. iSpawn

    Форумчанин

    Регистрация:
    22 янв 2013
    Сообщения:
    168
    Симпатии:
    18
    Адрес:
    Луганск
    Привет, а можно еще раз повторить то что "сделал"? Очень хочется посмотреть.
     
    #19
  20. trir

    Форумчанин

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

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

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