Geocoding

Functions:

geocode(*, address, city, source, key_baidu, ...)

对单个地址进行地理编码的方法汇总,返回经纬度坐标,可通过参数选择geocoding方法

geocode_best(address, city, address_type, ...)

获取最优的geocoding结果

geocode_best_address(address, city, ...[, srs])

获取最优的地理编码结果

geocode_best_poi(address, city, key_baidu, ...)

获取最优的地点检索结果

geocode_df(df, by, city, address_type, ...)

基于dataframe进行geocoding

ricco.geocode.geocode.geocode(*, address, city, source, key_baidu, key_amap, srs='wgs84')

对单个地址进行地理编码的方法汇总,返回经纬度坐标,可通过参数选择geocoding方法

参数:
  • address -- 地址或项目名称关键词

  • city -- 城市

  • source -- 接口选择。baidu/amap:百度或高德的地理编码接口,baidu_poi/amap_poi:百度或高德的地点检索接口

  • srs -- 返回的坐标系,可选wgs84, bd09, gcj02,默认wgs84

  • key_baidu -- 百度接口的key

  • key_amap -- 高德接口的key

ricco.geocode.geocode.geocode_best(address, city, address_type: str, key_baidu, key_amap, sig: int = 80, srs: str = 'wgs84', address_geocode: bool = False)

获取最优的geocoding结果

参数:
  • address -- 地址

  • city -- 城市

  • address_type -- 'poi' 或 'address',不同的地理类型对应不同的接口,精确度不同

  • sig -- 得分

  • srs -- 坐标系

  • address_geocode -- 是否使用地址编码进行补充

  • key_baidu -- 百度接口的key

  • key_amap -- 高德接口的key

ricco.geocode.geocode.geocode_best_address(address, city, key_baidu, key_amap, srs='wgs84')

获取最优的地理编码结果

ricco.geocode.geocode.geocode_best_poi(address, city, key_baidu, key_amap, sig=80, address_geocode=False, srs='wgs84')

获取最优的地点检索结果

参数:
  • address -- POI名称

  • city -- 城市

  • sig -- 解析结果相似度,默认为80,范围0-100

  • address_geocode -- 是否使用地理编码补全,默认False

  • srs -- 返回的坐标系,可选wgs84, bd09, gcj02,默认wgs84

  • key_baidu -- 百度接口的key

  • key_amap -- 高德接口的key

ricco.geocode.geocode.geocode_df(df: DataFrame, by: str, city: str | list, address_type: str, key_baidu, key_amap, sig: int = 80, address_geocode: bool = False, with_detail: bool = True, srs: str = 'wgs84', c_lng='lng', c_lat='lat', ignore_existing: bool = True, progress_bar: bool = True)

基于dataframe进行geocoding

参数:
  • df -- 数据集

  • by -- 地址或名称列

  • city -- 城市,如为list表示城市列,如['城市'];如为str表示全部使用该城市,如 "上海"

  • address_type -- 'poi' 或 'address',不同的地理类型对应不同的接口,精确度不同

  • sig -- 解析结果相似度,默认为80,范围为0-100,仅当address_type为poi时生效

  • address_geocode -- poi解析时是否使用地理编码补全,默认False,仅当address_type为poi时生效

  • with_detail -- 是否返回详情信息,包括返回值、得分、接口来源等

  • srs -- 返回的坐标系,可选wgs84, bd09, gcj02,默认wgs84

  • c_lng -- 经度列名,默认为 'lng'

  • c_lat -- 纬度列名,默认为 'lat'

  • ignore_existing -- 是否忽略已经存在经纬的行,默认为 TRUE,即保持原有的经纬度不变

  • key_baidu -- 百度接口的key

  • key_amap -- 高德接口的key

  • progress_bar -- 是否显示进度条,默认为TRUE

Functions:

geocode_parallel(df, c_address, city, key, ...)

并行Geocode请求主函数

make_request(address, city, key, source, ...)

发送单个请求的函数

ricco.geocode.parallel.geocode_parallel(df: DataFrame, c_address: str, city: str | list, key: str, source: str, qps: int = 30, workers: int = 4)

并行Geocode请求主函数

参数:
  • df -- 要进行geocoding的Dataframe

  • c_address -- 地址列

  • city -- 城市或城市列,字符串-城市,列表-城市列的字段名

  • key -- geocoding服务提供商的key

  • source -- geocoding服务提供商,baidu/amap/baidu_poi/amap_poi

  • qps -- 并发数

  • workers -- Geocoding时使用的worker数量

ricco.geocode.parallel.make_request(address, city, key, source, workers, qps)

发送单个请求的函数