Показаны сообщения с ярлыком QGIS. Показать все сообщения
Показаны сообщения с ярлыком QGIS. Показать все сообщения

пятница, 14 апреля 2017 г.

Qgis и PostgrSql

Часть первая доступна по ссылке
Для многопользовательского доступа к редактируемой карте в QGis используют базу Postgis. В ней будет хранится вся пространственная информация об объектах. Таким образом подключаясь к базе можно совместно работать над проектом.

1. Установить на сервер базу данных PostgrSql
2. Установить PostGis - добавляет поддержку географических объектов в реляционную базу данных PostgreSQL
3. Создать новую базу на сервере.
3.1 Через PgAdmin4 создаем базу данных например postgis_bd
3.2 В базе postgis_bd выполняем скрипты(правой кнопкой мыши по базе - Query Tool) которые находятся(для windows) в PostgreSQL\9.6\share\contrib\postgis-2.3\
т.е в окне запросов SQL запускаем следующие скрипты:
postgis.sql
postgis_comments.sql
topology.sql
topology_comments.sql
spatial_ref_sys.sql  
Скрипты содержат функции PostGIS и типы данных для QGIS.
После этого наша база postgis_bd готова к наполнению.
4. Создать в Qgis слой, рассматривалось в это статье
5. Сохраняем слой в формат shape-файла.
Таким образом получим на выходе 6 файлов:

Эти файлы будут конвертироваться в sql и на основе его формироваться таблица в БД. Для этого нужно их скопировать на сервер базы данных PostgrSql в каталог c:\Program Files\PostgreSQL\9.6\bin\
Затем запустим в данном каталоге командную строку и выполним следующие команды:
shp2pgsql -i -D -s 4326  original.shp  name_tables > name_tables.sql
psql -U postgres -f name_tables.sql -d postgis_bd
Описание:shp2pgsql - утилита для импорта shape- файлов в базу PostGis
original.shp - шейп файл. Cоздаем на основе его SQL таблицу с именем name_tables
Таблицу загружаем в postGis в базу данных postgis_bd 

После выполнения команд в базе создаться таблица name_tables, которую в QGIS можно подключить, для этого создадим новое подключение к базе данных PostGis
Подключение к PostGis
Подключившись к базе увидите таблицу name_tables, двойной клик по ней и можно добавлять объекты, как добавить подложку рассматривалось в это записи.
Если создаем нового пользователя в PostgrSQL не забываем дать права на таблицу слоя в базе, а также права на последовательности (sequences).

воскресенье, 9 апреля 2017 г.

QGIS - бесплатная геоинформационная система


QGIS - мощная ГИС с открытым исходным кодом.
Поддержка платформ  Windows, Mac, Linux, BSD (а вскоре и на Android).
Поддержка баз данных: DB2, MSSQL, PostGIS, Oracle, SpatiaLite.
Растры:  GeoTIFF, Erdas IMG, ArcInfo ASCII Grid, JPEG, PNG и др.
Умеет экспорт в DXF, импорт DWG/DXF
В QGIS стандартным векторный форматом данных  является ESRI shape-файл. Но, есть выгрузка слоев и в форматы например: dxf, csv, SqlLite, xml, mapinfo и др.


1. Подключим слой Яндекс карт в качестве подложки
2. Создадим свой векторный слой


Для подключения Яндекс карт необходимо установить модуль QuickMapServices

Модуль - QuickMapServices
После установки идем в меню Интернет-QuickMapServices-Настройки-Загрузить сервисы- жмем кнопку получить дополнительные источники данных:
Дополнительные источники данных
На панели задач появится кнопка где можно загрузить любую из предложенных карт
Yandex карты
Таким образом например Яндекс карты можно использовать в качестве подложки для создания векторных объектов.


Создадим новый векторный слой: откройте в меню Слой-Создать слой-Создать shape-файл
Параметры слоя
Возможны при создания слоя три типа: точка, линия, полигон. Создаем необходимые поля для объекта. Qgis поддерживает великое множество систем координат. Выберем проекцию EPSG:3395 - это проекция  Меркатора на эллипсоид, ее используют Яндекс карты. EPSG:3857 (3785, 900913) – Проекция Меркатора на сферу. Эта проекция используется сервисами Google, Bing, OpenStreetMap, Yahoo, и др.
Полигон
Поля которые мы добавляли при создании слоя, являются атрибутами данного полигона, и могут его описывать(название здание или комментарий). Имеется возможность их редактировать, удалять или добавлять новые.
Полигон - параметры

В следующем статье рассмотрим подключение к БД PostGis и создание слоев в БД.