我有邮政编码+4,我想提取它们的经度和纬度代码。
我尝试使用 pgeocode 但这个包中没有任何 zip+4 数据。我可以使用什么包? pgeocode 仅包含以下列:country_code、postal_code、place_name、state_name、state_code、county_name、county_code、community_name、community_code、latitude、longitude。
我做了这个-
import pgeocode
nomi = pgeocode.Nominatim('us')
nomi.query_postal_code("360672303")
得到了这个-
postal_code 360672303
country_code NaN
place_name NaN
state_name NaN
state_code NaN
county_name NaN
county_code NaN
community_name NaN
community_code NaN
latitude NaN
longitude NaN
accuracy NaN
但是 36067-2303 的坐标是 lon:-86.477408,lat:32.470205。
'xxxxx-2303'
的最后四位数字(postal_code
)代表送货区域内的具体送货路线,虽然额外的细节使其更加精确,但这不是query_postal_code
的预期输入,因此请尝试仅输入'36067'
:
nomi = pgeocode.Nominatim('us')
a = nomi.query_postal_code('36067')
print(a['latitude'], a['longitude'])
输出:
32.4715 -86.4831
print(a)
:
postal_code 36067
country_code US
place_name Prattville
state_name Alabama
state_code AL
county_name Autauga
county_code 1.0
community_name NaN
community_code NaN
latitude 32.4715
longitude -86.4831
accuracy 4.0
Name: 0, dtype: object
+4有多重要?它能提供更准确的长/拉特吗?如果它们不重要,您可以创建一个新列并删除每个邮政编码的最后 4 位数字。
如果 zip+4 存储为字符串:
zipcode_4 = zipcode_4[:-4]
或
如果 zip+4 存储为 int:
zipcode_4 = int(str(zipcode_4)[:-4])