Ваши комментарии

Добрый день, Анастасия.


Задумку функции понял, но в текущем виде она больше путает, чем помогает.


Рассмотрим возможные случаи.


1. Пользователь набирает другой адрес (Большая Садовая), и не знает, что некий "сад Авангард" стал "ул Объездная".

Таких, думаю, большинство. И мы с нашим тестировщиком сюда попали.

Такому пользователю исторические подсказки функционально не помешают. Но привнесут раздражение, т.к. он не поймет, зачем они, и будет считать их ошибкой.


2. Пользователь набирает другой адрес (Большая Садовая), но знает, что "сад Авангард" стал "ул Объездная".

Маловероятный случай - о переименованиях в основном знают только местные жители.

Этому пользователю исторические подсказки не сделают ни лучше, ни хуже.


3. Пользователь набирает изменившийся адрес - новое название.

Привожу этот случай только для полноты. Обсуждаемый механизм к нему не применим.


4. Пользователь набирает изменившийся адрес - старое название (сад Авангард), а новое не знает.

Это как раз тот пользователь, который без исторических подсказок не может выполнить свою задачу. Но сейчас они ему не помогут: он увидит новое название в подсказках, но не поймет, что это оно. Он не найдет того, что ищет (уже раздражение), а тут еще нерелевантные (с его т.з.) результаты (раздражение в квадрате).


5. Пользователь набирает изменившийся адрес - старое название (сад Авангард), но знает и новое.

Ему будет некоторая польза по сравнению с отсутствием исторических подсказок. Если бы их не было, он бы не нашел по старому названию, стал бы искать по новому, и только тогда нашел. А так за один шаг.


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


Но есть способ все эти проблемы решить разом.

Явно обозначать исторические подсказки.

Если человек набирает "сад" и видит

- Большая Садовая

- Садоводческая

- Объездная (бывш. сад Авангард)

то знающий только старое название найдет, что ищет, и никаких вопросов у остальных не возникнет.

> ФИАС-коды домов неустойчивые, они могут меняться (это противоречит идее уникального идентификатора, но факт — налоговая их меняет)

Не знал этого, спасибо за подсказку.


Хотя с конкретно моим случаем разобрались, проблема в API существует: неочевидно, как отличить, когда fias_id содержит код улицы, а когда интервала.

Здравствуйте, Анастасия.


Я хочу идентифицировать адреса по ФИАС, но иметь возможность представлять и дома (как минимум), которых в ФИАС нет.

Для этого нужен код ФИАС наиболее специфичного объекта, найденного в ФИАС. Т.е. если найден дом, то адрес будет представлен просто его кодом ФИАС. Если найдена улица, то код улицы + номер дома. Возможно, и дальше - код города + название улицы + номер дома, и т.д. В качестве такого кода наиболее специфичного объекта я и пытаюсь использовать fias_id. Насколько я понимаю, он для этого и задумывался.


Только то, что он может быть кодом интервала домов, мешает. Для наших задач интервалы не нужны. Поэтому, когда fias_id обозначает интервал домов, я хочу брать вместо него код улицы.

И здесь проблема - неизвестно, когда он означает интервал домов.


Впрочем, проблему можно обойти. Если fias_level == улица, то брать street_fias_id вместо fias_id. Тогда все равно, что обозначает fias_id.


Дальше возникает другая проблема: в библиотеке для C# многие поля, включая street_fias_id, недоступны. Но об этом я заведу другую тему.



Сервис поддержки клиентов работает на платформе UserEcho