Pull to refresh

Comments 14

выгрузить данные в БД, построить индекс и запрос выполнится за минуту

Тоже подумал, что на том же postgis задача решается быстрее и проще, но и на питоне можно индекс сделать, да даже простой AABB тест тут ускорит процесс.

А шарики для пинг-понга в автобусе так посчитать не получится.

полагаю рабочий объем любого автобуса коррелирует с допустимой пассажирской вместимостью — а эта информация открыта

А как у OSM с автобанами и прочими дорогами, которые через город идут и на каждом съезде/выезде город начинается/заканчивается?

дороги не должны прерываться или понижаться в статусе при транзитном проходе через населенный пункт.
а че есть проблемы ?? :)

В целом статья, возможно, даже может оказаться полезной для новичков в теме, но…
Но вам бы стоило отдать ваш код на ревью кому-то, кто пишет на питоне, прежде чем публиковать.
А так получилось, что вы сделали первый неумелый шаг и тут же запилили статью "как ходить". С таким кодом вы плохому научите.


  • Научитесь пользоваться циклами и итераторами в питоне, чтобы не было этого треша с range.
  • Прочитайте, что такое PEP8 и как следует оформлять код.
  • Что за магические константы? 115 -это число городов у вас? В чем проблема была считать все города из файла и не хардкодить такие вещи? Вы пишете для новичков, а это значт, что нужно очень критично относиться к качеству ода и ошибкам… хотя всегда нужно критично относиться.
  • Научтесь пользоваться форматными строками, ваш запрос с конкатенацией освершенно не читабелен.
  • У вас очень длительный процесс (2 дня… офигеть). Почему бы не разбить его на персистентные этапы? Загрузили данные из overpass — сохранили, обработали порцию, запомнили состсояние — сохранили. При повторном запуске скрипта вы просто загрузите гео-данные из файла (если они там есть) и не будете снова нагружать великолепный но захлёбывающийся оверпасс. Любой сбой и вы не пересчитываете все по новой, а продолжаете процесс почти с того места, где прервались.
Спасибо, всё учту
По последнему пункту: конечно при сбое я всё сначала не начинал, просто смотрел на каком городе застрял и начинал с него.

Очень интересный способ презентации API OpenStreetMap! Спасибо за идею!

В задании очевидная ошибка. Нет знаков «въезд в город N», есть знак «въезд в населенный пункт N». Поэтому ограничиваться 115-ю городами в принципе неверно.
Sign up to leave a comment.

Articles