С чего начать программирование
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: С чего начать программирование
При использовании указанной проекции слой не отображается, что кажется логичным - ведь данная проекция не предназначена для отображения всех континентов.
Spatial is now, more than ever, just another column- The Geometry Column.
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: С чего начать программирование
Здесь несколько аспектов.
1. Необходимо отрисовывать не весь экран а только измененные части (это особенно влияет при перемещении окна карты)
2. При зуммировании должна быть осуществлена плавная отрисовка изменяемого окна карты, с последующей полной прорисовкой (это скорее психологический эффект ускорения)
3. При подготовке данных перед прорисовкой должны использоваться все процессоры системы, т.е. многопоточсный режим.
4. Максимально уменьшить операции по преобразованию данных при прорисовке. Например, при преобразовании "на лету" это должно происходить при выставлении проекции, а не в процессе прорисовки.
5. Использовать географическое индексирование (quadtree) при выборке векторных данных для изменнных частей экрана.
6. Максимально кэшировать результаты расчетов при прорисовке.
7. Задействовать ресурс 3D карт для прорисовки или хотя бы операционной системы (ведь QT сама рисует кажется).
Это перечвислены общие моменты. Кроме того, есть еще частности.
Во всяком случае часть из вышеперечисленного позволила добится скорости прорисовки на уровне ArcGIS 9.0. Однако по моей оценке ESRI оптимизировала скорость в 9.1 - 9.3.1. А в 10-ке заявлено, что вообще графический движок переписали. Интересно будет посмотреть.
Тем не менее, в моих "экспериментах" достичь базового функционала и скорости ArcGIS 9.0 моя цель.
1. Необходимо отрисовывать не весь экран а только измененные части (это особенно влияет при перемещении окна карты)
2. При зуммировании должна быть осуществлена плавная отрисовка изменяемого окна карты, с последующей полной прорисовкой (это скорее психологический эффект ускорения)
3. При подготовке данных перед прорисовкой должны использоваться все процессоры системы, т.е. многопоточсный режим.
4. Максимально уменьшить операции по преобразованию данных при прорисовке. Например, при преобразовании "на лету" это должно происходить при выставлении проекции, а не в процессе прорисовки.
5. Использовать географическое индексирование (quadtree) при выборке векторных данных для изменнных частей экрана.
6. Максимально кэшировать результаты расчетов при прорисовке.
7. Задействовать ресурс 3D карт для прорисовки или хотя бы операционной системы (ведь QT сама рисует кажется).
Это перечвислены общие моменты. Кроме того, есть еще частности.
Во всяком случае часть из вышеперечисленного позволила добится скорости прорисовки на уровне ArcGIS 9.0. Однако по моей оценке ESRI оптимизировала скорость в 9.1 - 9.3.1. А в 10-ке заявлено, что вообще графический движок переписали. Интересно будет посмотреть.
Тем не менее, в моих "экспериментах" достичь базового функционала и скорости ArcGIS 9.0 моя цель.
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: С чего начать программирование
Надо зуммировать (уменьшить) карту и получится картинка на скриншоте (а как Вы думаете я его сделал?)._DR_ писал(а):При использовании указанной проекции слой не отображается, что кажется логичным - ведь данная проекция не предназначена для отображения всех континентов.
По поводу логики - логично предупредить пользователя о невозможности проецировать слой. И вообще пользователя не должно волновать для чего преднозначена та или иная проекция и какой охват данных - это задача ГИС. Для меня идеальное исполнение проецирования "на лету" - это ArcGIS.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость