David DeHaan разработал расширение и провайдер для работы с пространственными данными Sybase SQL Anywhere в QGIS. Новый функционал доступен начиная с r14918, возможности нового драйвера во многом схожи с возможностями драйверов PostGIS и SpatiaLite.
Для сборки и тестирования необходимо:
- загрузить бесплатную версию SQL Anywhere 12.0.0 для разработчиков (http://www.sybase.com/detail?id=1016644)
- установить сервер SQL Anywhere 12.0.0 на серверную машину
- установить клиентские библиотеки SQL Anywhere 12.0.0 на клиентские машины (если сервер и клиент находятся на одной и той же машине, этот шаг не нужен)
- инициализировать пустую базу данных с помощью команды
dbinit database_name
Также будет создан пользователь «dba» с паролем «sql» - запусить сервер при помощи команды
dbsrv12 database_name
- наполнить базу пространственными данными. Для тестирования можно воспользоваться SQL-скриптом, который загружает в базу shape-файлы тестового набора даных Alaska. Запуск скрипта выполняется при помощи инструмента «Interactive SQL» (dbisql) на сервере. Перед запуском скрипта может потребоваться изменение некоторых переменных, например, исправить путь к тестовому набору данных (предполагается, что данные находятся на сервере)
- запустить QGIS и загрузить модуль «SQL Anywhere». Модуль добавляет свою кнопку на панель инструментов, а также создает пункты меню «Модули → SQL Anywhere» и «Слой → Add SQL Anywhere Layer…»
- при добавлении слоя появляется диалог, похожий на диалог добавления слоя PostGIS/SpatiaLite, в котором можно управлять подключениями, получать информацию о схеме БД и настраивать различные параметры, такие как расположение колонок с геометрией.
Было бы интересно провести тестирование, сравнить возможности и производительность PostGIS, SQL Anywhere и Oracle Spatial в условиях, приближенных к реальным.
[…] Новый провайдер векторных данных SQLAnywhere […]