LINUX.ORG.RU

QGIS 2.0 «Dufour»

 , ,


2

2

Вышла новая версия QGIS (также известна как Quantum GIS), одной из самых динамично развивающихся географических информационных систем (ГИС) с открытым исходным кодом. QGIS — свободная (GPL v2+) пользовательская ГИС, написанная на языке C++ с использованием библиотеки Qt. QGIS поддерживает практически все распространенные форматы пространственных данных, расширяется модулями на C++ и Python.

Общие изменения

  • теперь проект официально называется QGIS. Слово «Quantum» никогда не имело особого значения, а наличие двух названий (QGIS и Quantum GIS) иногда вызывало излишнюю путаницу
  • запущен обновленый официальный сайт проекта
  • доступны 64-х разрядные бинарные сборки для Windows (QGIS для *NIX и MacOS уже давно собирается под обе архитектуры)

Интерфейс

  • новая тема иконок по умолчанию
  • в интерфейсе широко используются боковые вкладки и сворачивающиеся группы элементов, что упрощает навигацию и экономит место на экране
  • поддержка всплывающих уведомлений. Многие окна сообщений заменены на всплывающие уведомления, которые отображаются в верхней части окна, не блокируют работу и автоматически скрываются через заданный интервал времени. Наличие API позволяет сторонним разработчикам (например, разработчикам расширений) создавать свои собственные уведомления
  • поддержка пользовательских шрифтов и таблиц стилей Qt
  • SVG-аннотации

Провайдеры и управление данными

  • добавлен провайдер Oracle Spatial для работы с геоданными, хранящимися в пространственных базах Oracle
  • обновленный провайдер OpenStreetMap
  • добавлен провайдер Web Coverage Service (WCS). Процесс добавления слоёв WCS ничем не отличается от добавления любого другого слоя
  • поддержка WMTS в клиенте WMS
  • полностью переработана растровая подсистема и провайдер GDAL. Выполнен переход на архитектуру «raster pipes» — цепочек независимых операций (чтение данных, перепроецирование, пересчет (ресэмплинг), настройка отображения), которые могут комбинироваться. Одним из результатов стала возможность пересохранения открытых растров в любой поддерживаемый формат, в процессе сохранения можно изменять разрешение растра, выполнять обрезку и перепроецирование. Кроме того, стало возможным сохранение растра в том виде, в каком он отображается в ГИС, например, если к одноканальному растру была применена цветовая палитра, то его можно сохранить виде привязанного RGB-растра
  • отрисовка растров по умолчанию выполняется с использованием среза с накоплением 2% - 98%, что позволило получать более правильную картинку без дополнительных дейтсвий со стороны пользователя
  • добавлена возможность выбора формата отображения результатов определения объектов в слое WMS (если данная возможность поддерживается сервером). Поддерживаются форматы: HTML, GML и plain text. При использовании формата GML результаты отображаются в том же виде, что и для векторных слоёв, объект на карте подсвечивается и появляется возможность копирования геометрии объекта и его атрибутов в буфер обмена

Символика

  • переопределение свойств знаков из данных слоя: позволяет контролировать тип и размер знака, его цвет, угол поворота и многие другие свойства через атрибуты объекта
  • новый менеджер стилей с поддержкой тегов и группировки знаков
  • удобное древовидное отображение символьных слоёв при создании новых условных знаков
  • поддержка альфа-канала в большинстве диалогов выбора цвета
  • управление цветами для растровых слоёв. Теперь пользователь может настраивать яркость, констраст и насыщенность растровых слоёв. Также доступна возможность вывода растра в оттенках серого или раскраска заданным цветом
  • копирование стилей между слоями
  • смешивание слоёв
  • возможность сохранения стилей оформления в базе данных (особенно актуально при хранении данных в базе)
  • поддержка цветовых шкал как для растровых, так и для векторных слоёв. В состав QGIS уже включен набор из собственных цветовых шкал и шкал из набора cpt-city. Все цветовые шкалы поддерживают прозрачность
  • добавлена возможность настройки стилей оформления по умолчанию, которые будут использоваться при открытии слоёв не имеющих связанного с ними стиля

Подписи

  • значительно улучшена «новая» символика: появился ряд новых возможностей, таких как отбрасываемая тень; фон (т.н. «highway shields»); расширен набор свойств, переопределяемых данными слоя; ряд улучшений в производительности
  • подписи на основе выражений: подпись может быть взята как из отдельного поля, так и являться результатом выражения
  • поддержка «старых» подписей (использовавшихся в QGIS <= 1.8) полностью прекращена, но соответствующий код из QGIS пока не удален — пользователям предоставляется время на обновление старых проектов. Окончательный переход на «новые» подписи запланирован в следующем выпуске

Компоновщик карт

  • добавлена поддержка HTML-блоков в компоновках. Блоки HTML могут отображать как содержимое локальных файлов, так и запрашивать данные по заданному адресу
  • автоматические направляющие линии для выравнивания близкорасположенных объектов, а также объектов, находящися в характерных местах компоновки (например, в центре страницы)
  • пользовательские направляющие линии для выравнивая объектов компоновщика
  • создание серий карт (атласов)
  • создание многостраничных компоновок
  • поддержка выражений в подписях компоновщика
  • автоматическа генерация обзорной карты. Карта компоновщика теперь может отображать фрагмент другой карты, и автоматически обновляется при изменении связанной карты
  • смешение слоёв: если раньше можно было только задать прозрачность объекта, то теперь у вас намного больше возможностей, например, «осветление», «умножение», «затемнение» и другие
  • поддержка HTML в подписях — подписи получили полную поддержку HTML, CSS и даже JavaScript
  • многоколоночна легенда
  • улучшения в управлении компоновками: возможность задания имени при создании компоновки, клонирование компоновок, создание новых компоновок из шаблонов и т.д.

Инструменты анализа

  • значительно улучшен и оптимизирован модуль построения теплокарт
  • фреймворк пространственного анализа SEXTANTE был специально адаптирован и интегрирован в QGIS. В процессе адаптации SEXTANTE была переименована в Processing. Processing Toolbox имеет богатый функционал, предоставляет доступ ко многим популярным аналитическим инструментам, таким как GRASS, OTB, SAGA, TauDEМ и многим другим. Кроме того, развитое API позволяет пользователям создавать свои собственные алгоритмы.
  • Processing Modeller — построитель графических моделей. Позволяет легко и быстро создавать сложные алгоритмы обработки или анализа, соединяя между собой более простые блоки. Созданные модели можно сохранять и использовать повторно, а также применять в качестве блоков при создании других моделей.
  • Processing Commander — удобный инструмент для быстрого доступа к аналитическому функционалу и не только. Вызовите Processing Commander (по умолчанию Ctrl+Alt+M), начните вводить название необходимого инструмента. Commander покажет имеющиеся варианты и запустит выбранный. Больше не нужно блуждать по меню в поисках инструментов.

Модули

  • обновленный менеджер модулей, позволяющий как искать и загружать модули из репозитория, так и управлять уже установленными модулями.
  • метаданные модулей теперь хранятся в простом текстовом файле, что позволило ускорить процесс загрузки QGIS, т.к. отпала необходимость загрузки модулей для получения их метаданных
  • расширен набор обязательных метаданных модуля
  • добавлена возможность точного указания версий QGIS, с которыми модуль будет работать

Приложение и проекты

  • добавлена поддержка шаблонов проектов, возможность указать действие при открытии QGIS: создание пустого проекта, открытие шаблона, загрузка последнего проекта, загрузка заданного проекта
  • добавлена возможность просмотра и редактирования переменных окружения. Особенно полезно на таких системах, как MacOS, где графические приложения не обязательно наследуют окружение пользователя. Также может применяться для настройки переменных окружения сторонних инструментов, использумых в Processing Toolbox
  • пользовательские наборы масштабов — позволяют выполнять быстрый переход к необходимому масштабу. Могут задаваться глобально и на уровне проекта

