Найди участкового
по адресу http://gis-lab.info/qa/openpolice.html
Описание нескольких инструментов для конкурса
Эта статья является описанием инструментов подготовленных в качестве заявки для участия в конкурсе "Открытая полиция", проводившемся в мае 2013 НП "Информационная культура". Результаты конкурса: мобильное приложение - 1-е место, веб-приложение - 2-е место.
Задача: создать удобные инструменты для быстрого поиска ближайшего участкового.
Разработчики: Дмитрий Барышников, Иван Ковалев, Максим Дубинин (NextGIS).
Разработанные инструменты на момент публикации являются полностью функциональными, но их следует считать скорее прототипами, иллюстрирующими принципы и идеи в них заложенные, чем окончательными версиями. Разработчики не несут ответственности за их использование. Приложения пока работают только в границах г. Москвы.
Создание открытого ПО ГИС и реализация проектов |
Эти разработки стали возможны благодаря тому, что данные об участковых раскрываются на сайте 112.ru.
Разработанный набор инструментов состоит из трех частей:
- Инструменты подготовки данных и собственно данные
- Мобильное приложение для обнаружения ближайших участковых по координатам (УСТАНОВИТЬ).
- Веб-приложение для визуализации "зон ответственности" участковых и поиска по адресу (ЗАПУСТИТЬ).
или читайте дальше подробнее.
Подготовка данных и результирующие базы данных
База данных предоставленная организаторами конкурса нам не подошла, так как не содержала важной части данных - адресной информации о сфере ответственности участковых.
Для районирования данных 112.ru использует административно-территориальное деление и коды ОКАТО. Классификатор этих кодов на сайте источника данных устарел и поэтому свежий классификатор использоваться не может. Поэтому сначала получается копия классификатора.
Далее поготовка данных заключается в получении данных с 112.ru в структурированном табличном виде для каждого интересующего кода ОКАТО, данные разбиваются на две таблицы, сами участковые и их сфера ответственности - таблица с перечнем адресов. Эта таблица в дальнейшем проходит процедуру геокодирования.
Геокодирование производится с помощью геокодера http://openstreetmap.ru, для геокодирование может использоваться модуль для свободной ГИС QGIS - Ru-geocoder (Автор: Евгений Никулин).
Производные базы данных (описание см. ниже) можно скачать по: ссылке
Москва
- RU-MOW-loc - база адресов, 42127 шт. (CSV)
- RU-MOW-loc_geo - геокодированная база адресов, 42127 шт. (ESRI Shape)
- RU-MOW-loc_geo_building - выборка домов из OpenStreetMap по геокодированной базе адресов, 14821 шт. (ESRI Shape)
- RU-MOW-man - база участковых 2592 шт. (CSV)
РФ целиком
- RU-RU_loc - база адресов, не геокодирована, 371738 шт. (CSV)
- RU-RU_man - база участковых, не геокодирована, 39175 шт. (CSV)
- RU-RU_photo - фотографии всех участковых РФ - 39641 шт. (JPG)
- RU-RU_mvd - база организаций, геокодированы только адреса по Москве - 19051 шт. (CSV)
Исходный код инструментов: Github
Обнаружение ближайших участковых по координатам на улице
Если вы находитесь на свежем воздухе и у вас устройство на базе Android (версия 3.0 и выше) с модулем GPS, то для обнаружения ближайшего от вас участкового вы можете использовать приложение "Найти участкового". Принцип работы отличается от аналогов в том, что ничего никуда вводить не нужно, определение ближайшего участкового происходит полностью автоматически и без необходимости интернет-подключения.
Google Play, Скачать приложение в виде apk-файла
Как это работает:
- Скачиваем и устанавливаем приложение
- После запуска приложения необходимо скачать базу данных по участковым и, если хотите, базу данных с их фотографиями. Поэтому первый запуск рекомендуется делать вблизи доступного соединения с интернет. В дальнейшем соединения с интернет не нужно.
- Нажмите на кнопку "Найти участкового инспектора" - устройство автоматически попытается определить ваши координаты и затем:
- найти все дома указанные в сфере ответственности участковых в радиусе 1 км от вашего местоположения
- определить расстояния до всех домов
- создать список участковых в радиусе и отсортировать их по близости к вам
- Если нажать на полицейского в результирующей таблице, телефон сразу начнет ему звонить.
Исходный код приложения: Github
Поиск участковых по карте
Сидя дома в удобном кресле, удобно посмотреть кто охраняет наш покой с помощью веб-приложения "Найди участкового".
Как это работает:
- Запускаем браузер и переходим по ссылке
- Вводим адрес (можно подождать секунду появления автодополнения) или находим нужный участок
- На карте разными цветами показаны здания за которые есть ответственные участковые, т.е. эти здания указаны в их зоне ответственности.
- На здания можно щелкнуть, чтобы узнать имя, должность, звание и телефон участкового. Также доступна ссылка на страницу Правоохранительного портала Российской Федерации где представлена карточка выбранного участкового.
- Одновременно показывается информация по разным участковым, разными цветами. Ключ к цветам показывается в легенде, расположенной в верхнем левом углу карты.
- Карту нельзя уменьшать меньше определенного масштаба (17-й уровень).
- На карте также показываются точки организаций - органов охраны правопорядка.
Исходный код приложения: Github
Проблемы исходных данных
- Данные плохо структурированы
- Для поиска региона используются устаревшие коды ОКАТО
- В исходной базе данных отсутствуют многочисленные дома
- Большое количество ошибок и опечаток в исходных данных мешающих их полноценному парсингу
Недостатки представленных разработок
Качество обнаружения и определения сферы ответственности участкового целиком зависит от качества основы OpenStreetMap используемой для геокодирования адресов указанных в сфере ответственности. Рисуйте карты!
Следующие недоработки в представленном ПО было бы неплохо исправить в будущем.
- При парсинге не учитываются улицы указанные целиком, без домов.
- С улиц указанных целиком в базу данных результатов должны попадать все дома.
- При парсинге не обрабатываются диапазоны номеров домов (например: 1-24)
- Диапазон домов должен превращаться в набор домов
- При парсинге не обрабатываются совсем плохо структурированные данные (пример, полный список ошибочных файлов)
- Веб-приложение не оптимизировано для просмотра на браузерах мобильных устройств
Код приложений парсинга, геокодирования и визуализации информации открыт (см. выше ссылки на репозитории на GitHub), мы принимаем пул реквесты.