1.x系列的变更日志

1.23.0

2020-06-27

这是1.x系列的最后一个功能版本,因为geopy2.0已经发布。除非在问题跟踪器上明确询问,否则1.x系列不会收到任何新功能或错误修复。

  • 补充: Units Conversion 文件部分。

  • 补充:文件现在明确说明地理编码服务不考虑海拔高度。(165)

  • 补充: Point.format_unicode method. It was always present as `_ _对于Python2.7,现在可以将其作为公共方法访问。

  • 补充: geopy.__version_info__ 元组,可用于动态比较geopy版本。

  • 添加:pytest --skip-tests-requiring-internet switch(可能对下游包维护人员很有用)。(413)

  • 改变:不同高度的点现在在距离计算中发出警告。在geopy2.0中,警告将成为一个例外。(387)

  • 更改:改进 Point docs:添加了缺少的公共方法,添加了更多示例。

  • 改变: Nominatim 如示例文档中提到的发出警告的用户 specify_your_app_name_here .

  • 固定的: IGNFrance 已忽略用户名+密码身份验证的代理。(289)

1.22.0

2020-05-11

  • 补充: AlgoliaPlaces 地理编码器。阿尔瓦罗·蒙德贾尔撰稿。(405)

  • 补充: BaiduV3 地理编码器。(四)

  • 补充: MapQuest 地理编码器。作者:Pratheek Rebala。(399)

  • 补充: MapTiler 地理编码器。chilfing提供。(397)

  • 补充: Nominatim -基于地理编码器: zoom 参数已添加到 reverse 方法。作者:David Mueller。(406)

  • 补充: GoogleV3 添加了对中的列表的支持 components 允许指定多个同名组件的param。作者:Pratheek Rebala。(409)

  • 更改:更新了提名文档的链接。作者:莎拉·霍夫曼。(403)

  • 改变: Yandex now issues a deprecation warning when lang parameter is specified in _ _init__. lang 应该传递给 geocodereverse 相反。(350)

  • 改变: format_string param在所有geocoders中已标记为不推荐使用,并将在geopy 2.0中删除。看看新的 Specifying Parameters Once 备选方案的文件部分。

  • 固定的: IGNFrance 错误处理的空结果: geocode 一直在筹集 IndexErrorreverse 返回一个空列表。现在他们都回来了 None . (244)

  • 固定的: TomTom geocoder一直在筹集 GeocoderInsufficientPrivileges 速率限制错误而不是 GeocoderQuotaExceeded .

1.21.0

2020-02-02

  • 补充: HERE geocoder现在支持新的API密钥认证方法。旧的标记为已弃用,现在发出警告。deeplook贡献。(#388)

  • 补充: Nominatim -基于地理编码器: featuretype 参数已添加到 geocode 方法。塞尔吉奥·马丁莫里拉斯撰稿。(365)

  • 补充: Nominatim -基于地理编码器: namedetails 参数已添加到 geocode 方法。作者:enrique a.(#368)

  • 补充: Peliaslanguage 参数已添加到 geocodereverse 方法。作者:Armin Leuprecht。(378)

  • 改变: Yandex 自2019年9月以来,geocoder开始要求所有请求使用API密钥,因此添加了一个警告,要求指定一个密钥,当API密钥丢失时会发出该警告。

  • 更改(打包):sdist现在包含测试。

  • 修正:更新链接到 TomTom 搜索API文档。作者:Przemek Malolepszy。()

  • 固定:偶尔 KeyError('city') 在里面 Geolake . 作者:Dmitrii K.(#373)

1.20.0

2019-05-26

  • 固定的: MapBoxgeocode 方法正在忽略 exactly_one 参数。由Therealzeljko提供。(358)

  • 修正:结果 Locationraw 属性在 MapBox 错误地包含单个字符串而不是完整的服务响应。这可能被认为是一个突破性的变化(尽管之前 raw 值是可用的)。由Sergey Lyapustin和Therealzeljko提供。(354)

1.19.0

2019-03-26

  • 补充: GoogleV3place_id arg已添加到 geocode 方法。由Mesut_ncel提供。(348)

  • 补充: GeolakeGeoNamesMapBoxOpenCageOpenMapQuestNominatimPickPoint 地理编码现在也接受了国家的python列表,而不仅仅是一个字符串。(349)

  • 改变: geocode-specific args have been moved to geocode methods from _ _初始化,以及相应的 `__init__ 参数已被弃用。受影响的地理编码是: GeocodeEarthGeoNamesOpenMapQuestNominatimPeliasPickPointLiveAddress . (350)

  • 固定的: OpenCagecountry ARG不受尊重。塞巴斯蒂安·伊林的贡献。(342)

  • 固定的: GoogleV3 在使用premier时错误地发出关于缺少API密钥的警告。由迈克·汉森提供。(345)

