{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Блог Антона Репушко: заметки с тегом дтп хелпер",
    "_rss_description": "Блог Антона Репушко",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/repushko.com\/tags\/dtp-helper\/",
    "feed_url": "https:\/\/repushko.com\/tags\/dtp-helper\/json\/",
    "icon": "https:\/\/repushko.com\/user\/userpic@2x.jpg?1608852798",
    "author": {
        "name": "Антон Репушко",
        "url": "https:\/\/repushko.com\/",
        "avatar": "https:\/\/repushko.com\/user\/userpic@2x.jpg?1608852798"
    },
    "items": [
        {
            "id": "47",
            "url": "https:\/\/repushko.com\/all\/data-cleaning-stat-gibdd-ru\/",
            "title": "Как работает очистка данных со stat.gibdd.ru",
            "content_html": "<p>Год назад <a href=\"https:\/\/repushko.com\/all\/dtp-stat-helpers\/\">написал скрипты<\/a> для очистки данных статистики ДТП, потому что изначальные данные (именно GPS-координаты) были очень грязными  и их практически нельзя было визуализировать. Сорцы на Гитхабе <a href=\"https:\/\/github.com\/repushko\/dtp_stat_helpers\">имеются<\/a>.<\/p>\n<p>Сейчас скрипты временно неработоспособны, так как Яндексовский геокодер теперь требует ключ для использования API, но скоро я их поправлю.<\/p>\n<p>Я расскажу про красивый и аккуратный способ, как нам точку с неправильными координатами аккуратно подвинуть прямо на улицу, где произошло ДТП.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/graph_explanation.jpg\" width=\"1280\" height=\"960\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Алгоритм очистки данных<\/div>\n<\/div>\n<h2>Описаниме по шагам<\/h2>\n<p>Изначально нам дана синяя точка слева внизу. Это GPS-координаты, которые мы получили из исходных данных. Наша основная зацепка — адрес. Он заполняется вручную и обычно верный.<\/p>\n<p><b>Шаг 1.<\/b> Воспользуемся геокодером. Это такая программа, которая переводит географическое название (город\/село\/улицу + дом) в географические координаты. Я обычно пользуюсь <a href=\"https:\/\/tech.yandex.com\/maps\/geocoder\/\">геокодером Яндекса<\/a>, потому что он точнее для СНГ, но ещё есть <a href=\"https:\/\/nominatim.org\/\">бесплатный от OpenStreetMap<\/a>. Так мы получаем чистую координату дома по адресу (красная точка на рисунке).<\/p>\n<p><b>Шаг 2.<\/b> В OSM хранится граф дорог, при этом они привязаны к географическим координатам (у графа есть точное положение на плоскости). И есть классная особенность: мы можем ввести координаты точки на плоскости и получить кусок графа в радиусе n от этой точки. Общая идея такая:<\/p>\n<ul>\n<li>вводим координаты дома после геокодирования -> получаем круг примерно как на картинке,<\/li>\n<li>выбираем все дороги, попавшие в радиус (можно считать их просто линиями),<\/li>\n<li>строим перпендикуляры из точки до каждой из линий (на рисунке x и y),<\/li>\n<li>выбираем кратчайший (в нашем случае x),<\/li>\n<li>наша красная точка получает новые координаты (уже на ребре графа из OSM) и становится жёлтой точкой,<\/li>\n<li>profit.<\/li>\n<\/ul>\n<p>Так мы кривые координаты ДТП по одному лишь адресу аккуратно перенесли прямо на улицу. Теперь при визуализации всё будет аккуратно и ровно.<\/p>\n",
            "date_published": "2020-06-25T23:15:15+03:00",
            "date_modified": "2020-06-26T09:47:27+03:00",
            "image": "https:\/\/repushko.com\/pictures\/graph_explanation.jpg",
            "_date_published_rfc2822": "Thu, 25 Jun 2020 23:15:15 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "47",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/graph_explanation.jpg"
                ]
            }
        }
    ],
    "_e2_version": 3565,
    "_e2_ua_string": "E2 (v3565; Aegea)"
}