Я, наконец, нашел решение. https://opensignal.com/ отображает различные носители, уровень их сигнала и скорость передачи данных через добровольцев, которые устанавливают свои приложения на своих телефонах. Замечательно количество собранных данных.
У них также есть портал для разработчиков: https://opensignal.3scale.net/, где вы можете зарегистрироваться, чтобы получить ключи API. По какой-то причине документация API не доступна на их веб-сайте. Он по-прежнему доступен на их archived website. Это описывает json-формат ответа.
В качестве примера, следующий код питона извлекает JSon информации:
import json
import urllib2
def get_network_stats(lat, lng, bounding_box_size):
key = '<key>'
url = 'http://api.opensignal.com/v2/networkstats.json?' + \
'lat=' + str(lat) + '&lng=' + str(lng) + \
'&distance=' + str(bounding_box_size) + \
'&json_format=2&apikey=' + key
return json.load(urllib2.urlopen(url))
response = get_network_stats(40.7128, 74.0059, 1)
response
имеет сетевую статистику для коробки 1kmx1km ограничивающей вокруг заданных координат. Это среднее значение всех собранных данных, разделенных сетевыми провайдерами.