1.18.1

2018-12-16

  • 固定的: GeoNames.reverse_timezone 没有处理由API返回的错误,而是总是引起模糊 KeyError 例外情况。

  • 固定的: GeoNames.reverse_timezone 提高 KeyError 对于没有指定Olson时区ID的点(例如南极洲)。现在有效 geopy.Timezone 返回,其中pytz timezone创建为 pytz.FixedOffset .

  • 固定的: GoogleV3.reverse_timezone 提高 KeyError 对于没有指定Olson时区ID的点(例如南极洲)。现在 None 因为谷歌没有在那里提供任何有意义的数据,所以这些请求会被返回。

1.18.0

2018-12-02

关于geopy 2.0的工作已经开始,请看新的 geopy 2.0 有关详细信息,请参阅文档部分。geopy 2.0将放弃对python 2.7和3.4的支持。为了确保从1.x到2.0的平滑转换,请确保在启用警告的情况下检查代码(即,使用 -Wd 开关)。

  • 添加:地质湖地理编码。由约里克·霍尔坎普提供。(329)

  • 添加:法国班法西(基地地址:国家)地理编码。由S_Bastien Barr_贡献。(336)

  • 添加:TomTom和AzureMaps: language 参数已添加到 reverse 方法。

  • 添加:地名geocoder现在支持 findNearbyPlaceNamefindNearby 逆向地理编码方法 find_nearby_type 的参数 reverse 方法。由Svalee提供。(327)

  • 添加:geonames geocoder现在支持返回特定的时区 Point 通过一个新的 reverse_timezone 方法。由Svalee提供。(327)

  • 添加:地名地理编码 reverse 方法现在支持新参数: langfeature_code . 由Svalee提供。(327)

  • 添加:地名现在支持 scheme 参数。尽管服务本身还不支持 https ,可以启用 https 通过这个新的参数,一旦他们添加了支持,就不需要等待一个新的地理信息发布。

  • 更改:地名现在生成 Location.address 不同:以前看起来像 Kreuzberg, 16, DE ,现在看起来 Kreuzberg, Berlin, Germany .

  • 已更改:所有警告现在指定正确的 stacklevel 这样警告就指向了代码中触发它的位置,而不是地理位置的内部。

  • 已更改:所有警告 UserWarning 将在Geopy 2.0中删除的类别现在具有 DeprecationWarning 类别。

  • 改变: geopy.extra.rate_limiter.RateLimiter 不再是一个实验API。

  • 改变: GoogleV3.timezone 现在,当 at_time 是数字而不是 datetime . 在Geopy 2.0中,这将成为一个例外。

  • 改变: GoogleV3.timezone 方法现在已弃用,取而代之的是 GoogleV3.reverse_timezone ,除了返回新的 geopy.Timezone 对象,它是PYTZ时区的包装,类似于 geopy.Location . 此对象还包含服务的原始响应。 GoogleV3.timezone 将在Geopy 2.0中删除。(332)

  • 改变: Point 如果无法解析字符串的尾部,则构造函数将静默地忽略它,现在它将不被忽略。例如, 75 5th Avenue, NYC, USA 被解析为 Point(75, 5) 但是现在它会提高 ValueError 例外。

  • 固定的: GoogleV3.timezone 方法未处理API返回的错误。

