如何从经纬度过滤国家?

时间:2019-11-03 16:54:53

标签: python pandas geolocation geospatial geo

我有200万行的CSV。只有两列经度和纬度。我想过滤一个国家。例如,我只想过滤印度的纬度和经度。

1 个答案:

答案 0 :(得分:0)

有两种方法可以从经纬度(即在线和离线)中查找国家/地区。我将在下面进行解释:

在线

您需要安装名为geopy的软件包

pip install geopy

以下代码可让您使用OpenStreetMap地理编码Web服务对经纬度进行地理编码

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)