python - 计算邮政编码/邮政编码 python 之间的(公路旅行)距离

标签 python google-maps zipcode postal-code

我有一个包含开始和结束邮政编码(英国相当于美国邮政编码)的 csv 文件,我想计算两者之间的简单距离、道路行驶距离和行驶时间。我想要走的路是以一种或另一种方式使用谷歌地图。我首先尝试使用一些电子表格和以下网址 http://maps.google.com/maps?saddr= "&B2&"&daddr="&A2&"但是

  1. 我不知道如何从谷歌地图中检索结果距离
  2. 我想知道一些更多的 pythonic 方法来解决这个问题

最佳答案

邮政编码之间的距离可以通过pgeocode库获取。与上面的响应不同,它不查询 web API,因此更适合处理大量数据,

 >>> import pgeocode

 >>> dist = pgeocode.GeoDistance('GB')
 >>> dist.query_postal_code('WC2N', 'EH53')
 536.5  # retured distance in km

有关这些邮政编码的更多信息,包括纬度和经度,可以通过以下方式查询,

 >>> nomi = pgeocode.Nominatim('GB')
 >>> nomi.query_postal_code(['WC2N', 'EH53'])
   postal_code country code                                     place_name  \
 0        WC2N           GB                                         London   
 1        EH53           GB  Pumpherston, Mid Calder, East Calder, Oakbank   

   state_name state_code     county_name county_code community_name  \
 0    England        ENG  Greater London    11609024            NaN   
 1   Scotland        SCT    West Lothian         WLN            NaN   

   community_code  latitude  longitude  accuracy  
 0            NaN   51.5085  -0.125700       4.0  
 1            NaN   55.9082  -3.479025       4.0

这使用 GeoNames postal code dataset 获取 GPS 坐标,然后计算这些坐标的 Haversine(大圆)距离。支持大多数国家/地区。

在英国的特殊情况下,GB 数据集中仅包含外部代码,完整数据集也可作为 GB_full 使用,但目前为 not supported地理编码。

关于python - 计算邮政编码/邮政编码 python 之间的(公路旅行)距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44176381/

相关文章:

python - 在 python/jinja 中打印非 ascii 字符

javascript - Google Maps API V3 更新前清除标记

location - 按邮政编码或其他基于位置的数据检索策略过滤

python - 将纬度/经度分配给邮政编码

database - 计算邮政编码之间的距离...和用户。

Python字典递归搜索

python - 如何从文件中打印值?

python - 如何内省(introspection) App Engine 数据存储模型?

ios - swift 链接器命令失败,退出代码为 1 Google Maps iOS Util pod install

google-maps - 谷歌地图 API v 3 : Heatmap Creation Issue