Комментарии 19
И таких адресов, на которых ломаются даже известные сервисы (да что уж там — все сервисы), их на самом деле десятки тысяч.
Хороший тест на геокодирование, на мой взгляд, выглядит примерно вот так: берете базу ФИАС, целиком. Строите адреса всех домов, какие там есть. А потом их всех геокодируете. Я вас уверяю — у вас впереди будет много чудных открытый, как писал наш классик. Заодно и быстродействие померяете, и получите собственную базу всех домов в РФ с координатами (ну, если получится). Я бы ожидал, что получится у вас хорошо если процентов 70-80%.
Думаю, каждый заинтересованный может взять выборку из своей собственной базы адресов, которые вводят его пользователи, и протестировать качество на ней.
Потому что не имея «эталонных» координат адресов протестировать целиком базу ФИАС не представляется возможным :-) Сервисы будут давать какие-то координаты, но будут ли они верными — как понять? Только вручную смотреть, куда попала точка.
Это вы зря так думаете. Во-первых, некоторые адреса просто не геокодируются. Зачем вам эталлонные координаты, если сервис вообще не сработал?
И кстати, на мой взгляд, один из самых важных параметров ответа сервиса, который только вообще может быть — это качество ответа. Ну то есть, что-то типа «мы тут получили адрес с точностью до города, а улицу вашу мы не нашли, как и номер дома» — это при массовых запросах (когда вы не тыкаете в карту мышкой) наиболее важный фактор. И по нему есть сильные различия — например, дадата выдает его намного более полезным, чем многие другие. А без этого параметра получается примерно вот что — вы просите улицу, а вам дают такую же улицу, но в соседнем поселке. Без шуток — я такое наблюдал. Особенно если этих одноименных улиц много (а это реально так и есть в той же Новой Москве, к примеру).
>Только вручную смотреть, куда попала точка.
Достаточно типичная ошибка — не найдя скажем номер дома, вернуть координаты центра города. Так что такие адреса на карте кучкуются вокруг центра. Глазами это просто сразу видно, но и программно любым алгоритмом кластеризации легко ловится, потому что число точек в кластере размером 100 метров не может быть большим — это же дома.
Что касается того, что «сервис вообще не сработал». Бывают ситуации, когда лучше, чтобы он вообще не сработал, чем если он вернет дом из соседнего города, при этом сделает вид, что «сработал». Т.е. я лучше буду работать с тем сервисом, который будет возвращать ошибку, когда не может определить, чем с тем, который будет выдавать какие то случайные «похожие» адреса.
Согласен. Я думаю, что их больше даже. Только в интерактивном режиме, когда вы ткнули в карту — получили результат, еще как-то пригоден ответ примерный. Если никто на карту не смотрит — примерный вообще не годится, лучше никакого.
Вот что я имел в виду, когда говорил о качестве ответа:
«properties»: {
«accuracy»: «street»
}
То есть, каждый сервис в каком-то виде показывает, что именно он нашел. И эти части ответа одновременно очень интересны, и в тоже время, не идентичны у разных сервисов. Где-то это условный показатель score: 100, в процентах (не значит ровным счетом ничего), где-то — вот такой показатель уровня, до которого мы распознали адрес (намного удобнее для анализа). Я больше скажу — в моей практике сложность работы с разными сервисами геокодирования одновременно по большей части сводилась именно к поддержке вот этой части запроса. Это не значит, что с остальными все просто, но они как-то более менее однозначно отображаются друг в друга.
Полностью согласен. В нашей глубинке все сервисы "ломаются". И подобное тестирование, в лучшем случае, сравнивает техническую сторону сервисов. Хотелось-бы увидеть тестирование покрытия.
Что хорошо с OSM, так это то, что можно самому нарисовать объект, если их единицы.
А еще добавьте сюда, что ФИАС сам не слишком адекватен ситуации. Столкнулись с тем, что (в провинции) объединились два сельских поселения, а ФИАС об этом ни слухом ни духом.
Вообще странно, почему в ФИАС до сих пор нет координат у адресов. При наличии Почты России можно было-бы сделать хоть жилые дома. Причем достаточно быстро, почтальоны везде ходят, смартфоны у всех.
Знаете, организационные проблемы — самые сложные :) У меня как-то был проект по определению координат, достаточно сложный, который в принципе решался очень просто — у компании было мобильное приложение, и оно вполне могло снимать координаты с GPS, в нужные моменты.
То есть, мы эти координаты вычисляли достаточно хитро — а можно было допилить приложение, и оно бы эти данные давало совершенно точные — и почти даром. Но вся проблема в том, что мобильное приложение — это другой отдел. И у них свои планы.
Почтальонам это нужно?
А можно ли какой-то из них использовать на своём сайте без ключа?
Судя по всему nominatim как раз можно: https://operations.osmfoundation.org/policies/nominatim/
И еще тут не упомянуты несколько open source сервисов, скажем описанный тут на хабре газеттер, например (не смог найти ссылку сходу). В том числе специально сделанные под русские адреса. А также несколько вариантов на базе Lucene.
Попробуйте так:
Россия, Москва, Красная площадь, 3
Россия, Казань, проспект Фатыха Амирхана, 13
Россия, Казань, 2-я Центральная улица, 172А
Прямое и обратное геокодирование – тестирование популярных решений