Здравствуйте!
После предыдущей статьи (часть 1) я получил много отзывов о работе открытого API геолокации по WiFi и вышкам мобильных сетей.
В этот раз я хочу представить свои исправления, лицензирование проекта, геопозиционирование по нескольким точкам доступа, кейсы использования и самое главное — текущие проблемы
Сначала об исправленных ошибках:
Открытые данные
Основной критикой в сторону моего 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.8M+ открытых данных (уникальных вышек)
Данные «как есть»
Здесь данные, на которые не распространяются никакие лицензии.
Источников много, данные получаются достаточно достоверные.
Скачать данные напрямую нельзя, но возможно получить в любом количестве через 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 симкарты, либо супер карты телефонов, которые показывают все видимые вышки, примеров я не знаю).
Скачать данные
Открытые данные
Главный вклад в открытые данные привнес великолепный проект 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 точек доступа соответственно) доступно два проекта.
Доступность
Работоспособность сервиса «почти» гарантирован в течении 3х лет, точнее до конца 2018 года при наличии высого количества запросов со стороны пользователей и 1 года при отсутствии нагрузки.
Фактически работает два сервера в назависимых дата-центрах.
Средний показатель uptime за последний квартал 99,923% (по данным Яндекс.Метрики).
Обратная совместимость каждой версии API гарантирована через ключ «v=» бессрочно.
Пояснение
Ни при каких обстоятельствах я не претендую на владение данными этого проекта. Я лишь хочу, чтобы в интернете был достоверный обширный и доступный источник геолокационных данных. Все данные принадлежат правообладателям.
P.S. Я доступен в любое время дня и ночи по электронной почте alex@mylnikov.org и готов выслушать любую критику, пожелания и предложения.
После предыдущей статьи (часть 1) я получил много отзывов о работе открытого API геолокации по WiFi и вышкам мобильных сетей.
В этот раз я хочу представить свои исправления, лицензирование проекта, геопозиционирование по нескольким точкам доступа, кейсы использования и самое главное — текущие проблемы
Сначала об исправленных ошибках:
- Исправлена грамматическая ошибка в ответе сервера (возвращался «lan» в место «lat») ключ «v=1.1»
- Добавлено лицензирование (об этом в конце)
Мобильные сети
Открытые данные
Основной критикой в сторону моего 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.8M+ открытых данных (уникальных вышек)
Данные «как есть»
Здесь данные, на которые не распространяются никакие лицензии.
Источников много, данные получаются достаточно достоверные.
Скачать данные напрямую нельзя, но возможно получить в любом количестве через 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 точек доступа соответственно) доступно два проекта.
- ключ data=open. Данный ключ дает гарантию, что данные из ответа были получены исключительно из открытых источников. Данные распространяются под лицензией MIT
- отсутствие ключа data=open не дает никаких гарантий об источниках данных, а также данная часть проекта не лицензируется вовсе.
Доступность
Работоспособность сервиса «почти» гарантирован в течении 3х лет, точнее до конца 2018 года при наличии высого количества запросов со стороны пользователей и 1 года при отсутствии нагрузки.
Фактически работает два сервера в назависимых дата-центрах.
Средний показатель uptime за последний квартал 99,923% (по данным Яндекс.Метрики).
Обратная совместимость каждой версии API гарантирована через ключ «v=» бессрочно.
Пояснение
Ни при каких обстоятельствах я не претендую на владение данными этого проекта. Я лишь хочу, чтобы в интернете был достоверный обширный и доступный источник геолокационных данных. Все данные принадлежат правообладателям.
P.S. Я доступен в любое время дня и ночи по электронной почте alex@mylnikov.org и готов выслушать любую критику, пожелания и предложения.
Комментарии (8)
johndow
17.06.2015 18:54Как спрашивавший в прошлый раз «Чем вам OpencellID не угодил?» — жму руку. :)
Из фича реквестов: фоллбэки как в combain , особенно полезен:
w4f – Used to support mobile units only able to read a 4 CID Hex digits of a WCDMA CID (normally 8 CID Hex digits). Search the CID but just compare the 4 less significant hex digits.
mylnikov Автор
18.06.2015 18:59Идея хорошая. Я ей займусь, если будет интерес со стороны аудитории. фоллбеки несколько усложняют структуру.
johndow
17.06.2015 18:58И ещё фича реквест: API совместимый с Google Maps Geolocation API, MLS его также поддерживает.
mylnikov Автор
18.06.2015 19:05Я попробую реализовать этот API, однако, возникнет проблема с кешированием. Сейчас ключем кеширования является url, который в полной мере отражает запрос. Запросы POST кешировать с помощью стандартных средств значительно труднее.
Evengard
А всё-таки raw данные я думаю многие-бы захотели скачать…
mylnikov Автор
Поясните, пожалуйста, что вы имеете в виду
DarkByte
Хочется не API, а содержимое базы целиком, дабы развернуть у себя. Например как с GeoIP, периодически обновляемая бинарная база, которую каждый желающий скачивает себе и использует локально.
mylnikov Автор
Скачать базу открытых данных возможно. Распространять «не открытые» данные считаю не разумным.