Вы столкнулись с задачей, которая периодически всплывает у любого картографа или аналитика: нужна точная геометрия границы города/посёлка/района в формате KML для дальнейшей работы в Google Earth, мобильных навигаторах или корпоративных ГИС.
Варианты решения, которые обычно приходят в голову:
- Рисовать вручную — долго, неточно, больно
- Искать на data.nextgis.com — хорошо для целых стран, но для конкретного посёлка — избыточно
- Парсить OSM через overpass-turbo.eu — мощно, но требует знания Overpass QL
- Использовать QuickOSM в QGIS — оптимальный баланс простоты и гибкости
Сегодня разберём последний вариант — он позволяет получить границы любого населённого пункта, имеющегося в OpenStreetMap, буквально в несколько кликов.
Установка плагина
- Откройте QGIS (версия 3.x или новее)
- Перейдите в меню Модули → Управление модулями…
- Во вкладке «Все» введите в поиске: QuickOSM
- Выберите плагин и нажмите «Установить»
- После установки плагин появится в меню Вектор → QuickOSM или на панели инструментов

Прежде чем качать данные, нужно понимать, как в OpenStreetMap хранятся административные границы:
- Relation (отношение) — это сложный объект, объединяющий несколько way (линий) в полигон
- Tag boundary=administrative — признак административной границы
- Tag admin_level=4..10 — уровень административного деления (4 — регион, 6 — район, 8 — город/посёлок, 10 — квартал)
Для населённых пунктов обычно ищем admin_level=8, но иногда бывает 6 (города областного значения) или 10 (микрорайоны внутри города).
Открываем QuickOSM (Вектор → QuickOSM). Видим простой интерфейс с тремя основными полями:
Key → вводим: name
Value → вводим название: Сергиев Посад
Canvas extent → выбираем Around и задаём радиус в метрах (например, 50000 для поиска в радиусе 50 км)
Но это неоптимально — найдётся всё, что содержит слово «Сергиев Посад», включая улицы и POI.
Лучше использовать расширенный запрос:
Переключаемся на вкладку Query и вводим:
boundary=administrative
name="Сергиев Посад"
admin_level=8
Нажимаем Run query. Плагин обращается к Overpass API, загружает геометрию и автоматически собирает relation в полигон (multipolygon).

Экспорт в KML
- В панели Layers (Слои) найдите слой с multipolygons (обычно это основные границы)
- При необходимости отфильтруйте нужные объекты
- Правый клик на слое → Экспорт → Сохранить объекты как…

В диалоговом окне выберите формат:
- Формат: Keyhole Markup Language [KML]
- Имя файла: выберите папку и имя файла (например, boundaries.kml)
Важно: в опциях слоя указываем NameField — поле, которое будет отображаться как название объекта в Google Earth (обычно name или ref)
Batch-загрузка нескольких населённых пунктов
Если нужны границы 50 посёлков, ручной поиск утомителен. Используем Overpass QL напрямую в QuickOSM (вкладка Query):
[out:json][timeout:60];
area["name"="Московская область"]->.searchArea;
(
relation["boundary"="administrative"]["admin_level"="8"](area.searchArea);
);
out body;
>;
out skel qt;
Этот запрос выгрузит все населённые пункты (admin_level=8) внутри Московской области.
Для оперативного получения границ населённых пунктов инструмент QuickOSM не имеет равных по соотношению «время/результат». Особенно ценно, что вы получаете не просто геометрию, а связанные с ней атрибуты — названия, административные коды (OKATO/TIN), статус и историю изменений.