【问题标题】:Getting distance between zipcode (pyzipcode)获取邮政编码之间的距离(pyzipcode)
【发布时间】:2021-06-30 13:37:11
【问题描述】:

使用 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()

我可以找到所选邮政编码 (local_zip) 的 10 英里范围内的所有邮政编码,但我想知道确切的里程差异。

这将是所需的输出:

zipcode, miles
90101, 8 
90210, 3
90211, 4
...  ,...
90234, 10

【问题讨论】:

    标签: django


    【解决方案1】:

    我建议循环遍历结果并获取经纬度。

    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))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2011-04-28
      • 1970-01-01
      相关资源
      最近更新 更多