1.17.0

2018-09-13

  • 添加:openmapquest如何继承自nomingim。这就增加了对在nomingim中实现的所有参数和查询(如反向地理编码)的支持。(319)

  • 添加:基于提名的地理编码现在支持 extratags 选择权。由Oleg提供。(320)

  • 添加:地图箱地理编码。由威廉·哈蒙德提供。(323)

  • 添加:Arcgis现在支持自定义 domainauth_domain 价值观。由阿尔比娜贡献。(325)

  • 添加:不成功的HTTP响应的主体现在记录为 INFO 水平。

  • 已更改:反向地理编码方法现在对不能用于构造点实例的字符串查询发出警告。在Geopy 2.0中,这将成为一个例外。

  • 更改:Googlev3现在在没有API密钥的情况下使用时发出警告。

  • 更改:接受边界框的参数已统一,以接受跨越所有地缘的一对对角点。以前的格式仍然受支持(直到geopy 2.0),但现在使用时发出警告。

  • 已更改:API URL的路径部分已移动到所有地理代码中的类属性,这允许在子类中重写它们。Bing和What3Words现在在内部以不同的方式存储API URL。

  • 修正:tomtom和azuremaps一直在为传递布尔值 typeahead 格式错误(即 01 而不是 falsetrue

1.16.0

2018-07-28

  • 补充: geopy.extra.rate_limiter.RateLimiter 类,用于大Pandas数据帧的批量地理编码。另请参见新的 Usage with Pandas 文档部分。(317)

  • 更改:当默认用户代理被用于 nominatim.openstreetmap.org . 使用nomingim时,请始终指定自定义用户代理。(316)

1.15.0

2018-07-15

  • 添加:基于Pelias(前Mapzen)的地球编码地球编码。(309)

  • 添加:TomTom和AzureMaps(基于TomTom)地理编码。(312)

  • 补充:这里是地理编码。由Deeplook提供。(304)

  • 补充:百度现在支持通过新的 security_key 选择权。托尼的贡献。(298)

  • 增加:提名和选择点 view_box 选项现在接受一个点或数字列表,而不仅仅是字符串化的坐标。由Svalee提供。(299)

  • 添加:现在,nominim和pickpoint geocoder支持 bounded 选项,它将结果限制为 view_box . 由卡里莫夫·德米特里提供。(182)

  • 补充: proxies geocoder的参数现在可以接受单个字符串而不是dict。 geopy.geocoders.options.default_proxies 属性以获取更多详细信息。由Svalee提供。(300)

  • 更改:mapzen已重命名为pelias, domain 参数已成为必需的。(309)

  • 已更改:What3Words API已从v1更新为v2。请注意 Location.raw 结果因此发生了变化。由乔纳森·巴奇勒提供。(226)

  • 修正:百度错误地没有正确处理返回的错误。托尼的贡献。(298)

  • 修复:`proxies=`未按预期重置系统代理。

1.14.0

2018-05-13

此版本包含大量公共API清理。还要确保检查更新的文档!一个新的 Semver 增加了Doc部分,解释了Geopy关于打破变化的政策。

  • 添加:nomingim geocoder现在支持 addressdetails 期权在 reverse 方法。塞尔芬塔斯贡献。(285)

  • 添加:arcgis geocoder现在支持 out_fields 期权在 geocode 方法。由乔纳森·巴奇勒提供。(227)

  • 添加:yandex geocoder现在支持 kind 期权在 reverse 方法。

  • 补充:一些地理编码丢失 format_string 选择权。现在所有的地理编码都支持它。

  • 补充: geopy.distance.lonlat 方便转换的功能 (x, y, [z]) 将元组与 Point 实例,使用 (y, x, [z]) . 由Svalee提供。(282)

  • 补充: geopy.geocoders.options 对象,它允许在应用程序范围内配置地理编码程序默认值(如用户代理、超时、格式字符串)。(288)

  • 添加:支持提供自定义SSL上下文。查看文档 geopy.geocoders.options.default_ssl_context . (291)

  • 补充:百度地理编码丢失了 exactly_one 期权在其 reverse 方法。

  • 添加:geocodefarm现在支持 scheme 选择权。

  • 更改:百度和Yandex地理编码现在默认使用HTTPS方案而不是HTTP。

  • 更改:更新arcgis geocoder以使用最新的API。请注意 Location.raw 结果为 geocode 所以有点变化。由乔纳森·巴奇勒提供。(227)

  • 更改:显式传递 timeout=None 在geocoder调用中,现在发出一个警告。目前它的意思是“使用地理编码器的默认超时”,而在geopy 2.0中它的意思是“不使用超时”。(288)

  • 更改:Googlev3 geocode 立即呼叫支持 components 没有 query 正在指定。(296)

  • 更改:地名、googlev3、ignfrance、opencage和yandex错误地 exactly_one=False 默认情况下 reverse 方法,必须为真。此行为已保留,但现在将发出警告,除非 exactly_one 在中显式指定了选项 reverse 需要这些地理编码。默认值将在Geopy 2.0中更改。(295)

  • 改变:现在点抛出一个 ValueError 例外情况,而不是标准化纬度和允许坐标的NAN/INF值。(294)

  • 改变: Vincenty 使用现在发出警告。 Geodesic 应该改为使用。文森蒂计划在Geopy2.0被移除。(293)

  • 变化:ArcGIS wkid 选择权 reverse 调用已被弃用,因为它从未正常工作,而且由于点中的坐标标准化,它不会正常工作。

  • 修正:Arcgis和3字不尊重 exactly_one=False . 现在他们尊重它并返回一个单一位置的列表。

  • 修复:Arcgis在对的空响应引发异常 reverse . 现在 None 按预期返回。

  • 固定的: GeocodeFarm 在空响应上引发异常而不是返回 None . 由阿瑟·彭伯顿提供。(240)

  • 固定的: GeocodeFarm 失踪 Location.address 有时价值。

  • 删除:geopy.geocoders.default_*`常量(支持'geopy.geocoders.options.default_* attributes)。(288)

  • 删除:yahooplacefinder geocoder。(283)

  • 删除:地理编码。(286)

1.13.0

2018-04-12

  • 添加:选择点地理编码。弗拉基米尔卡林金的贡献。(246)

  • 添加:Bing地理编码:地理编码的附加参数 (cultureinclude_country_code )由Bernd Schlapsi提供。(166)

  • 补充: PointLocation 现在可以选择实例。

  • 增加:更精确的距离计算算法 geopy.distance.geodesic ,现在是默认值 geopy.distance.distance . 文森特的用法现在不鼓励使用测地线。这也增加了地缘学对 geographiclib 包裹。查尔斯·卡尼撰稿。(144)

  • 添加:nomingim geocoder现在支持 limit 选择与使用 limit=1 对于 exactly_one=True 请求。塞尔芬塔斯贡献。(281)

  • 改变: Point 现在对不正确或不明确的输入发出警告。其中一些(即非有限值和带外纬度)将被未来版本的地缘学中的值误差例外所取代。(272)

  • 改变: Point 现在使用 fmod 而不是 % 从而得到更精确的坐标归一化。由Svalee提供。(275,279)

  • 更改:使用HTTP代理时,URLLIB的 install_opener 使用了,它正在改变 urlopen 全球呼叫。它不再使用了。

  • 改变: Point 现在提出 ValueError 而不是 TypeError 当传递的参数超过3个时。

  • 固定的: Point 与非iterables相比,引发了一个异常。

  • 固定:A的坐标 Point instance changed via `_ _ setitem_uuuuuuuuuu'没有更新相应的lat/long/alt属性。

  • 固定:A的坐标 Point instance changed via `_ _分配后,未对setitem_uuuuuuuuuuw进行规范化。但是请注意,属性分配仍然没有规范化。(272)

  • 固定的: Distance python3中的实例比较不起作用。

  • 修复:yandex geocoder发送的API密钥参数不正确。

  • 修正:从英尺的单位转换是不正确的。由苏格兰人贡献。(162)

  • 修复:Vincenty目标函数在公式实现中出错。汉诺·施利钦撰稿。(194)

  • 修正:当两个经度差接近2*pi或两者中的任何一个是NaN时,文森蒂抛出了非本地误差。(187)

  • 远离的: geopy.util.NullHandler 日志处理程序已被删除。

1.12.0

2018-03-13

  • 添加:Mapzen地理编码。由Migurski提供。(183)

  • 添加:Googlev3地理编码现在支持 channel 选择权。戈奇贡献。(206)

  • 补充:光子地理编码现在接受一个新的 limit 选择权。Mariana Georgieva提供。

  • 更改:使用IUGG平均地球半径作为地球半径。由CFFK出资。(151)

  • 更改:使用从公里到英里的精确换算系数。由CFFK出资。(150)

  • 更改:openmapquest geocoder现在正确支持 api_key 选项并使其成为必需的。

  • 更改:光子地理编码:删除 osm_tag 反向地理编码方法的选项,因为光子后端不支持反向地理编码。

  • 修正:光子地理编码程序总是返回一个空地址。

  • 修复:yandex geocoder返回一个被截断的地址 name 一个地方的一部分丢失了)。

  • 固定:自定义 User-Agent 头实际上没有发送。这也修复了中断的提名,后者最近禁止了股票Urllib用户代理。

  • 固定的: geopy.util.get_version() 函数正在引发 ImportError 异常而不是返回版本字符串。

  • 固定:用于构建 geopy.point.Point 以错误的顺序引用纬度和经度。由Micahcochran和Sjorek提供。(207×229)

  • 已删除:navidata geocoder已删除。由Medecau提供。(204)

1.11.0

2015-09-01

  • 添加:光子地球编码器。由MTHH出资。

  • 新增:必应支持结构化查询参数。半正态分布的。

  • 更改:地理编码发送 User-Agent 标题,默认为 geopy/1.11.0 . 在地理编码程序初始化期间对其进行配置。塞巴斯蒂安纽鲍尔贡献。

  • 修正:索引超出范围错误,没有使用yandex的结果。由Facciocose提供。

  • 修正:提名发送错误 view_box 如果没有请求,并且格式不正确。由m0zes贡献。

1.10.0

2015-04-05

  • 已更改:geocodefarm现在使用服务API的版本3,该版本允许未经身份验证的用户、多个结果和ssl/tls使用。您可能需要从geocodefarm获取新的API密钥,或者使用 None 为他们的自由层。埃里克·帕拉科维奇·卡尔撰稿。

  • 添加:用于不列颠哥伦比亚政府的databc服务的databc geocoder。Benjamin Trigona Harany提供。

  • 添加:placefinder的geocode方法现在请求一个时区,如果 with_timezone 参数为真。由威尔贡献。

  • 修正:指定 viewbox 参数而不是显然已弃用的 view_box .

1.9.1

2015-02-17

  • 修复:修复对googlev3 bounds参数的支持。Benjamin Trigona Harany提供。

1.9.0

2015-02-12

  • 更改:删除了MapQuest地理编码程序,因为它使用的API现在只对企业帐户可用。OpenMapQuest是对来自提名的数据的替代。

  • 更改:nomingim现在默认使用https并接受 scheme 参数。由SRounet提供。

  • 添加:nomingim现在接受 domain 参数,允许使用不同于 nominatim.openstreetmap.org . 由SRounet提供。

  • 修复:无法从访问Bing get_geocoder_for_service . 由Adri_n l_Pez提供。

1.8.1

2015-01-28

  • 修复:Googlev3地理编码程序没有为Reverse和TimeZone方法发送API密钥。

1.8.0

2015-01-21

  • 添加:navidata geocoder添加。由NaviData提供。

  • 更改:LiveAddress现在需要HTTPS连接。如果你设置 scheme 成为 http 而不是违约 https ,您现在将收到 ConfigurationError .

1.7.1

2015-01-05

  • 修正:ign-france geocoder的地址格式更好地处理没有建筑编号的结果。由托马斯·格雷特贡献。

1.7.0

2014-12-30

  • 增加:法国地质编码。由托马斯·格雷特贡献。

  • 修复:必应检查响应主体是否存在错误代码。

1.6.1

2014-12-12

  • 修正:3字验证松动。由SpatialBitz提供。

  • fixed:point.format()包括高度。

1.6.0

2014-12-08

  • 添加:python 3.2和pypy3的兼容性。Mike Toews提供。

1.5.0

2014-12-07

  • 添加:添加Yandex地理编码。由HTCH提供。

  • 添加:添加了3个单词geocoder。由SpatialBitz提供。

  • 修复:LiveAddress地理编码程序与服务的身份验证更改兼容。安 auth_id 参数已添加到地理编码程序的初始化中。由Arsen Mamikonian提供。

1.4.0

2014-11-08

  • 添加:添加了mapquest.reverse()方法。由Dody Suria Wijaya提供。

  • 添加:Bing的地理编码现在接受可选参数“culture”、“includeneighborhood”和“include”。由奥斯卡贡献。

1.3.0

2014-09-23

  • 添加:nomingim.geocode()接受 geometry 用于检索的参数 wktsvgkmlgeojson 结果中的格式化几何图形。由SpatialBitz提供。

1.2.0

2014-09-22

  • 添加:geonames.reverse()添加。埃米尔·阿本的贡献。

  • 添加:添加了googlev3.timezone()。这将返回一个pytz对象,该对象一次为给定位置提供有效的时区(默认为now)。

1.1.5

2014-09-07

  • 修正:yaHooplaceFinder现在与旧的请求uOAuthlib版本0.4.0兼容。

1.1.4

2014-09-06

  • 修正:point.format()秒精度在python 3中。

1.1.3

2014-08-30

  • 修复:修复空结果上的OpenCage属性错误。Isaachaze贡献。

1.1.2

2014-08-12

  • 修正:更新point-repr-method以正确格式化项目。由特里斯坦贡献。

1.1.1

2014-08-06

  • 修正:python 3兼容性。

1.1.0

2014-07-31

  • 增加:增加了OpenCage地理编码。由德米特·什坦科提供。

  • 补充: geopy.geocoders.get_geocoder_for_service 允许库作者动态获取地理代码。

  • 修复:yahooplacefinder错误导致地理编码失败。

  • 修复:LiveAddress API URL已更新。

  • 修正:位置。uu repr_uuuuuuuunicode在python 2.7中编码错误。

  • 改变: geopy.geocoders 模块现在严格声明它们的导出。

1.0.1

2014-07-24

  • 固定:百度地图地理编码器 _check_status 方法使用了python 2特定的print语句。

1.0.0

2014-07-23

  • 添加:百度地图地理编码添加。由Risent贡献。

  • 添加:nomingim geocoder现在支持结构化查询。由KPanic提供。

  • 添加:nomingim geocoder现在支持 language 参数。Benjamin Henne提供。

  • 更改:Googlev3 geocodereverse 方法对于关键字参数参数具有不同的顺序。现在,地理编码标准化了 (query, exactly_one, timeout, ...) .

  • 修正:删除了导致格式化点始终为零秒的分钟舍入。由乔纳森·巴奇勒提供。