Домой О курсе Существует множество различных способов загрузки данных в БД PostGIS. Это можно сделать из настольного приложения (например, QGIS), можно воспользоваться штатной PostGIS-утилитой shp2pgsql (для загрузки *.shp файлов). Вариант загрузки данных с помощью shp2pgsql описан в статье [Основы работы с PostGIS](http://gis-lab.info/qa/postgis-work.html). Мы же воспользуемся более универсальным инструментом - [ogr2ogr](http://www.gdal.org/ogr2ogr.html). ogr2ogr - это утилита, предназначнная для конвертации векторных данных между различными форматами. Список поддерживаемых форматов доступен [здесь](http://www.gdal.org/ogr_formats.html). Примеры использования утилиты ogr2ogr можно найти в [статье](http://gis-lab.info/qa/ogr2ogr-examples.html). Загрузку данных лучше осуществлять с того же хоста, на котором расположена база данных, так как объем загружаемых данных может быть достаточно велик и выполнение данной операции с удалённого хоста может занять продолжительное время. Установим ogr2ogr и архиватор на наш сервер: sudo apt install gdal-bin p7zip-full Загрузим в нашу базу 4 слоя на территорию г. Санкт-Петербург, построенных на основе данных [OpenStreetMap](http://openstreetmap.org/). Данные OpenStreetMap, в формате *.shp, которые мы будем загружать в PostGIS можно получить на странице проекта [NextGIS Data](http://data.nextgis.com), предварительно зарегистрировавшись. * **Водоёмы**, 1770 объект * **Здания**, 99492 объектов * **Дорожная сеть**, 87192 объекта * **Железнодорожные станции**, 797 объект Скачиваем и распаковываем данные в домашнюю директорию: 7z x RU-SPE.7z -o* Загружаем данные: ogr2ogr -lco "OVERWRITE=YES" -nlt POLYGON -f PostgreSQL PG:"host=localhost user=pguser password=topsecret dbname=dbvega" water-polygon.shp ogr2ogr -lco "OVERWRITE=YES" -nlt MULTIPOLYGON -f PostgreSQL PG:"host=localhost user=pguser password=topsecret dbname=dbvega" building-polygon.shp ogr2ogr -lco "OVERWRITE=YES" -nlt MULTILINESTRING -f PostgreSQL PG:"host=localhost user=pguser password=topsecret dbname=dbvega" highway-line.shp ogr2ogr -lco "OVERWRITE=YES" -nlt POINT -f PostgreSQL PG:"host=localhost user=pguser password=topsecret dbname=dbvega" railway-station-point.shp Открываем pgAdmin, перходим в базу данных `dbvega` и видим, что появилось 4 новых таблицы: помимо служебной `spatial_ref_sys` - это соответственно `water_polygon`, `building_polygon`, `highway_line` и `railway_station_point`. Открываем окно редактора SQL и выполняем команду: SELECT ST_AsGeoJSON(wkb_geometry) from building_polygon LIMIT 10; В результате которой будет получено GeoJSON представление 10 произвольных геометрий (название поля, содержащего геометрию можно задавать при загрузке данных, по умолчанию - `wkb_geometry`).