Вышел Gazetteer — офлайн геокодер на Python, который не врёт на границах
Небольшое напоминание, зачем это вообще нужно:
➡️ Reverse geocoding — когда есть координаты, а нужно понять что там: страна, регион, город. Нужно для аналитики доставки, логистики, геотаргетинга, обработки GPS-логов. Проблема: большинство офлайн-решений ищут ближайшую точку (nearest-neighbor). У границ это ломается — ближайший город может быть в другой стране.
Gazetteer проверяет, в какой полигон реально попадает координата. KD-Tree для быстрого отсева + валидация вхождения в polygon.
Характеристики
🔘210+ стран, 145 000+ административных границ
🔘10 000 координат за <2 секунды (<0,4 мс на точку)
🔘Single-process и multiprocessing
🔘Без внешних API — никаких лимитов и платежей
🔘Автор говорит, что начинал как toy project, но оказалось production-ready.
📎 Код на GitHub, документация на сайте
@zen_of_python
Post #4693
3.41K
- 🔥 9