Сценарии использования

Создание проверки школьного микрорайона по адресу

Каждую весну отдел приёма школьного округа снова и снова отвечал на один и тот же вопрос от семей, которые только что переехали, собирались переезжать или просто не были уверены: к какой школе относится мой адрес. Ответ вручную означал, что сотрудник сверял адрес с границами школьных микрорайонов, которые велись в виде карт и списков. На одну семью уходило несколько минут, и этот процесс плохо масштабировался в недели перед сроками зачисления, когда число вопросов резко возрастало.

Округ создал инструмент самообслуживания для типичных случаев. Семья вводила свой адрес, инструмент отправлял его в /v1/forward и получал совпадение с координатами, поскольку границы микрорайонов велись как географические области, для проверки которых нужна координата, а не текстовый адрес, который невозможно напрямую сравнить с формой границы. Когда адрес превращался в координату, определить, в какой микрорайон попадает точка, было простой геометрической проверкой, которую выполняла собственная система округа, сравнивая точку с каждым имеющимся многоугольником границы.

Для адресов, найденных с высокой уверенностью и оказавшихся явно внутри одной границы, инструмент сразу давал ответ и называл закреплённую школу. Для адресов, найденных с меньшей уверенностью или расположенных очень близко к линии границы, что часто бывает с новыми застройками или адресами на стыке двух зон, инструмент помечал результат как требующий подтверждения в отделе приёма, а не называл школу с большей уверенностью, чем позволяло само совпадение. Неверный ответ в таком важном вопросе, как закрепление за школой, был куда более серьёзной проблемой, чем изредка появляющееся сообщение «свяжитесь с нами для подтверждения».

Это различие было настолько важным, что округ заложил его намеренно, а не добавил в последний момент. Совпадение геокодирования отражает, насколько уверенно найден адрес, и если бы все совпадения считались одинаково надёжными, инструмент уверенно давал бы неверные ответы именно для тех адресов, которые с наибольшей вероятностью действительно неоднозначны: расположенных прямо у края границы, где ошибка сильнее всего нарушает планы семьи, полагающейся на ответ.

Инструмент существенно сократил число звонков в отдел приёма в самые важные недели и освободил сотрудникам время на сложные случаи, такие как адреса у края границы и семьи в необычных обстоятельствах, вместо того чтобы сотни раз повторять одну и ту же простую проверку. Округ также время от времени использовал то же геокодирование для проверки собственных карт микрорайонов: он проверял, правильно ли закреплены по официальным данным округа о границах адреса у границы, которые оспаривали семьи, и попутно выявил небольшое число реальных ошибок в картах.

Использование было сезонным и концентрированным: резкий всплеск в недели перед сроками зачисления и затишье в остальное время года. В спокойные периоды с этим хорошо справлялась бесплатная дневная квота, а всплеск сезона зачисления покрывал предоплаченный баланс, и округу не пришлось переходить на тариф, рассчитанный на самые загруженные недели, круглый год.

Документация по обоим эндпоинтам находится по адресам /docs/forward-geocoding/ и /docs/postal-code-lookup/.