Список слоёв

  • множество улучшений в информативности списка слоёв:
    • отображение числа объектов в слое
    • визуальное выделение редактируемых слоёв (иконка с красным карандашом)
    • визуальное выделение активного слоя (подчеркивание)
    • выделение групп или слоёв при помощи полужирного начертания
    • опциональное отключение генерации уменьшеных копий для растровых слоёв (в некоторых случаях значительно ускоряет процесс открытия растра)
  • добавлена возможность клонирования слоя. Вместо повторного открытия слоя достаточно выбрать «Дублировать» в контекстном меню
  • возможность начинать и завершать редактирование нескольких слоёв одновременно

Обозреватель

  • добавлена возможность фильтрации каталогов по регулярному выражению или маске
  • просмотр свойств каталога в отдельном окне
  • возможность добавлять каталоги в закладки из контекстного меню
  • добавлена возможность открыть вторую панель Обозревателя и перетаскивать слои/каталоги между ними

API и инструменты разработчика

  • новая консоль Python с подстветкой синтаксиса, автодополнением, настраиваемым шрифтом и другими улучшениями
  • расширен набор функций для выражений
  • возможность создавать свои функции на Python для использования в выражениях
  • значительно переработанное API для работы с векторными данными
  • новое Python API: выполнен переход на SIP API v2, типы Qt автоматически конвертируются в соответствующие типы Python
  • макросы Python уровня проекта: позволяют выполнять действия при открытии, закрытии и сохранении проекта
  • по возможности сохранена совместимость кода с версиями 1.х.

Подробности

Visual ChangeLog

>>> ChangeLog



Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 2)
Ответ на: комментарий от nu11

Привязка растра - те еще пляски с бубном, работает через раз, выхлоп по ошибкам не информативен

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

Работа с вектором лютый ад после любого нормального када или рисовалки

Конкретнее, пожалуйста. Ну и не стоит забывать, что CAD (или другая специализированная рисовалка) и ГИС несколько разные ниши занимают. BTW, расширить возможности по оцифровке можно при помощи модулей — посмотрите на CADTools, Digitizing Tools и другие.

Редактирование серий данных на мой взгляд сделано через задницу.

Ммм, не очень понял о чём речь. Можете развернуть?

В shape-файлах на выходе были ошибки, но потом таки нашел способ побороть.

Опять же, без конкретики сложно что-либо сказать. Предполагаю проблема была в кодировке атрибутивных данных. Если это так, то, вероятно, вы что-то немного не так делали.

voltron
() автор топика
Ответ на: комментарий от voltron

какие сообщения на ваш взгляд стоит изменить?

да их там можно сказать вообще нет, выдавало что-то вроде «привязка не удалась», дальше думай что хочешь. После плясок с количеством точек и алгоритмами оно таки заработало

посмотрите на CADTools, Digitizing Tools и другие

я уже отказался от гисовского формата и рисую в свг. Но там не в ограниченности дело, сами базовые инструменты очень неудобны

не очень понял о чём речь

таблица атрибутов

Предполагаю проблема была в кодировке атрибутивных данных.

нет, у меня данные вообще числовые были :) Я в векторном слое создавал несколько десятков полигонов, было много операций копирования и удаления. К полигонам у меня был привязан числовой атрибут, при копировании он естественно дублировался, потом я в таблице правил значения. В итоге все равно в shape файле остались дубликаты, которые сам qgis не видел никак, но другой софт файл уже не читал.

nu11 ★★★★★
()
Ответ на: комментарий от voltron

