Геолокація без GPS (частина 2)

wifiПривіт!
Після попередньої статті (частина 1) я отримав багато відгуків про роботу відкритого API геолокації по WiFi і вишок мобільних мереж.
В цей раз я хочу представити свої виправлення, ліцензування проекту, геопозиціонування по декількох точках доступу, кейси використання і найголовніше — поточні проблеми

Спочатку про виправлені помилки:
  1. Виправлено граматична помилка у відповіді сервера (повертався «lan» місце «lat») ключ «v=1.1»
  2. Додано ліцензування (про це в кінці)



Мобільні мережі
Відкриті дані
Основною критикою в бік мого API було питання: «Чим поганий OpenCellID?» відповідь: нічим, крім того що в цій базі мало даних.
На даний момент у них 7,8 млн вишок. Це хороший результат для повністю відкритої бази, але головний мінус — це погана точність.
Сильно допомогла база Mozilla Location Service для збільшення карти покриття відкритих даних.
З усіх відкритих баз я викинув недостовірні дані, такі як радіус дії близько 1200 км, або ж радіус дії 0. Тобто вишка була «помічена» всього один раз, а отже, положення по ній можна оцінити тільки якісно і по-хорошому точність 35 км як у середній стільники (максимальна дальність середньої стільники за містом).
Відкриті дані оновлюються автоматично один раз в тиждень. Тобто база завжди актуальна.
Зараз у базі 13 млн. записів. Це відмінний результат покриття по всьому світу. Сподіваюся, запитань, чим це краще OpenCellID не буде. Важливо зазначити, що в API немає ніяких обмежень за кількість запитів.
Приклад: http://api.mylnikov.org/mobile/main.py/get?v=1.1&mcc=250&mnc=02&cellid=200719106&lac=7840&data=open
Скільки даних: 13.8 M+ відкритих даних (унікальних веж)

Дані «як є»
Тут дані, на які не поширюються жодні ліцензії.
Джерел багато, дані виходять досить достовірні.
Завантажити дані безпосередньо не можна, але можливо отримати в будь-якій кількості через API.
Система роботи проста. Як тільки система отримує запит, на який не може відповісти з поточної бази, виробляються запити до джерел, які потенційно можуть знати про регіоні запиту.
Важливо відзначити, що «отримані дані проходять повний цикл оновлення за місяць.
Приклад: http://api.mylnikov.org/mobile/main.py/get?v=1.1&mcc=250&mnc=02&cellid=200719106&lac=7840

Розгорнутий опис роботи з API геолокації мобільних мереж

Уточненое розташування
В документації описана функція геолокації по декількох мобільних вишок. Більшість відкритих сервісів робити це не вміють і функція в діапазоні GSM-EDGE є вкрай корисною, однак відповідь API швидше носить якісну оцінку геоположения. Я буду радий, якщо хто-небудь напише мені (alex@mylnikov.org) і допоможе вирішити завдання «тріангуляції» по декількох мобільних вишок.
Максимальна кількість точок доступу: 12
Приклад: https://api.mylnikov.org/mobile/main.py/get?v=1.1&search=MjUwLDAyLDc4...
Потенційно, при роботі деяких телефонних апаратів можливо отримувати дані про вишках декількох телефонних операторів (або 2 сімкарти, або супер телефонів карти, які показують всі видимі вишки, прикладів я не знаю).

Завантажити дані


WiFi точки доступу
Відкриті дані
Головний внесок у відкриті дані привніс чудовий проект OpenWLANMap дані з даного проекту оновлюються раз на тиждень.
Використовуються ще кілька джерел, про них описано в докладної документації.
Приклад: https://api.mylnikov.org/wifi/main.py/get?v=1.1&bssid=00:0C:42:1F:65:E9&data=open

Дані «як є»
Джерел мало.
Завантажити дані безпосередньо не можна, але можливо отримати в будь-якій кількості через API.
Система роботи ідентична роботі API для мобільних мереж.
Період оновлення 1 місяць
Приклад: https://api.mylnikov.org/wifi/main.py/get?v=1.1&bssid=A0:F3:C1:3B:6F:90

Розгорнутий опис роботи з API геолокації по WiFi точок

Уточненое розташування
В документації описана функція геолокації по декількох мобільних вишок. Для точок доступу WiFi функція дуже корисна. Хоча і дає якісне становище, проте зазвичай мережевий адаптер мобільного пристрою найчастіше отримує аркуш всіх точок доступу навіть за відсутності підключення до будь-якої точки доступу. З допомогою цих даних за один запит можна отримати координату з точністю до 150 метрів.
Максимальна кількість точок доступу: 20
Пояснення: Зрозуміло, дані в базі є не про всіх точках вашої квартири, проте, ті, які будуть знайдені будуть використані для уточнення геопозиции.
Приклад: https://api.mylnikov.org/wifi/main.py/get?v=1.1&search=Mjg6Mjg6..

Завантажити дані

Актуальні проблеми
  • Абсолютно не ясно як вибирати дані за умови наявності більше одного джерела. Про деяких точках доступу відомо кількох сервісів, причому невідомо у кого з них дані більш свіжі і точні.
  • Не відомо де шукати додаткові джерела даних. Буду вдячний будь-якого джерела.
  • Навантаження після першої статті сильно не збільшилася. Виникає відчуття, що сервіс не надто цікавий, можливо це із-за недовіри або молодості проекту.
  • «Уточнена» геолокація працює м'яко кажучи погано.
Кейси використання
З моєї точки зору API може бути корисно різних додатків від геолокационых додатків до прихованого націлювання контенту додатків


Ліцензування
Ліцензування у проекту кілька хитре.
Через одне API (для мобільних вишок і WiFi точок доступу відповідно) доступно два проекти.
  1. ключ data=open. Даний ключ дає гарантію, що дані відповіді були отримані виключно з відкритих джерел. Дані поширюються під ліцензією MIT
  2. відсутність ключа data=open не дає ніяких гарантій про джерела даних, а також дана частина проекту не ліцензується зовсім.
Доступність
Працездатність сервісу «майже» гарантований протягом 3х років, точніше до кінця 2018 року при наявності високого кількості запитів з боку користувачів і 1 року при відсутності навантаження.
Фактично працює два сервера в назависимых дата-центрах.
Середній показник uptime за останній квартал 99,923% (за даними Яндекс.Метрики).
Зворотна сумісність кожної версії API гарантована через ключ «v=» безстроково.

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

P. S. Я доступний в будь-який час дня і ночі по електронній пошті alex@mylnikov.org і готовий вислухати будь-яку критику, побажання та пропозиції.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.