Назад к карте

Методология

Как Caucasus Street Atlas собирает, классифицирует и обогащает каждую улицу.

1. Источник геометрии и исходных названий

Геометрия, оригинальное (местный алфавит) название и OSM-ID берутся из OpenStreetMap через Overpass API.

Каждый город сначала загружается снимком, затем поддерживается дельта-синхронизацией: переименованные, новые и удалённые объекты попадают в очередь osm_sync_pending и в админскую модерацию.

2. Переводы (en / ru / ka / hy / az)

Сначала используются языковые теги OSM (name:en, name:ru …).

Остаток обрабатывают два прогона ИИ (Gemini Flash через Lovable AI gateway): первый транслитерирует имена, второй переводит топонимы и общие термины. Все значения ИИ пишутся в ту же колонку, что и ручные правки, поэтому корректура всегда перекрывает ИИ.

3. Категоризация (персона / событие / топоним / прочее)

Многоуровневый классификатор: (a) regex по оригинальному имени отлавливает явные топонимы; (b) эвристика по фамилиям: армянские -ян, грузинские -швили/-дзе, азербайджанские -ов/-задə/-оглу, русские -ов/-ев/-ин и т. д.; (c) односложные знаковые имена (Руставели, Маштоц) — по справочнику; (d) спорные случаи проверяются SPARQL-запросом в Wikidata; если Q-id имеет instance-of=human — сохраняются пол, даты, профессии.

Всё, что не классифицировано, остаётся в категории other и видно модераторам как «низкая уверенность».

4. Эпохи

Эпоха (средневековье, Российская империя, ДДР, советский период, независимая Грузия) выводится из named_year и дат жизни персоны через infer_era_from_person(). Триггер БД проставляет значение автоматически, ручная правка имеет приоритет.

5. Обогащение по персонам

Для каждой персоны подтягиваются Wikidata Q-id, годы и места рождения/смерти, пол, этничность, религия, гражданство, профессии и краткая ИИ-биография (2–4 предложения) на всех языках интерфейса.

Уверенность фиксируется по каждому полю. Низко-уверенные значения (например, этничность по фамилии) видны модераторам и правятся через публичную форму.

6. Изображения

Портреты — из Wikipedia (REST API thumbnail); для событий и топонимов — из Commons / городской статьи. Картинки кадрируются с фокусом на лицо/объект. Прямой хотлинкинг исключён.

7. Краудсорсинг

Любой может отправить правку через кнопку «Предложить правку» в карточке улицы. Правка попадает в street_suggestions и требует одобрения модератора; одобренные значения сначала пишутся в street_versions, потом в основную запись — каждая правка обратима.

8. Ограничения

Часть кросс-скриптовых переводов не закрыта (HY ≈ 58 %, EN ≈ 67 % на момент публикации). ИИ-биографии покрывают ~14 % персон и догоняются. Если видите ошибку — используйте «Предложить правку».