Пакетное геокодирование в QGIS: различия между версиями
Строка 23: | Строка 23: | ||
<center>[[Файл:RuGeocoder Converter form.png]]</center> | <center>[[Файл:RuGeocoder Converter form.png]]</center> | ||
В результате конвертации, будет получен точечный shp файл с той же самой атрибутикой, и нулевыми координатами. Так же к атрибутике будут добавлены пустые поля типа string: settlement, street, house_num и geocoded. Данные поля можно будет использовать в целях подготовки адреса для геокодера. | В результате конвертации, будет получен точечный shp файл с той же самой атрибутикой, и нулевыми координатами. Так же к атрибутике будут добавлены пустые поля типа string: settlement, street, house_num и geocoded. Данные поля можно будет использовать в целях подготовки адреса для геокодера. | ||
=== Подготовка адреса === | |||
Для повышения качества геокодирования необходимо разбить адрес на составные части: населенный пункт, улица, строение. Каждая из частей должна находится в отдельном поле (поле с названием населенного пункта можно не помещать в отдельное поле, а указать вручную, если все адреса в слое принадлежат этому населенному пункту). Если исходные данные изначально были в такой форме, то этот пункт обработки можно пропустить.<br /> | |||
== Геокодирование == | == Геокодирование == |
Версия от 09:20, 12 сентября 2012
Геокодирование в QGIS с помощью сервисов Google, Yandex, OSM(Nominatim).
Введение
Одним из способов получения геоданных является операция геокодирования. Она позволяет получить координаты объектов, у которых заранее известны адреса. В связи с большим объемом адресных БД, эту операцию обычно производят сервисы геокодирования. Наиболее известные сервисы на данный момент - Google Geocoding, Яндекс.Карты Геокодирование и OSM Nominatim.
QGIS не имеет встроенной возможности пользоваться сервисами геокодирования. Но гибкая система расширений позволяет добавлять практически любые функции. Для выполнения пакетного геокодирования можно использовать расширение RuGeocoder.
Подготовка к работе
Для выполнения геокодирования понадобятся:
- QGIS версии 1.6 и выше
- Расширение RuGeocoder (Присутствует в официальном репозитории)
- Соединение с Интернетом (желательно быстрое)
При подготовке данных так же может понадобится расширенный калькулятор атрибутивных полей. В примерах будет использоваться расширение FieldPyculator.
Процесс установки QGIS подробно расписан в статье Установка QGIS/GRASS с помощью OSGeo4W.
Более подробно об установке расширений можно прочитать тут.
Подготовка данных
Для работы геокодер требует точечный слой, с адресами, находящихся в одном или нескольких атрибутивных полях. Компонентная форма записи адреса (название города, название улицы, номер дома и т.д. находятся в отдельных полях) более предпочтительна, и обычно позволяет добиться лучшего результата при геокодировании.
Преобразование таблицы в SHP файл
Достаточно часто, входные данные представлены в виде обычных таблиц. Наиболее удобный формат для обработки - CSV. С данным форматом могут работать практически все современные табличные редакторы: MS Excel, OpenOffice Calc и другие.
Для геокодирования таблицы её необходимо конвертировать в любой формат геоданных, которые можно редактировать в QGIS - SHP, sqlite, mapinfo и тд. Это преобразование можно сделать с помощью ogr2ogr, подробное описание можно прочитать в статье Конвертация данных из CSV в SHP и обратно с OGR. Но данный метод требует создания vrt файла и использование командной строки.
Для удобства RuGeocoder имеет встроенную функцию, с подобным преобразованием. На панели "Модули" необходимо нажать кнопку "Конвертировать CSV в SHP" . Тоже действие можно выполнить через меню "Модули" -> "RuGeocoder" -> "Конвертировать CSV в SHP". В открывшейся форме нужно выбрать входной CSV файл и указать путь, по которому будет сохранен результирующий SHP файл.
В результате конвертации, будет получен точечный shp файл с той же самой атрибутикой, и нулевыми координатами. Так же к атрибутике будут добавлены пустые поля типа string: settlement, street, house_num и geocoded. Данные поля можно будет использовать в целях подготовки адреса для геокодера.
Подготовка адреса
Для повышения качества геокодирования необходимо разбить адрес на составные части: населенный пункт, улица, строение. Каждая из частей должна находится в отдельном поле (поле с названием населенного пункта можно не помещать в отдельное поле, а указать вручную, если все адреса в слое принадлежат этому населенному пункту). Если исходные данные изначально были в такой форме, то этот пункт обработки можно пропустить.