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

непонятное поведение

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: Пред. 1 2 3 4
RSS
непонятное поведение, непонятное поведение SaveFrameToEmfEx
 
Цитата
mihalych72 написал:
крайне неудобно!!!
мне придется алгоритм поиска переделывать, чтобы хранить результаты поиска и сохранялось выделение отмеченных объектов.

чтобы что-то выделить, надо где-то иметь список того, что выделить.
Цитата

mvMap.SetObjSelected( xFinderPT.MapFind.MapSelect, xFinderPT.MapFindObj.ColorImage, true);

Метод TMapView.SetObjSelected записывает контекст поиска во внутренний MapSelect, что далее для выделения объектов не требует обязательного наличия MapSelect, переданного в первом параметре данного метода.
Поэтому его удаление не должно никак влиять.

GIS ToolKit поставляется с исходными кодами. Вы всегда можете посмотреть, как работает тот или иной метод внутри.

xFinderPT - это некий Ваш объект, как он работает и что делает при удалении, не известно.
С каким компонентом TMapView связаны xFinderPT.MapFind, xFinderPT.MapFindObj, xFinderPT.MapFind.MapObj?

ну а если Вы будете осуществлять выделение DoViewSelect, то отвечающий за перечень выделяемых объектов экземпляр TMapSelect надо оставлять "живым", пока требуется выделение.


Цитата
mihalych72 написал:
когда мне нужно найти объект на карте по Key, как мне лучше искать:
так?
fMapFind.MapSelect.SetSelectKey( aKey, aKey);
или так?
fMapFind.MapSelect.KeyObject( StrToInt( aKey) := true;

Возникла путаница понятий.
Есть уникальный номер объекта на карте (он же ключ - целочисленное значение).
Этот уникальный номер не меняется при изменении карты.
Есть порядковый номер объекта на карте (тоже целочисленное значение). После сортировки карты этот номер меняется.

А еще есть классификационные признаки, определяющие условный знак объекта из цифрового классификатора.
Условный знак имеет внешний код (неизменное целочисленное значение), внутренний код (порядковый номер знака - меняется при добавлении и удалении условных знаков), короткое имя (ключ - короткое символьное значение), длинное имя.

TMapSelect.KeyObject - это  короткое имя (ключ) условного знака в классификаторе карты. См. справку - TMapSelect.KeyObject

Если требуется найти конкретный объект по уникальному номеру, можно не использовать TMapFind, а сразу настроить TMapObj на нужный объект: TMapObj.SeekObject
Если с помощью TMapFind, то SetSelectKey.
 
Цитата
Денис Вицко написал:
TMapObj на нужный объект:  TMapObj.SeekObject
спасибо за помощь. забыл про нее.
про mapobject.key мне известно и как он работает - понятно.

я не новичок. меня азам обучать не нужно. я работал со многими гисами и панорамой тоже, только более 10 лет назад.
нужно освежить знания, а не начинать с нуля.
просьба помочь с проблемами. дальше разберусь сам.

есть порядковый номер объекта на карте - это интересно, но его не использую.
про классификатор в курсе. он активно используется при поиске объектов и вообще как вспомогательные данные гис объектов.

Извините погорячился. постараюсь чтобы больше такого небыло.
Изменено: mihalych72 - 03.11.2022 03:19:54
 
Цитата
Денис Вицко написал:
экземпляр TMapSelect надо оставлять "живым", пока требуется выделение.
спасибо. алгоритмы переделал. работают без DoViewSelect с временным хранением выделенных объектов. все норм.
поиск объектов для отчета сейчас переделал на скрытом объекте mapview. так что выделение там не нужно.
есть спорные ситуации при поиске объектов. вот именно там нужно выделение и фокусировка, либо в демопроектах при отладке алгоритмов.
 
Цитата
Денис Вицко написал:
GIS ToolKit поставляется с исходными кодами. Вы всегда можете посмотреть, как работает тот или иной метод внутри.xFinderPT - это некий Ваш объект, как он работает и что делает при удалении, не известно.С каким компонентом TMapView связаны xFinderPT.MapFind, xFinderPT.MapFindObj, xFinderPT.MapFind.MapObj?
если есть время - разбираюсь по исходникам.
обычно смотрю коменты или смотрю в мануале gtkdoc.pdf

xFinderPT - это мой объект - это надстройка над объектами gtk.
фактически это макросы - объединение операций с перенаправлением вызовов к объектам gtk с минимальным функционалом.
во многом это облегчает работу, чтобы не повторять код по нескольку раз.для текущего проекта удобнее делать так.  в других проектах удобнее по другому.
 
Цитата
Елена Кузнецова написал:
Рекомендуем пройти обучающий курс Геоинформационные технологии Панорама
для меня это не постоянно. я с гисами очень давно плотно работал, а потом вообще нигде не нужно было.
пока нет необходимости. нужно решить конкретную задачу.

если задача потребует углубленных знаний и работы будет много с панорамой - тогда стоит обучиться. сейчас не имеет смысла.
Страницы: Пред. 1 2 3 4
Читают тему (гостей: 1)



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

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