Клуб API Карт

Точность при массовом геокодировании

Пост в архиве.

При геокодировании находится самый релевантный результат.

Но возможно, что из нескольких похожих посёлков будет найден не самый правильный.

Можно как-то управлять точностью запросов?

Чтобы брать результат только в том случае, если найден только один единственный результат?

Делаю так:

        $xml = simplexml_load_file('http://geocode-maps.yandex.ru/1.x/?geocode='.urlencode($row["address"]));
        // Если геокодировать удалось, то записываем в БД
        $found = $xml->GeoObjectCollection->metaDataProperty->GeocoderResponseMetaData->found;
Специфика ещё такая, что при поиске будут использоваться не только города и области, но и уезды с губерниями.

8 комментариев

есть только то что есть в документации 

В документации видел, что самая высокая точность "precision=exact", но как её устанавливать при таком запросе? И поможет ли это?

 

Precision это только про поиск домов.

Я почитал все разделы здесь:
https://tech.yandex.ru/maps/doc/geocoder/desc/concepts/input_params-docpage/
Что там задать я так и не понял. "Максимальное количество возвращаемых объектов" что-ли?

Если нужен один результат, всегда имеет смысл задавать results=1

Но при массовом геокодировании у меня и так по одному результату для каждого запроса.
Я попробовал в запросе .'&results=1', Количество "правильных ответов" осталось то же. Карта нашла и абру-кадабру и все губернии и уезды.

А как можно задать, к примеру, 100%-ое совпадение по тексту?

К сожалению никак (((

А сравнить, что по тексту найдено с тем, что запрошено, можно в строковом виде?