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

Привязка растра по одной точке, загрузка изображения в формат RSW

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: Пред. 1 2 3 4 След.
RSS
Привязка растра по одной точке, загрузка изображения в формат RSW, GISToolKit Active C#
 
Ошибся в ответе. Для MapRst в документации полная аналогия (подскажите, может в документацию надо что-то добавить для ясности процесса).

aiMapRsts

Доступ к растровой  карте по порядковому номеру.

property  MapRsts[NumberOrName:  OleVariant]: aiMapRst;

Описание:
Свойство предоставляет доступ к  свойствам экземпляра класса растровой карты.
Растровая карта определяется  порядковым номером в списке или именем ее файла (требуется полный путь).  
Параметр NumberOrName определяет порядковый номер  растровой карты или полное имя файла растровой карты.
Внутри объекта значение  NumberOrName  анализируется  функцией VarType. В случае если результат VarType = varString значение  интерпретируется как полный путь к файлу, если же VarType = varInteger параметр  считается числом и интерпретируется как номер растра, в цепочке  растров

Для программной среды, не поддерживающей  индексные свойства - предусмотрен метод
aiMapRsts. MapRsts_get
function  MapRsts_get (NumberOrName: OleVariant): aiMapRst;  
 
А теперь поняла, наконец-то получилось. Думаю в документации в начале описания aiMapRst просто надо упомянуть, что доступ к методам и свойствам осуществляется посредством  aiMapRsts.MapRsts_get ( object NumberOrName)...Спасибо за ответы.

Правда теперь к примеру при таком вызове:  
Код
 MapView1.MapRsts.get_MapRsts(RswName[0].ToString()).SetRstBorder(MapObj1.ObjHandle);                        
возникает ошибка   "AxaxGisToolKit.AxaxcMapView.MapRsts.get": явный вызов оператора или метода доступа невозможен "
Изменено: Дарья Лунченко - 08.07.2016 23:30:02
 
 Проблема исчезла, правда функция выдает нулевое значение,может что то не так передаю? Создаю объект и устанавливаю рамку по только что созданному объекту:
Код
MapView1.MapRsts.get_MapRsts(RswName[0].ToString()).SetRstBorder(MapObj1.ObjHandle);
И еще подскажите пожалуйста данная функция _MAPIMP long int _MAPAPI mapSetRstBorder(HMAP hMap, long int number, HOBJ info); , а также aiMapRst.SetRstBorder устанавливают рамку растра только при условии открытой векторной карты ?
Изменено: Дарья Лунченко - 10.07.2016 15:20:36
 
Вопрос немного настораживает, в плане, когда обсуждается работоспособность функции: Карта должна быть не только открыта (должен быть реальный hmap открытой карты), но и hobj должен быть от объекта на открытой карте hmap).
 
Я просто к тому веду, что ,к примеру, в ГИС Карте можно установить рамку растра только при открытом растре. В этом и вопрос есть ли функция с помощью которой это можно реализовать?  
Изменено: Дарья Лунченко - 10.07.2016 20:28:17
 
Вы открываете растр без векторной карты и для него возвращается HMAP, с которым работаете функциями АПИ
 
 Еще вопрос как тогда передать hobj объекта, я же на растре не могу объект нарисовать _MAPIMP long int _MAPAPI mapSetRstBorder(HMAP hMap, long int number, HOBJ info); ? К примеру если использую выделение по области с помощью axMapSelectRect то ничего не происходит и рамка не устанавливается?
 
Область на растре выбирается (растр должен иметь координаты привязки в паспорте), но для создания hobj нужна векторная карта (можно создать временную).
 
       Спасибо за ответы. Подскажите еще пожалуйста, создаю временную карту функцией  hTempMap = RstAPI.mapCreateAndAppendTempSite(MapView1.MapHandle, rswname);, почему когда я далее пытаюсь включить процесс создания нового объекта MapEditMetric1.MetEditMode = axGisToolKit.TxEditMode.emCreate; MapEditMetric1.StartAction(); ничего не происходит, при этом если работаю с выделением по области, и создаю объект следующей функцией MapObjForSelect.CreateObjectByExcode(1, (int)axGisToolKit.TxMetricType.IDFLOAT2, 1000000005, (int)axGisToolKit.TxObjectLocal.OL_SQUARE); то все работает и растр ограничивается рамкой?
Скорей всего дело в хендле  MapView1, который после создания временной остается настроен на растр? Как его изменить на хендл временной карты ?
Изменено: Дарья Лунченко - 12.07.2016 13:21:32
 
Может у вас MapEditMetric.MapObj настроен не на ту карту (временную).
Страницы: Пред. 1 2 3 4 След.
Читают тему (гостей: 1)



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

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