Основную работу в ответе геокодирования выполняют два поля, и они отвечают на разные вопросы. precision описывает, какое сопоставление найдено: дом, улица, почтовый индекс или город. confidence это число от 0 до 1, описывающее, насколько сопоставление уверено с учётом ввода и доступных данных. Результат может иметь высокую точность и низкую уверенность или низкую точность и высокую уверенность, и оба варианта являются допустимыми результатами, которые стоит обрабатывать по-разному.
Возьмём пример. Запрос полного адреса с номером квартиры может быть определён с точностью house, но с уверенностью 0.6, потому что во вводе была опечатка в названии улицы и геокодеру пришлось угадывать, какая улица имелась в виду. Запрос только названия города может быть определён с точностью city и уверенностью 0.98, потому что было только одно разумное совпадение и никакой неоднозначности. Если ваш код проверяет только точность, вы сочтёте второй, гораздо более надёжный результат почему-то худшим, хотя на самом деле он надёжнее в том, на что претендует.
Практическое правило: фильтруйте по обоим полям, а не заменяйте одно другим. Если вашему сценарию нужна точность до уровня крыши, например для отправки доставки, требуйте precision со значением house и confidence выше порога, который вы установите по результатам тестирования. Если нужно лишь знать, в какой город отправлен заказ, точность city с высокой уверенностью вполне пригодна, а отклонять её из-за того, что это не точность house, значит выбрасывать хорошие данные.
Также полезно рассматривать type как контекст, а не как самостоятельный фильтр. type со значением address рядом с precision со значением street говорит о том, что ввод выглядел как полный адрес, но сопоставился только до уровня улицы. Это полезный сигнал того, что сам адрес мог быть неполным или написанным с ошибкой, а не пробелом в данных геокодера.
Показатели уверенности разных провайдеров нельзя напрямую сравнивать, поскольку единого стандарта расчёта этого числа нет. Рассматривайте шкалу как относительную в пределах ответов одного провайдера, а не как абсолютную вероятность правильности. Выполните собственный набор репрезентативных запросов, посмотрите, где обычно находится уверенность для хороших и плохих совпадений в ваших данных, и выберите порог на этой основе, а не число, которое показалось разумным в документации.
Полное описание обоих полей, включая точные возвращаемые значения точности, приведено в документации по прямому и обратному геокодированию.
Адрес в хорошо картографированном центре города почти ничего не говорит о том, как ваша система справится с сельским маршрутом, спорной границей или запросом вблизи полюсов. Тестируйте сложные случаи намеренно.
Не каждый набор данных с общедоступными на вид сведениями о местоположении можно законно использовать в платном продукте. Реальную границу часто задают условия лицензии, а не техническая доступность.