dobrovolskiy.com
EN
← все проектыинфраструктура · 2026

geo.ryta.online: собственный картографический API

Собственный стек OpenStreetMap для России/СНГ: векторные тайлы, геокодер Photon и API-шлюз с учетом запросов и платными тарифами

Полноценный собственный гео-бэкенд, созданный, чтобы избавить приложение RYTA от сторонних картографических API: 13 выгрузок Geofabrik объединены, импортированы в PostGIS через osm2pgsql, отрендерены в векторную...

geo.ryta.online: собственный картографический API

Полноценный собственный гео-бэкенд, созданный, чтобы избавить приложение RYTA от сторонних картографических API: 13 выгрузок Geofabrik объединены, импортированы в PostGIS через osm2pgsql, отрендерены в векторную базовую карту PMTiles (Planetiler/tippecanoe) и проиндексированы для прямого/обратного геокодирования Photon на русском и английском.

Шлюз на Node/Express оформляет это как небольшой SaaS: регистрация с подтверждением по телефону, API-ключи с областями для геокодирования и тайлов, квоты по тарифам с HTTP 429, биллинг через Т-Банк, личный кабинет и админка.

Вспомогательные инструменты включают редактор областей OSM, который переносит правки из JOSM в базовую карту и обратно, и живой просмотрщик карты ST_AsMVT поверх PostGIS.

Что умеет

  • Полный OSM-конвейер для России + 12 соседей по СНГ: слияние PBF-выгрузок, osm2pgsql в PostGIS, сборка базовой карты PMTiles ~10 ГБ, раздача ее как статического файла с range-запросами
  • Индекс геокодера Photon строится вне сервера из импорта Nominatim (тяжелая сборка, легкая раздача: индекс ~5,5 ГБ, heap ~2 ГБ) с автодополнением RU/EN и обратным геокодированием
  • API-шлюз с учетом запросов: две области ключей (геокодирование rgk_*, карты rmk_*), дневные/месячные квоты, 429 при превышении, панель использования, публичное демо без ключа
  • Беспарольная аутентификация только по телефону с подтверждением входящим звонком через подписанный вебхук ВАТС Ростелекома; тарифы Free/Starter/Business с оплатой через Т-Банк
  • geo-demo: тестовый стенд на MapLibre со статистикой времени ответа Photon, OSM-тегами по каждому результату, обратным геокодированием по клику и инспектором объектов векторных тайлов
  • edit-osm: инструмент на Flask, чтобы нарисовать рамку на своей карте, вырезать ее osmium, отредактировать в JOSM через Remote Control, слить обратно и пересобрать базовую карту; плюс эксперимент с OSM API-DB (cgimap)
  • pg-map / martin / kepler.gl: MVT-тайлы на лету прямо из PostGIS через ST_AsMVT, конфигурация тайл-сервера Martin, kepler.gl v3 поверх pg_featureserv без токена Mapbox
  • Две цели развертывания (VPS evgen с переиспользованием существующего Photon и main-server с приватным реестром), управляемые PowerShell-скриптами с поддержкой dry-run и host-блоками Caddy

Независимость от картографических API Google/Яндекса для всего региона СНГ на VPS с 2 ГБ RAM благодаря разделению на тяжелую сборку и легкую раздачу (статический файл PMTiles + компактный индекс Photon); продуманная архитектурная документация с расчетами размеров (кэш osm2pgsql против flat-nodes, множители дискового пространства); SaaS-слой (ключи, квоты, биллинг), построенный за несколько недель; цикл редактирования QGIS/JOSM, благодаря которому собственные объекты попадают и на карту, и в поиск.

Нужно что-то похожее?

Делаю это вживую на звонке в Zoom / Яндекс Телемост, вы смотрите на экран, таймер останавливается по вашему слову. Первые 15 минут бесплатно.

Ещё проекты

Общий стек PostgresОдин защищенный экземпляр Postgres 16 с отдельными ролями и базами для каждого проекта на мультитенантном Docker-хостеОблачные контроллеры FOURLEDSКонтроллеры освещения с сотовой связью для фасадов исторических зданий: шесть плат в KiCad, прошивка на ESP-IDF, сервер управления парком, дашбордСверхлегкий просмотрщик IP-камерСверхлёгкий многокамерный просмотрщик и регистратор RTSP: десятки камер на одном слабом ПК или сервере написанный на чистом C.