【问题标题】:How to filter country from latitude and longitude?如何从经纬度过滤国家?
【发布时间】:2020-02-29 02:56:45
【问题描述】:

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

【问题讨论】:

标签: python pandas geolocation geospatial geo


【解决方案1】:

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

在线

你需要安装一个名为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)

【讨论】:

    猜你喜欢
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多