| Документация

Подготовка данных в базе данных

Для создания сервиса геокодирования необходимо определить список таблиц и полей в базе данных PostgreSQL, по которым будет производиться геокодирование.

Примечание: Для работы с таблицами и полями используется pgAdmin.

Например, предположим, что для работы сервиса созданы слой зданий ( buildings ) и слой улиц ( roads ). В слое зданий будут использоваться поля: city , street и number (см. Рисунок 163 ). В слое улиц поле name (см. Рисунок 164 ).

Рисунок 163 – Слой зданий: поля для геокодирования

Рисунок 164 – Слой улиц: поля для геокодирования

Для выбранных полей задается freetext-индекс

Пример, если поле одно:

CREATE INDEX ON public.roads

USING gin(to_tsvector('russian', COALESCE("name", '')));

Пример, если полей несколько:

CREATE INDEX ON public.buildings

USING gin(to_tsvector('russian', COALESCE(city, '') || ' ' || COALESCE(street, '') || ' ' || COALESCE(number, '')));

После желательно убедиться, что индексы созданы. Для этого необходимо проверить состав сведений о таблице в БД, как показано на рисунке ниже, см. Рисунок 165 5.

Рисунок 165 – Слой зданий: индексы для геокодирования