用于对 csv 文件进行地理编码的实用程序。
项目描述
这是一个基于Python的实用程序,用于使用各种在线地理编码服务对 csv 文件进行地理编码。
安装
使用pip安装
pip install giokoda
从源安装
从github下载源代码,示例
git clone https://github.com/WorldBank-Transport/giokoda.git
安装模块及其依赖项
cd giokoda python setup.py install
用法
该实用程序可用作 Python 模块或可执行脚本。
作为python模块使用
基本示例:
import giokoda
giokoda.geocode_csv('input.csv')
上面的代码将尝试对提供的'input.csv'文件进行goecode并将其输出写入'input.csv-geocoded.csv'
geocode_csv函数可以对提供的输入 csv 文件中的实体进行地理编码,并将结果写入 csv 文件。
它还返回一个包含错误、成功和地理编码行总数的字典。
一般语法:
geocode_csv('input/file.csv', **kwargs)
必需参数
- infile , (文件路径/str)
用于地理编码的 csv 文件的路径。
可选关键字参数 ( **kwargs )
- 输出文件,(文件路径/str)
写入输出 csv 的文件路径
- 服务, (str) , 默认值: 'nominatim'。
要使用的地理编码服务的名称。这可以是 geopy支持的任何地理编码服务的名称。
- query_column , (str) , 默认值: 'name'
包含要进行地理编码的文本的列的名称。
query_columns (列表):默认值:[]。要组合以生成要进行地理编码的文本的列列表。
- service_kwargs,(字典)
用于初始化地理编码服务的可选关键字参数。
delimiter (str) : default: ',' , 用于分隔字段的单字符字符串。
quotechar (str) : default: '"' , 一个单字符的字符串,用于引用 csv 文件中包含特殊字符的字段,例如分隔符或 quotechar,或包含换行符的字段。
返回
geocode_csv()返回成功、错误和总数的字典:
{
'total': 0,
'success': 0,
'error': 0
}
使用可执行脚本
通过命令行界面运行geocode_csv 。
例子:
geocode_csv /input/file.csv
或包括一个 api 密钥:
geocode_csv --service <SERVICE-NAME> --params '{"api_key": "<YOUR-API-KEY>"}' /input/file.csv
一般用法:
geocode_csv [-h] [-o OUTPUT] [-s SERVICE] [-c COLUMN] [-p PARAMS] input
必需的参数
- 输入
用于地理编码的 csv 文件的完整路径
可选参数
- -h,--帮助
显示此帮助信息并退出
- -o 输出,--输出输出
输出文件的完整路径
- -s 服务,--服务服务
地理编码服务名称,例如 arcgis、baidu、google、googlev3、geocoderdotus、geonames、yahoo、placefinder、opencage、openmapquest、mapquest、liveaddress、navidata、nominatim、geocodefarm、what3words、yandex 和 ignfrance
- -c [COLUMN [COLUMN ...]],--column [COLUMN [COLUMN ...]]
包含要进行地理编码的文本内容的列的名称。多个列名应该用空格分隔。
- -p 参数,--参数参数
用于地理编码服务初始化的关键字参数呈现为 json 对象
- -d DELIMITER, --delimiter DELIMITER
用于分隔 csv 文件中的字段的单字符字符串
- -q QUOTECHAR,--quotechar QUOTECHAR
一个单字符的字符串,用于引用 csv 文件中包含特殊字符(例如分隔符或引号字符)或包含换行符的字段。