我需要一个具有 0.1°x0.1° 分辨率的整个世界的网格场。每个像素都应包含像素所在的国家/地区名称。
我尝试使用 Python 中的 reverse_geocode 包生成该字段。问题是,当您输入国际水域中的位置时,该软件包会提供最近国家的名称,而不仅仅是“国际水域”(参见下面的示例代码)。我也考虑过使用 google,但我想有超过 600 万像素有待确定,商业服务可能不是最佳选择。
import reverse_geocode as rg
# coordinates in atlantic ocean
lat_water = 35
lon_water = -29
coordinates = [(lat_water, lon_water)]
result = rg.search(coordinates)
country = result[0]['country']
print('expected: international waters')
print('from geocode:', country)
# output
# expected: international waters
# from geocode: Portugal
有没有办法做到这一点,而不使用在我的目标分辨率下可能包含海洋/无海洋掩码的外部数据集?