Как отфильтровать страну по широте и долготе? - PullRequest
0 голосов
/ 03 ноября 2019

У меня CSV 2 миллиона строк. Там только два столбца Широта и долгота. Я хочу отфильтровать страну. Например, я хочу отфильтровать только индийский лат и лонг.

1 Ответ

0 голосов
/ 03 ноября 2019

Существует два способа найти страну по широте, т.е. онлайн и оффлайн. Я объясню оба ниже:

Онлайн

Вам необходимо установить пакет с именем geopy

pip install geopy

Следующий код позволит вамобратное геокодирование широты и долготы с помощью веб-службы геокодирования OpenStreetMap

from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="test_app")  # enter a name for your app
location = geolocator.reverse("27.1751, 78.0421")
print(location.raw['address']['country'])

Однако это ненадежно.

Автономный режим

Лучшим вариантом является использование автономного геокодирования с использованием reverse-geocode

pip install reverse-geocode

Вот пример кода

import reverse_geocode
coords = (27.1751, 78.0421), (28.5245, 77.1855)
reverse_geocode.search(coords)
...