Найди участкового
Описание нескольких инструментов для конкурса
Эта статья является описанием инструментов подготовленных в качестве заявки для участия в конкурсе "Открытая полиция", проводившемся в мае 2013 НП "Информационная культура".
Разработчики: Дмитрий Барышников, Иван Ковалев, Максим Дубинин (NextGIS).
Разработанные инструменты на момент публикации являются полностью функциональными, но их следует считать скорее прототипами, иллюстрирующими принципы и идеи в них заложенные, чем окончательными версиями. Разработчики не несут ответственности за их использование.
Создание открытого ПО ГИС и реализация проектов |
Эти разработки стали возможны благодаря тому, что данные об участковых раскрываются на сайте 112.ru.
Разработанный набор инструментов состоит из трех частей:
- Инструменты подготовки данных
- Мобильное приложение для обнаружения ближайших участковых по координатам.
- Веб-приложение для визуализации "зон ответственности" участковых и поиска по адресу
Подготовка данных
Для районирования данных 112.ru использует административно-территориальное деление и коды ОКАТО. Классификатор этих кодов на сайте источника данных устарел и поэтому свежий классификатор использоваться не может. Поэтому сначала получается копия классификатора.
Далее поготовка данных заключается в получении данных с 112.ru в структурированном табличном виде для каждого интересующего кода ОКАТО, данные разбиваются на две таблицы, сами участковые и их сфера ответственности - таблица с перечнем адресов. Эта таблица в дальнейшем проходит процедуру геокодирования геокодирования.
Геокодирование производится с помощью геокодера http://openstreetmap.ru, для геокодирование может использоваться модуль для свободной ГИС QGIS - Ru-geocoder (Автор: Евгений Никулин).
Исходный код инструментов: Github
Обнаружение ближайших участковых по координатам на улице
Если вы находитесь на свежем воздухе и у вас устройство на базе Android с модулем GPS, то для обнаружения ближайшего от вас участкового вы можете использовать приложение "Найти участкового".
Как это работает:
- Скачиваем и устанавливаем приложение
- После запуска приложения необходимо скачать базу данных по участковым и, если хотите, базу данных с их фотографиями. Поэтому первый запуск рекомендуется делать вблизи доступного соединения с интернет. В дальнейшем соединения с интернет не нужно.
- Нажмите на кнопку "Найти участкового инспектора" - устройство автоматически попытается определить ваши координаты и затем:
- найти все дома указанные в сфере ответственности участковых в радиусе 1 км от вашего местоположения
- определить расстояния до всех домов
- создать список участковых в радиусе и отсортировать их по близости к вам
- Если нажать на полицейского в результирующей таблице, телефон сразу начнет ему звонить.
Исходный код приложения: Github
Поиск участковых по карте
Сидя дома в удобном кресле, удобно посмотреть кто охраняет наш покой с помощью веб-приложения "Найди участкового".
Как это работает:
- Запускаем браузер и переходим по ссылке
- Вводим адрес (можно подождать секунду появления автодополнения) или находим нужный участок
- На карте разными цветами показаны здания за которые есть ответственные участковые, т.е. эти здания указаны в их зоне ответственности.
- На здания можно щелкнуть, чтобы узнать имя, должность, звание и телефон участкового. Также доступна ссылка на страницу Правоохранительного портала Российской Федерации где представлена карточка выбранного участкового.
- Одновременно показывается информация по разным участковым, разными цветами. Ключ к цветам показывается в легенде, расположенной в верхнем левом углу карты.
- Карту нельзя уменьшать меньше определенного масштаба (17-й уровень).
Исходный код приложения: Github
Проблемы исходных данных
- Данные плохо структурированы
- Для поиска региона используются устаревшие коды ОКАТО (например: )
- Многочисленные дома отсутствуют в исходной базе данных
- Большое количество ошибок и опечаток в данных мешающих их полноценному парсингу
Недостатки представленных разработок
Качество обнаружения и определения сферы ответственности целиком зависит от качества основы OpenStreetMap используемой для геокодирования. Рисуйте карты!
Эти недоработки в представленном ПО было бы неплохо исправить в будущем.
- При геокодировании не обрабатываются улицы указанные целиком, без домов.
- При геокодировании не обрабатываются диапазоны номеров домов (например: 1-24).