Я говорю в основном о проблемах удобства работы, например при частом сохранении или конвертировании слоя приходится постоянно вручную выставлять нужные параметры сохранения (самое смешное, что последнее значение выбранной кодировки он запоминает, а вот проекцию приходится выбирать каждый раз заново), из багов - часто замечал некорректное конвертирование слоя из одной кодировки в другую (например из UTF8 в cp1251), и непонятно в чем конкретно косяк, т.к. проявляется может один раз из двадцати, то ли действительно баг, то ли какая-то настройка самопроизвольно тупо сбрасывается, узнаёшь об этом уже по факту, потом, т.к. обычно сначала делаешь серию манипуляций, а потом проверяешь результат.. Ну и еще много неудобств по-мелочи, которые с ходу не вспомнишь, но в процессе работы они ощущаются.. Та же отрисовка достаточно медленная, и это еще без всяких стилей и остального, аппаратное ускорение, похоже, никак не задействуют, да и распараллеливание задач, видимо, тоже хромает. В основном все, что я говорю, относится к работе с вектором, т.к. это основной мой интерес в кугисе. Кстати, я не большой знаток кугиса, я его обычно для узкого спектра задач юзаю, мож кто знает, есть ли у него какая возможность заюзать в скриптах его встроенные функции (а может и дополнительные, которые доустанавливаются в виде расширений) из обычной консоли для пакетной обработки файлов/слоев, типа сохранения/конвертирования, обрезки слоев и тд и тп, что-то типа API?.. Знаю, что у него есть поддержка питоновского скриптинга, но вот именно в таком варианте кто-нибудь в курсе? И если можно объяснить на пальцах, как до этого функционала достучаться? Куда копать? А то функций море, а как их на полную катушку пользовать пока не разобрался, слишком много курить надо, конечно, если совсем прижмет - придется, но хорошо, если кто тропинку или хотя б направление покажет..

Indexator ★★★
()
Ответ на: комментарий от Indexator

то ли какая-то настройка самопроизвольно тупо сбрасывается

Что, конечно, тоже является багом)) туплю уже на ночь глядя)

Indexator ★★★
()
Ответ на: комментарий от voltron

Да, еще - не очень удобная работа с таблицей атрибутов, ни добавить строки, ни выполнить поиск-замену по полям/строкам..

Indexator ★★★
()
Ответ на: комментарий от Indexator

что-то типа API

А чего ты собственно хочешь, и нужен ли тебе для этого qgis? Я, например, для программной работы задействовал mapscript (mapserver) http://mapserver.org/mapscript/mapscript.html (под руби), использовал ogr2org, proj, gdal напрямую (консольные команды) (на самом деле, я, пожалуй, не смог интегрировать мои инструменты в гуи, но, в любом случае, я бы интегрировал их в автокад, а не qgis, и, тем не менее, это проще, гуи для оцифровщиков, а я не они). Вестимо есть у qgis апи http://lmgtfy.com/?q=qgis python tutorial.

special-k ★★★★
()

Не, это не дело, такой чейнджлог и едва страница комментов.

special-k ★★★★
()
Ответ на: комментарий от Indexator

ни добавить строки, ни выполнить поиск-замену

GeoJSON (например) + vim ^_^

special-k ★★★★
()
Ответ на: комментарий от special-k

Вестимо есть у qgis апи

Не, это понятно, но это типа макросов, насколько я понимаю, из самого кугиса, а я про вызов апи извне кугиса, в идеальном варианте: привести простой пример конвертации из шелл-скрипта какого-нибудь векторного слоя из одной проекции в другую, или его таблицы атрибутов из одной кодировки в другую или редактирование его таблицы атрибутов (добавление/удаление полей, добавление/удаление строк, поиск/замена и тп) используя апи кугиса, вот я о чем.. А за наводку на мапскрипт - спасибо, поизучаю..

Indexator ★★★
()
Ответ на: комментарий от Indexator

привести простой пример конвертации из шелл-скрипта

Да нахрена тут qgis http://gis-lab.info/qa/ogr2ogr-examples.html

или его таблицы атрибутов из одной кодировки в другую

или тот же огр, либо http://ru.wikipedia.org/wiki/Iconv

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от special-k

Оу, спасибо за конкретные примеры! :) Простите занубство))

Indexator ★★★
()
Ответ на: комментарий от sT331h0rs3

преимущества в виде [..] клиента для iOS

Это мягко говоря не преимущество ибо само по себе вагон головняка

black7
()
Ответ на: комментарий от black7

