Территория нельзя

Наш новый совместный с ОВД-Инфо проект посвящен картированию мест, где запрещено проводить митинги. 31 статья Конституции РФ гарантирует свободу собраний, но она ограничена рядом федеральных и региональных законов. Условия отличаются от города к городу, и хотелось увидеть, как выглядит «Территория нельзя» целиком, посчитать её площадь.

Результат проекта: Интерактивная карта «Территория нельзя»


Идея проекта принадлежит ОВД-Инфо, при поддержке OCCRP. Команда ОВД-Инфо провела значительную работу, собрав и проанализировав законодательную базу, чтобы понять  какие запреты действуют в различных городах. Мы помогли подготовить данные и отобразить ограничения на карте.

С аналитическими результатами проекта можно ознакомиться в спецпроекте Коммерсант.ru.

Здесь мы расскажем чуть подробнее о технологической части проекта. Подробнее о методологии можно почитать здесь.

Подготовительный этап. Анализ законодательной базы позволяет представить все ограничения в виде перечней типов объектов и сопутствующим им зонам «отчуждения», где нельзя митинговать.

 

Каждый город в такой таблице представляет собой колонку значений, показывающих: а) действует ли вообще такое ограничение, б) какая зона отчуждения установлена вокруг объекта (если 0, то зона — сам объект, если >0 — то к нему прибавляется буферная зона нужного значения), если ‘нпт’ (непосредственно прилегающие территории), то берется сам объект и зона вокруг него равная максимальному значению по всей РФ.

Каждому типу объектов также сопоставлен соответствующий SQL-запрос, позволяющий выбрать все объекты этого типа из картографической базы данных.  В качестве источника данных мы использовали базу данных OpenStreetMap, наш сервис выгрузки данных по регионам обеспечивает быстрый доступ к структированным данным, к которым легко и просто организовать запросы и выборки.

Этап расчетов. Скрипт на Python, который:

  1. Считывает таблицу типов
  2. Производит выборки
  3. В зависимости от значений по каждому типу в каждом городе производит расчеты буферных зон
  4. Собирает всё вместе в единый слой запретов
  5. Считает общую площадь доступных и недоступных площадей.

Этап проверки. Чтобы убедиться, что мы ничего не забыли, скрипт также загружает результаты в Веб-ГИС, где бета-тестеры могут просмотреть результаты перед их публикацией на основном сайте.

И, наконец, этап публикации. Требования к скорости окончательных карт предъявляются повышенные, отдельный инструмент (Github) превращает данные в векторные тайлы, которые отгружаются на окончательное красивое представление карты «Территории нельзя».

 

Обсуждение закрыто.