На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Роман Твердов (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Роман Твердов
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 5 6 7 8 9 10 11 12 13 14 15 ... 24 След.
при экспорте в DXF вместо цельных пунктирных линий получаются наборы штрихов
 
Цитата
Сколько времени у новичка может занять создание таких файлов соответствия и т.п. для другого масштаба?
В основном это зависит от навыков пользователя по созданию стилей линий, блоков и д.р. в среде AutoCAD, а также от количества необходимых условных знаков.
Настройка файла соответствий может быть выполнена в автоматическом режиме для большинства объектов, если условные знаки в AutoCAD создавались с учетом требований описанных в документации конвертора.

При создании знаков стоит учитывать, что не все объекты классификатора rsc возможно однозначно интерпретировать в виде объекта в dxf.
при экспорте в DXF вместо цельных пунктирных линий получаются наборы штрихов
 
Цитата
Т.е. у конвертера нет специализации только на крупных масштабах и конкретных классификаторах?

Да, все верно. Все зависит от классификаторов и файла настройки.
Мы проделали большую работу по подготовки условных знаков для масштабов 500, 2000 и 5000 и настройки файлов соответствия для большей части объектов.
Эти наборы включены в состав инсталляции конвертора.
при экспорте в DXF вместо цельных пунктирных линий получаются наборы штрихов
 
Для классификатора 50t05g.rsc или любого другого необходимо создать библиотеку условных знаков в формате dxf для данного классификатора и выполнить настройку таблицы соответствий. Например, такой вид работ может выполнить наша компания.

1. Координаты объектов при конвертировании не изменяются, а передаются как есть. Проблема заключается, скажем так, в сложных типах объектов, для которых невозможно в Автокаде создать стиль линии. Попробуйте выгрузить в dxf в режиме Схема, при котором объекты выгружаются в схематическом виде.
2. Средствами текстового редактора. Подробнее смотрите справку. Кроме этого в состав инсталляции ГИС Карта 2011 входит файл 2000.d14
работа с функцией поиска по семантике selSearchName
 
Похоже, что неправильно выделяется память под двумерный массив в структуре.

И кроме этого, если правильно помню, то в функцию надо передавать переменную типа TASKPARM, а у Вас TASKPARMEX

Так должно работать.
Код
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
    public struct ARRAYNAME              // Параметры вызова диалогов
    {
        
     public int Code;         // Код семантики для поиска
     public int Title;         // Признак учета подписей
     public int Count;         // Количество введенных названий
     // Массив введенных названий для поиска по имени
     [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4096)]
     public char[,] semname;
       
        public void Init()
        {
          Code  = 0;         // Код семантики для поиска
          Title = 0;         // Признак учета подписей
          Count = 0;         // Количество введенных названий
          semname = new char[16,256]; 
        }
    }


Вызов функции:
Код
        {
            TASKPARM parm = new TASKPARM();
            parm.Init();
            ARRAYNAME arr = new ARRAYNAME();
            arr.Init();
            int iret = MapControl.MapForms.selSearchName(mvMap.MapHandle, mvMap.ViewSelectHandle, ref arr, ref parm);

        }


Пожалуйста, вставляйте код не как картинки, а как текст. Это позволит нашим специалистам быстрее повторить Ваш код для отладки и проверки.
А еще лучше проект.
Изменено: Роман Твердов - 03.02.2016 17:44:39
Delphi XE5. Пример newmap - странная работа при создании объекта.
 
Вам необходимо MapView выполнить пересчет габаритов карты после записи объекта, т.к. карта в Вашем случае создается без габаритов (точнее = 0).
Код
  
...
MapObj1.Commit; 
MapView.SetRegion;
MapView.Refresh;
...
при экспорте в DXF вместо цельных пунктирных линий получаются наборы штрихов
 
Вы делаете все правильно. Конвертор векторной карты в формат DXF в составе ГИС "Карта 2011" позволяет быстро и просто получить графическое изображение в условных знаках, настроенных средствами ГИС. Однако при работе в среде AutoCAD часто применяются специально подготовленные условные знаки. Для их формирования требуется создать файл знаков и файл кодов, что требует много времени, а созданные файлы не несут в себе достаточной гибкости настроек. Поэтому разработана новая программа конвертирования – "Конвертор крупномасштабных планов в формат DXF". Она позволяет получить карту не просто как графическую копию, а как карту в тех условных знаках, которые необходимы Вам в DXF формате. Конвертирование карты основано на файле соответствия, в котором указано представление условных знаков классификатора RSC соответствующими условными знаками классификатора DXF.Подробнее
Delphi XE5. Существует ли в компоненте MapView встроенная возможность увеличения-уменьшения масштаба, рисование линии, и тд
 
Вы можете написать прикладную к задачу к ГИС Карта 2011, которая решала бы Вашу конкретную задачу, при этом иметь широкий функционал для выполнения рутинных операций.
Второй вариант - из набора примеров собрать ваш функционал. Для открытия и поиска - FindObj. Для редактирования - MapEdit
GIS ToolKit Active координаты карты при передвижении мыши
 
Например:
Код
    Private Sub aMvMap_OnMouseMove(ByVal sender As System.Object, ByVal e As AxaxGisToolKit.IaxMapViewEvents_OnMouseMoveEvent) Handles aMvMap.OnMouseMove
        Dim xx As Double
        Dim yy As Double

        Const Pi = 3.1415926535

        aPoint1.PlaceInp = axGisToolKit.TxPPLACE.PP_PICTURE
        aPoint1.PlaceOut = axGisToolKit.TxPPLACE.PP_GEO
        aPoint1.SetPoint(aMvMap.MapLeft + e.x, aMvMap.MapTop + e.y)
        aPoint1.GetPoint(xx, yy)
        xx = xx * 180 / PI
        yy = yy * 180 / PI

        Label1.Text = "B = " + Str(xx) + " L = " + Str(yy)
    End Sub


У нас есть множество примеров на Delphi и С++, которые можно скачать. В них можно посмотреть реализацию типовых "вещей".
Изменено: Роман Твердов - 28.01.2016 09:50:48
Некорректный перевод координат на большой карте
 
Здравствуйте!
Координаты пересчитываются правильно.
У Вас многолистовая карта, поэтому при создании объекта (mapCreateObject) необходимо указывать для какого листа создается объект. По умолчанию это первый лист.
При работе с многолистовыми картами для сохранения объектов лучше пользоваться функциями mapCommitWithPlace...
И не забудьте про mapFreeObject для каждого созданного hobj.
работа с функцией поиска по семантике selSearchName
 
Рекомендуется выполнить для каждого ранее зарегистрированного OCX команду: regsvr32 /u <путь к директории\>axGisToolKit.ocx
Директорию, в которую Вы установили GTK Active, можно удалить вручную. В случае установки новой версии инструментария файлы будут заменены.
Страницы: Пред. 1 ... 5 6 7 8 9 10 11 12 13 14 15 ... 24 След.



© КБ Панорама, 1991-2023

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности