Обговорення Зворотній зв'язок
Стандартизація запису адрес.
21.02.2023
ChatGPT цю статтю не писав. :)
Одним із перших технічних рішень CityScale було виокремлення адрес із текстів.
Таким чином ми визначаємо місця скоєння злочинів за текстами судових рішень.
Виокремлення реалізовано за допомогою регулярних виразів.
Спочатку вони були досить простими, але ставали все складнішими, щоб враховувати все більше варіантів запису адрес.
Зараз вони є досить ефективними, особливо враховуючи розмір та гнучкість коду. І подальший розвиток виразів вже пов'язаний із врахуванням виключних випадків, які краще усього обробляти окремо за довідником.
У процесі розробки було проаналізовано сотні, якщо не тисячі, варіантів адрес. Серед них чимало хибних і неоднозначних записів, які віднімають додаткові сили та час, чого було б набагато менше при стандартизації запису.
Питання стандартизації актуальне і тим, що в Україні має з'явитись Єдиний адресний реєстр.
Проблеми головним чином виникають із номерами будинків, а саме із літерами та дробами.
Наприклад, 178 і 17В, 2Б і 26, 3О і 30, 2/4 і 2-4, 2\4 і 2/4, вул. Садова 2-а 30 і вул. 2-а Садова 30.
Тут плутаються цифри та літери через те, що простий пробіл часто пропускають.
Дефіс - краще, але теж не підходить, бо може збігатись із числівниками у назві вулиці.
Так само дефіс не працює і для дробових номерів, бо плутається із переліком адрес: '2-4' може означати як '2/4', так і '2,3,4'.
Для останнього прикладу можна сказати: чом би не стандартизувати обов'язкову кому, або щоб числівник завжди був перед назвою?
Але ми прагнемо мінімізувати кількість обов'язкових символів, як це роблять оператори, і при цьому гарантувати надійність запису.
Але ми прагнемо мінімізувати кількість обов'язкових символів, як це роблять оператори, і при цьому гарантувати надійність запису.
Щодо числівників у назві, то у пошуці та переліках за адресами, для зручності, часто першим йде визначальна частина, тобто "Садова" або "Шевченка"(Т.Г. Шевченка і Шевченка Т.Г.). Вимагати змін для усталеної практики буде вкрай важко, тому мінімізуємо зусилля і тут.
Стандарт до якого ми прийшли: літера у подвійних лапках, і пробіл як допоміжне візуальне відокремлення, а для дробу - пряма скісна риска(/).
За стандартом приклади будуть виглядати, як:
178 і 17 "В" або 17"В",
2 "б" або 2"б" і 26,
3 "О" або 3"О" і 30,
вул. Садова 2 "а" 30(два номери у переліку) і вул. 2-а Садова 30 (вулиця Друга Садова 30).
178 і 17 "В" або 17"В",
2 "б" або 2"б" і 26,
3 "О" або 3"О" і 30,
вул. Садова 2 "а" 30(два номери у переліку) і вул. 2-а Садова 30 (вулиця Друга Садова 30).
Щодо інших частин адреси, таких як: під'їзди, корпуси, квартири, офіси, то тут мають йти явні зазначення, повні або скорочені. Тобто не можна позначати: 2\1, 2/1 або 2-1, для 1-го під'їзду у будинку номер 2, або 1-го корпусу комплексу будівель. Дріб має використовуватись тільки для будинків на перетині вулиць, а дефіс - для переліку номерів або у складеній назві.
Бувають ще рідкісні випадки із адресами у військових містечках, відсутністю назв вулиць у гірських селах. Проте їх на порядки менше, і там питання стоїть більше про стандартизацію адресування взагалі, а не тільки їх запису.
Попередня: Війна проти відкритих даних.
Інші публікації.
blog comments powered by Disqus