使用pyzipcode (django python包),我可以使用下面的代码获得另一个邮政编码(local_zip)半径内的邮政编码。
in_radius = [z.zip for z in zcdb.get_zipcodes_around_radius(local_zip, 10)]
objects_output = Model.objects.filter(Q(zipcode__in=10)).distinct()我能够找到所有的邮政编码,比方说10英里的邮政编码(local_zip),但我想知道确切的里程差异。
这将是所需的输出:
zipcode, miles
90101, 8
90210, 3
90211, 4
... ,...
90234, 10发布于 2021-10-19 16:14:37
我建议对结果进行循环,并获得最新、最长的结果。
from pyzipcode import ZipCodeDatabase
import geopy.distance
zcdb = ZipCodeDatabase()
local_zip = 76244
in_radius = [z.zip for z in zcdb.get_zipcodes_around_radius(local_zip, 10)]
zip1 = zcdb[local_zip]
coords_1 =(zip1.latitude, zip1.longitude)
for zip in in_radius:
zip2 = zcdb[zip]
coords_2 =(zip2.latitude, zip2.longitude)
miles_between = round(geopy.distance.geodesic(coords_1, coords_2).miles, 1)
print("{0}, {1}".format(zip, miles_between))https://stackoverflow.com/questions/68195875
复制相似问题