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

Отрисовка и масштабирование в MapScreen

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Отрисовка и масштабирование в MapScreen
 
Здравствуйте. Работаю с "GIS ToolKit Free" v.12.5.2. Для отображения карты использую MapScreen. Ситуация следующая:
1) Открываю некоторый Sit в MapScreen (всё отображается корректно).
2) Отключаю отображение MapScreen1->MapView = false;
3) Произвожу обработку карты, в результате которой на неё добавляется большое количество объектов, в результате чего SIT растягивается относительно своего исходного размера
4) Изменяю масштаб отображения на весь компонент MapScreen1->ShowAllMapInWindow();
5) Сортирую объекты карты по слоям MapScreen1->MapSort(true,false);
6) Включаю отображение MapScreen1->MapView = true; (всё отображается корректно)
7) Пытаюсь изменить масштаб отображения MapScreen1->ViewScale = 50000 (число не имеет значения), !и вот тут компонент перестаёт отображать карту совсем.!

При дальнейших попытках изменения масштаба в большую или меньшую сторону картина не меняется, только полосы прокрутки подстраиваются под размер карты.
MapScreen1->Repaint() не помогает.
Повторно открыв Sit наблюдаю всё тот же пустой серый экран. Gis Panorama открывает и отображает без проблем.

Если не изменять MapScreen1->MapView в процессе обработки карты, отображение и масштабирование работают корректно.

Пытался воссоздать эту же проблему на пустом Sit'е просто включив и отключив MapScreen1->MapView, но данной проблемы не возникло.
Подозреваю что проблема именно в изменении размера Sit'а.

Подскажите пожалуйста, является ли данный результат следствием моей ошибки с использованием MapScreen1->MapView\MapScreen1->ViewScale или же проблема в чём то другом.
Заранее спасибо.
Изменено: Сергей Алексеев - 07.12.2017 14:42:11 (Опечатка)
 
Вопрос: "Повторно открыв Sit наблюдаю всё тот же пустой серый экран. Gis Panorama открывает и отображает без проблем. " означает ли это, что пропустив Ваше многошаговое описание и открывая созданную карту мы получаем эффект, при котором карта не отображается? Если так, то просьба прислать такую карту на gisga@yandex.ru.
 
Цитата
Вопрос: "Повторно открыв Sit наблюдаю всё тот же пустой серый экран. Gis Panorama открывает и отображает без проблем. " означает ли это, что пропустив Ваше многошаговое описание и открывая созданную карту мы получаем эффект, при котором карта не отображается? Если так, то просьба прислать такую карту на gisga@yandex.ru.
Открывается только в панораме, MapScreen отобразить не может. Карту выслал.
 
После выполнения сортировки надо вызвать метод MapScreen->UpdatePictureBorder для обновления габаритов карты.
А затем надо уже MapScreen1->ShowAllMapInWindow(); , чтобы отобразить всю карту в окне.
 
Цитата

После выполнения сортировки надо вызвать метод MapScreen->UpdatePictureBorder для обновления габаритов карты.
А затем надо уже MapScreen1->ShowAllMapInWindow(); , чтобы отобразить всю карту в окне.

Попробовал данную последовательность, компонент по прежнему отказывается отображать Sit. Проблему решил поменяв последовательность команд, сначала разрешив отображение, а потом уже отсортировав:

MapScreen1->ShowAllMapInWindow();
MapScreen1->MapView = true;
MapScreen1->MapSort(true,false);

Благодарю за Ваш ответ.
 
Цитата
Andrey Gheleznyakov написал:
Если так, то просьба прислать такую карту
Андрей Владиславович, да тут и без высланной карты всё ясно в чём проблема... Вот проверите и скажете , был я прав или нет  :oops:

Автору темы
Проблема у вас вот в этом пункте
Цитата
3) Произвожу обработку карты, в результате которой на неё добавляется большое количество объектов, в результате чего SIT растягивается относительно своего исходного размера

Вы уверены  что после добавления "большого количество объектов" все эти объекты располагаются компактно в каком то районе ИЛИ
Один или несколько объектов попадают в координату 0,0 или далеко за область нанесения ?

второе
Если Вы 100% уверены, что метрика объектов при  всех объекты карты при нанесении корректна?
.
------------
случаи из "жизни"
случай 1. импорт из ARINC. Все объекты компактно нанесены в определённый район, а один "паршивый объект" был некорректно закодирован в обменном формате и его координата была 0, 0
Всё вроде бы должно было быть в районе Тюмени, а один объект (аэродром) стал в Африке... и я очень долго не мог понять, почему у меня "серая карта" .
Серая она потому что, на определённых масштабах срабатывает генерализация и все объекты становятся невидимым, а при масштабировании (таком как вы делаете "вся карта в окно") окно растягивается на пол мира, масштаб устанавливается в какой то 120 000 000 и ничего не видно. Когда Вы начинаете менять масштаб, карта меняется с точки позиции мышки, которая у вас на западном краю ... и вы просто не можете найти ваш основной набор объектов

случай 2. Битые координаты.
Наношу на карту объекты (скопом как Вы). но ошибаюсь во входных координатах и функции добавлении точки метрики и у меня, плановые координаты (формат 600000, 700000) добавляются как радианы
(от 0 до 2 пи).. в итоге, на карту наносится метрика и виде месива. Объекты вроде есть, число объектов совпадает с тем что наношу, а вот где эти объекты не видит не только приложение а и ГИС ПАнорама

Надеюсь что описал все случаи на эту тему... Если есть какие  то другие варианта бага, разработчики доплонят меня =)
Изменено: KFF - 11.12.2017 11:53:53
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Я упустил из виду, что надо сначала MapScreen1->MapView = true;, а затем обновлять габариты карты. Логика ситуации такая: добавляются объекты и расширяется (за счет этого) габариты карты (в общем случае много или нет- не имеет значения). Далее надо обновить габариты для отображения - UpdatePictureBorder. Работает она при включенном отображении карты.
Страницы: 1
Читают тему (гостей: 1)



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

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