Я все понимаю, сам не рад, но есть некоторые вещи, которые понимают только cp1251, к сожалению.. Обычно это заложено гореразрабами изначально в неправильной архитектуре приложений/библиотек, которые начинали свое развитие еще до победного шествия юникода, чуть ли не со времен некрософт виндафс 95 и потому до сих пор тянут и наследуют это бремя, а объемы кода настолько огромны, что переписывать с нуля может быть легче, чем введение поддержки юникода, но никто на это не отважится, не говоря уже о других недостатках недостатках и костылях, но даже с ними за неимением «более лучших» аналогов приходится как-то вертеться (точнее, они есть, но не устраивают по другим различным причинам).. Ну, или как выход - писать свое решение, которое точно будет лучше и заточенней под конкретные нужды, что на порядки сложнее (дольше и дороже)..

Indexator ★★★
()

уже давно собирается под обе архитектуры

Ого, целых обе архитектуры.

anonymous
()
Ответ на: комментарий от Indexator

Можно, вот вам для начала. По ссылке, правда, рассматривается созданние простого приложения с GUI, но со скриптом всё точно так же будет, только без интерфейса.

Но в описаных вами случаях использовать API QGIS, имхо, перебор. Вполне хватит «чистого» OGR и/или его Python API.

voltron
() автор топика
Ответ на: комментарий от nu11

Я в векторном слое создавал несколько десятков полигонов, было много операций копирования и удаления. К полигонам у меня был привязан числовой атрибут, при копировании он естественно дублировался, потом я в таблице правил значения. В итоге все равно в shape файле остались дубликаты, которые сам qgis не видел никак, но другой софт файл уже не читал.

Странный баг. Несколько раз пробовал воспроизвести, но не получилось. Если он у вас стабильно проявляется, пожалуйста, по возможности закиньте описание в багтрекер.

voltron
() автор топика
Ответ на: комментарий от batekman

А работы с оффлайн-кэшем до сих пор нет, или я что-то путаю?

О, оказывается надо было просто поискать http://gis-lab.info/qa/qtiles-eng.html
Но это очевидно просто гуйня над тем, что предложил batekman.

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 3)
Ответ на: комментарий от Indexator

при частом сохранении или конвертировании слоя приходится постоянно вручную выставлять нужные параметры сохранения (самое смешное, что последнее значение выбранной кодировки он запоминает, а вот проекцию приходится выбирать каждый раз заново)

Отчасти согласен, попробуем что-то придумать.

Та же отрисовка достаточно медленная, и это еще без всяких стилей и остального, аппаратное ускорение, похоже, никак не задействуют, да и распараллеливание задач, видимо, тоже хромает.

Есть такое. Несколько ускорить отрисовку можно включив кэширование и построив пространственные индексы. Также помогает замена shape-файлов на более прогрессивные форматы, например SpatiaLite/PostGIS.

Многопоточная отрисовка в планах, специально для её поддержки и был сделан рефакторинг векторного API.

voltron
() автор топика
Ответ на: комментарий от special-k

Не, эта штука нужна для подготовки тайлов из проекта QGIS. Потом эти тайлы можно использовать, например, в мобильном приложении или подсунуть какому-нибудь серверу.

batekman, как я понимаю, хочет получать оффлайновое «зеркало» таких сервисов как GoogleMaps, OSM и подобных (что в некоторых случаях противозаконно :-)).

voltron
() автор топика
Ответ на: комментарий от voltron

Не, эта штука нужна для подготовки тайлов из проекта QGIS

а точно, я дезинформирую(

special-k ★★★★
()
Ответ на: комментарий от batekman

Кстати, насколько я помню, SASPlanet написана на Delphi, а её исходники открыты. При наличии FPC/Lazarus адаптировать её под *NIX должно быть вполне посильной задачей. Не думаю, что там много Windows-специфичного кода.

voltron
() автор топика
Ответ на: комментарий от voltron

Простым примером повторить не удалось, но оспроизводилось достаточно стабильно на реальном проекте.
Еще сходу простой баг: после первого сохранения проект не появляется в меню недавних проектов

nu11 ★★★★★
()
Ответ на: комментарий от vitalyisaev2

Про документацию в курсе, я почему-то думал, что там только про работу с интерфейсом.. Буду знать, спасибо.

Indexator ★★★
()

QGIS

Не очень хорошее название. Лучше изменить на QIS.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.