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

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

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

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

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

Да, все верно. Все зависит от классификаторов и файла настройки.
Мы проделали большую работу по подготовки условных знаков для масштабов 500, 2000 и 5000 и настройки файлов соответствия для большей части объектов.
Эти наборы включены в состав инсталляции конвертора.
при экспорте в DXF вместо цельных пунктирных линий получаются наборы штрихов
 
Для классификатора 50t05g.rsc или любого другого необходимо создать библиотеку условных знаков в формате dxf для данного классификатора и выполнить настройку таблицы соответствий. Например, такой вид работ может [URL=http://www.gisinfo.ru/services/map2dxf.htm] выполнить [/URL] наша компания.

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

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

Так должно работать.
[CODE]
   [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];
       }
   }
[/CODE]

Вызов функции:
[CODE]
       {
           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);

       }
[/CODE]

Пожалуйста, вставляйте код не как картинки, а как текст. Это позволит нашим специалистам быстрее повторить Ваш код для отладки и проверки.
А еще лучше проект.
Изменено: Роман Твердов - 03.02.2016 17:44:39
Delphi XE5. Пример newmap - странная работа при создании объекта.
 
Вам необходимо MapView выполнить пересчет габаритов карты после записи объекта, т.к. карта в Вашем случае создается без габаритов (точнее = 0).
[CODE]
...
MapObj1.Commit;
MapView.SetRegion;
MapView.Refresh;
...
[/CODE]
при экспорте в DXF вместо цельных пунктирных линий получаются наборы штрихов
 
Вы делаете все правильно. Конвертор векторной карты в формат DXF в составе ГИС "Карта 2011" позволяет быстро и просто получить графическое изображение в условных знаках, настроенных средствами ГИС. Однако при работе в среде AutoCAD часто применяются специально подготовленные условные знаки. Для их формирования требуется создать файл знаков и файл кодов, что требует много времени, а созданные файлы не несут в себе достаточной гибкости настроек. Поэтому разработана новая программа конвертирования – "Конвертор крупномасштабных планов в формат DXF". Она позволяет получить карту не просто как графическую копию, а как карту в тех условных знаках, которые необходимы Вам в DXF формате. Конвертирование карты основано на файле соответствия, в котором указано представление условных знаков классификатора RSC соответствующими условными знаками классификатора DXF.[URL=http://www.gisinfo.ru/products/map2dxf.htm]Подробнее[/URL]
Delphi XE5. Существует ли в компоненте MapView встроенная возможность увеличения-уменьшения масштаба, рисование линии, и тд
 
Вы можете написать прикладную к задачу к ГИС Карта 2011, которая решала бы Вашу конкретную задачу, при этом иметь широкий функционал для выполнения рутинных операций.
Второй вариант - из набора примеров собрать ваш функционал. Для открытия и поиска - FindObj. Для редактирования - MapEdit
GIS ToolKit Active координаты карты при передвижении мыши
 
Например:
[CODE]
   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[/CODE]

У нас есть множество примеров на Delphi и С++, которые можно [URL=http://gisinfo.ru/download?id=77]скачать[/URL]. В них можно посмотреть реализацию типовых "вещей".
Изменено: Роман Твердов - 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 ... 25 След.



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

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