Експериментальний пошук

Привіт.

Я вирішив спробувати написати пошук для ОСМ.
Перша (експериментальна) версія поки ще не підтримує:

  • пошук в обмеженій області
  • інформацію про місто, область, країну з полігону (зараз над цим працюю)
  • зворотній геокодинг (які об’єкти знаходяться поряд з координатами)
  • пошук по оновленим об’єктам

Шукати також можна по типу об’єкта, але, поки що, так як записано в тегах. Для автобусної зупинки, наприклад, bus_stop, для супермаркету - supermarket.

Із-за обмежень на серверах Google, пошук працює тільки для Києва Київської області.

Хотів би почути від вас, чи є сенс розвивати цей проект далі, які будуть поради, побажання і які об’єкти не були знайдені.

Оновлення 12.05.2011:

  • Доданий пошук інформації про місто, район, область з полігону, в якому знаходиться об’єкт.
  • Змінений зовнішній вигляд:
    • css від Mapnik
    • карта відкривається в iframe
    • підказка при наборі запиту
  • Пошук розширений до Київської області.

Для пошуку адресації об’єкта використовується інформація в такому порядку:

  1. Теги адреси на самому об’єкті.
  2. Теги з відношення street, assosiatedStreet
  3. Теги з об’єкту, в якому знаходиться поточний об’єкт.

Вся інформація доповнюється, а не переписується. Інформація про місто, район, область береться з admin_boundary полігонів.

Ура! Можливо, це достойна заміна номінатім-у, навіть якщо регіональна.
Дозвольте поцікавитись, які обмеження на гуглі не дають розширити область пошуку?

Обмеження розміру файла. Для Києва два файла з індексом займають три і сім мегабайт, для всієї України - 20 і 30, а у Гугла обмеження в 10 мб на файл.

а чим nominatim не такий? я трохи в коді копирсався - багато про що подумали там вже і зробили…

Я це більш для себе роблю, але можливо щось достойне вийде - тому експеримент. :slight_smile:
Номінатім не підтримує наприклад відношення street, оновлюється повільно і іноді видає дивні результати (третій результат зверху).
Не дарма ж роблять Номінатім2.

коротко кажучи, номінатім досить дивна система пошуку з дуже серйозними затримками, баги в ньому не фіксяться, бо розробник займається другою версією, яка, до речі, ще невідомо коли вийде.

iONiX
може є зміст розділити ті 20-30мб файли на кілька маленьких? Ще можна тримати в GAE-шній базі даних, там лише обмеження на кількість запитів, зате сервер частину роботи за тебе зробить.

Я використовую бібліотеку Lucene для створення індексу, і вона сама створює файли. Поки-що мені не вдалася обмежити максимальний розмір одного файлу, але це і не важливо - все рівно, поки це лише початок, і якщо це переросте в щось більше, то буде окремий хостинг.
Зараз проблема в пошуку, чи попадає точка в полігон - це займає дуже багато часу - думаю яку оптимізацію зробити.

Оновив пошук