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

замена классификатора

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
замена классификатора
 
Здравствуйте господа разработчики !
Тут пару месяцев назад была тема про подмену классифкатора в карте с дальнейшей сортировкой карты
Вопрос:
Подскажите пожалуйста функцию, которая выполняет прямую замену классификатора в карте
Стандартные шаблоны поиска на форуме mapSetRsc* mapSetMap*  *MapRsc* результата  не дали
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Классификатор можно выбирать при загрузке из SXF.
 
Здравствуйте!

-закрываем карту;
-переименовываем файл нового классификатора и копируем поверх "старого" в папку с картой;
-открываем карту и выполняем сортировку.
И все дела.
В коде - строк 6-8.

С Уважением, Болотов В.И.
 
Столкнулся с такой проблемой и пока что не могу найти ее решение.
Создал свой классификатор и периодически в него добавляю новые объекты или меняю вид существующих. Чтобы иметь возможность использовать изменения на картах, я в существующих пользовательских картах вручную заменяю файл классификатора на диске. Работаю дальше, вроде все хорошо, но при закрытии программы и повторном ее запуске происходит хаотичная беспорядочная перекодировка объектов карты. Стрелочки становятся кружочками, линейные становятся векторными, код одних объектов меняется на совершенно не связанный другой. Исправляю все обратно, меняю тип объектов на нужный, и следующая перезагрузка выдает тоже самое. Что делать, чтобы этого не происходило? Как этого избежать? Что нужно учесть в таком случае? Как правильно вносить изменения в классификатор и как его заменять, если нужно?
Изменено: Сергей Горбачик - 21.03.2015 13:27:29
 
Много чего меняете, но это не должно влиять на качество результата.
Есть ощущение, то меняете в одном классификаторе, а карта работает с другим.
 
а можно чуток конкретики в ответе? а то немного не понимаю
 
Цитата
Сергей Горбачик пишет:
толкнулся с такой проблемой и пока что не могу найти ее решение.
Создал свой классификатор и периодически в него добавляю новые объекты или меняю вид существующих. Чтобы иметь возможность использовать изменения на картах, я в существующих пользовательских картах вручную заменяю файл классификатора на диске. Работаю дальше, вроде все хорошо, но при закрытии программы и повторном ее запуске происходит хаотичная беспорядочная перекодировка объектов карты. Стрелочки становятся кружочками, линейные становятся векторными, код одних объектов меняется на совершенно не связанный другой.
Цитата
Сергей Горбачик пишет:
а можно чуток конкретики в ответе? а то немного не понимаю
можно.
При корректировке классификатора, категорически не рекомендуется "подключать карту" к классификатору другого состава с таким же именем.
Это означает что.
Допустим у Вас есть "карта А" настроенная на классификатор ХХХ.rsc расположенный в папке с этой картой. Другой такой же классификатор ХХХ.rsc расположен в папке с ГИС Картой. Если Вы удаляете классификатор в папке с картой, ядро автоматически "цепляет" классификатор который в папке ГИС Карта в результате - перекодировка, и в большинстве случаев некорректная.

Механизм сбоя:
Дело в том, что объекты на карте ссылаются на внутренний индекс своего вида - в классфикатор. Каждая коррекция классификатора сопровождается его полной пересборкой, которая, к сожалению, сопровождается смещением этих индексов. Простыми словами, объект "колодезь" до редактирования может иметь внутренний индекс 16, а после сохранения классификатора - 17 или 15. Сохранение сопровождается перекодировкой подклбченной карты. Удаление или перемещение классификатора - цепляет классификатор с ГИС Карты и в силу того, что он полностью совпадает по составу и каким то внутренним "маркерам" по которым принимается решение о перекодировке - карта не перекодируется, а объекты "замешиваются как тесто"

как то так  :oops:
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Если Вы программно меняете классификатор, то нужно вызывать для карты функцию mapAdjustData для обновления состояния в памяти.
Страницы: 1
Читают тему (гостей: 1)



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

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