Кто-нибудь знает хороший способ сделать автономное обратное геокодирование?
Мне нужно сделать обратное геокодирование в автономном режиме, предназначенное для работы в качестве cron-заданий. Обратный кодер должен давать город, штат для миллионов "записей".
Какие существуют услуги (платные или бесплатные), которые могут сделать "это"?
Я посмотрел на http://www.geonames.org/, но это не совсем то, что мне нужно.
2 ответа
Получить таблицу координат всех городов (и в каком штате город находится). Для любой координаты выберите ближайший город. Для эффективного использования закодируйте таблицу как R-дерево.
Ссылки на R-дерево и т. Д. См. В разделе " Обратное геокодирование без веб-доступа".
Получить таблицу городов из географических названий, см. Учитывая координаты широты и долготы, как мы можем узнать город / страну?
Этот вопрос довольно старый, но я нашел другое решение, помимо популярного решения на основе R-Tree.
Рассматривая карту как изображение, вы можете закодировать карту по длине в (отсортированный) список кортежей (x, y1, y2, loc) с желаемым разрешением. Чтобы найти положение точки (a, b), просто найдите строку, где x = a и y1 <= b <= y2.
Это решение эффективно, так как карта имеет фиксированное разрешение. По сравнению с решением на основе R-Tree, оно имеет то преимущество, что не вводит новые библиотеки в существующие системы. Данные могут быть эффективно запрошены обычной базой данных SQL, пока (x, y1) проиндексированы, или запрошены с помощью двоичного поиска в статическом файле.
Существует веб-сайт (https://reverse-geocoding.com/), который предлагает такую базу данных и бесплатные демонстрации того, как это работает. Раскрытие информации: я работаю над этим сайтом.