SQLite в QGIS (СК, кодировки, редактирование)

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
beard
Новоприбывший
Сообщения: 14
Зарегистрирован: 27 апр 2012, 12:55
Репутация: 1
Откуда: Москва

SQLite в QGIS (СК, кодировки, редактирование)

Сообщение beard » 11 авг 2012, 00:22

В QGIS используются файлы SQlite.
Они могут использоваться, как файлы слоев. Можно преобразовать любой shape слой в слой sqlite через контекстное меню слоя "Сохранить как...", выбрав из списка доступных форматов SQLite и указав имя файла слоя вида name.sqlite.
Файлы SQLite, содержащие кириллицу в кодировке 1251, отлично читаются в QGIS 1.8 (не только NextGIS) для Windows. В UTF-8 нет ограничения на длину полей. К таким слоям можно применять сохраненные стили, а объем, занимаемый этими файлами существенно меньше, чем shape-файлами с dbf таблицами.
Редактировать таблицу атрибутов можно, как и обычно в QGIS.

SQLite применяются в QGIS и как файлы содержащие набор служебных данных.
Например, srs.db содержит набор стандартных для QGIS систем координат. Иногда требуется использовать новую систему координат, как стандартную, а не пользовательскую. Для этого достаточно внести параметры такой системы в файл srs.db. Выполнить это можно с помощью плагина SQLite Manager для браузера Firefox. Отредактированный файл следует сохранить отдельно, чтобы при переустановке программы заменить им имеющийся в QGIS. Место хранения файла в Ubuntu /usr/share/qgis/resources/srs.db.

Пример СК, которую необходимо было внести в моем случае.

В параметрах пользовательской системы координат запись выглядела так:

Код: Выделить всё

+proj=tmerc +lat_0=55.66667 +lon_0=37.5 +k=1 +x_0=110 +y_0=-37 +ellps=bessel +units=m +a=6377397.155 +b=299.1528  +towgs84=23.92, -141.27, -80.9, 0, -0.35, -0.82, -0.12 +units=m +no_defs
В файлах prj и qpj так:

Код: Выделить всё

PROJCS["NameSK",GEOGCS["NameSK Citi",DATUM["<D_Citi>",SPHEROID["bessel",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",55.66667],PARAMETER["central_meridian",37.5],PARAMETER["scale_factor",1],PARAMETER["false_easting",110],PARAMETER["false_northing",-37],UNIT["Meter",1]]
В SQLite Manager необходимо внести значения полей в созданной строке таблицы vm_srs.
  • description (text) - Name SK
    srs_id (INTEGER) - 40000 (любое число, больше имеющегося в таблице максимального значения)
    is_geo (integer) - 0
    name (varchar(255)) - Transverse Mercator (в моем случае)
    parameters (text) - строку параметров, как при вводе пользовательской системы.
    auth_name (varchar) - SYS (или любые другие символы)
    auth_id (varchar) - 40000 (любые символы или число)
    deprecated (boolean) - ничего вводить не надо
После сохранения файла появится возможность выбора новой СК для любого проекта или для отрисовки в окне программы.

PS
Вероятно, следует придерживаться более строгих правил, но для личного применения можно сделать как описано.
Никогда не поздно, если еще не рано...

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: SQLite в QGIS (СК, кодировки, редактирование)

Сообщение Максим Дубинин » 11 авг 2012, 09:27

в качестве иллюстрации

Изображение
пристегивайтесь, турбулентность прямо по курсу

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: SQLite в QGIS (СК, кодировки, редактирование)

Сообщение Voltron » 11 авг 2012, 15:28

beard писал(а):В QGIS используются файлы SQlite.
Кэп, вы? :-)

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя