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

Экспорт условных знаков из классификатора operator.rsc

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » Классификаторы и условные знаки
Страницы: Пред. 1 2 3 4 След.
RSS
Экспорт условных знаков из классификатора operator.rsc
 
С размерами пока не разобрался.
Сейчас интересует  другой вопрос - почему, например, условный знак с кодом 009991001020 не масштабируется при задании любого значения в mapSetRscExampleScale, а с кодом 009991001015 - масштабируется.
 
Цитата
Alex52 написал:
С размерами пока не разобрался.
Сейчас интересует  другой вопрос - почему, например, условный знак с кодом 009991001020 не масштабируется при задании любого значения в mapSetRscExampleScale, а с кодом 009991001015 - масштабируется.
Добрый день!

Объект с ключом 009991001020 в классификаторе не имеет свойства "Масштабируемость", а объект с ключом 009991001015 эту опцию имеет.
Для работы функции mapSetRscExampleScale нужно внести правки в классификатор, то есть включить опцию "Масштабируемость".

С уважением, Демиденко Р.А.
 
Цитата
Роман Демиденко написал:
Цитата
Alex52 написал:
С размерами пока не разобрался.
Сейчас интересует  другой вопрос - почему, например, условный знак с кодом 009991001020 не масштабируется при задании любого значения в mapSetRscExampleScale, а с кодом 009991001015 - масштабируется.
Добрый день!

Объект с ключом 009991001020 в классификаторе не имеет свойства "Масштабируемость", а объект с ключом 009991001015 эту опцию имеет.
Для работы функции mapSetRscExampleScale нужно внести правки в классификатор, то есть включить опцию "Масштабируемость".
А как включить эту опцию ?
Делаю так

Код
RSCOBJECT object; mapGetRscObject(hRsc, objNum, &object); object.Scale = 1;

Но не помогает

 
Цитата
Alex52 написал:
А как включить эту опцию ?
Нужно в свойствах классификатора снять галочку "Только чтение".
Далее можно установить необходимую опцию для Объекта.
 
Цитата
Елена Кузнецова написал:
Цитата
Alex52 написал:
А как включить эту опцию ?
Нужно в свойствах классификатора снять галочку "Только чтение".
Далее можно установить необходимую опцию для Объекта.
На файл имеется полный доступ.
Также пробовал функции
Код
mapSetRscObjectScaleLimit(hRsc, objNum, 250);
mapSetRscObjectScale(hRsc, objNum, 1);

Безрезультатно
 
Цитата
Alex52 написал:
На файл имеется полный доступ.
Пробовали  снять  "Только чтение" через Проводник?
Это выполняется в самом классификаторе (не программно)
Изменено: Елена Кузнецова - 10.06.2020 16:18:26
 
Цитата
Елена Кузнецова написал:
Цитата
Alex52 написал:
На файл имеется полный доступ.
Пробовали  снять  "Только чтение" через Проводник?
Это выполняется в самом классификаторе (не программно)
Я понимаю, вот права на файл:
Код
ls -la ./operator.rsc  
-rwxrwxrwx 1 alex alex 5365856 июн  3 11:49 ./operator.rsc
Т.е. полный доступ
 
Если классификатор корректно закрывается. то все изменения сохраняются в файле.

Принудительно сохранить RSC можно функцией:
Код
  // Сохранить классификатор на диск или на сервер после обновления
  // hRsc - идентификатор классификатора карты
  // При ошибке возвращает ноль

_MAPIMP  long int _MAPAPI mapCommitRsc(HRSC hRsc);
Но править RSC программно, тем более operator.rsc, - плохой стиль. Он готовится заблаговременно.
Мы поправим флажки масштабирования объектов. Новая редакция войдет в обновленные версии ГИС Оператор, ГИС Конструктор.
Можем выслать по почте обновление.
 
Цитата
Oleg Belenkov написал:
Но править RSC программно, тем более operator.rsc, - плохой стиль. Он готовится заблаговременно.
Мне вносить изменения и не нужно.
Задача: использовать классификатор в стороннем приложении для формирования на основе его условных знаков в векторном и растровом формате с заданным размером и с учетом наложения семантик.
Цитата
Oleg Belenkov написал:
Можем выслать по почте обновление.
Да, спасибо.

А как быть с текущей версией классификатора ?
Каким образом задать признак "Масштабируемость" для знака. Как уже писал выше пробовал разные функции но результат отрицательный.
Например, эти функции
Код
mapSetRscObjectScaleLimit(hRsc, objNum, 250)
mapSetRscObjectScale(hRsc, objNum, 1)
возвращают значение 1, но ничего не меняется
 
Цитата
Alex52 написал:
возвращают значение 1, но ничего не меняется
Если функция вернула 1, значит значение для объекта objNum установлено.
Страницы: Пред. 1 2 3 4 След.
Читают тему (гостей: 1)



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

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