使用 OpenCage 进行地理编码增强
在与 Datasette 相同的环境中安装此插件。
datasette install datasette-enrichments-opencage
此插件添加了一个使用 OpenCage Geocoder 进行地理编码的增强功能。
您需要一个 OpenCage 的 API 密钥 - 您可以在 https://opencagedata.com/users/sign_up 免费试用注册。
筛选您希望进行地理编码的数据,然后应用 OpenCage 地理编码器增强功能。
您需要指定一个将传递给地理编码器的模板,指明哪些模板应被用作输入。
如果您有一个包含地址的单列,可以使用此模板
{{ address }}
如果您有街道、城市、州和国家/地区的单独列,可以使用此模板
{{ street }}, {{ city }}, {{ state }}, {{ country }}
如果您的地址列缺少国家/地区,但所有地址都在美国,您可以使用此模板
{{ address }}, USA
请参阅 OpenCage 指南,了解如何获得最佳结果的技巧。
默认情况下,只会存储地理编码器返回的纬度(latitude
)和经度(longitude
)数据,存储在您表的相应列中。如果这些列不存在,将自动创建。
您可以选择指定一个列来存储地理编码器的完整 JSON 输出。如果此列不存在,也将自动创建。
完整的 JSON 格式在此处描述。
您无需配置即可使用此插件,但每次运行增强功能时都需要输入您的 API 密钥。
为避免这种情况,您可以将 API 密钥设置为插件配置,如下所示
export OPENCAGE_API_KEY="your-api-key"
然后在 metadata.yml
文件中
plugins:
datasette-enrichments-opencage:
api_key:
$env: OPENCAGE_API_KEY
然后像这样运行 Datasette
datasette mydatabase.db -m metadata.yml --root
这将为您提供一个 URL,用于以“root”用户身份登录,该身份授予您访问增强功能的权限。
要在本地设置此插件,首先克隆代码。然后创建一个新的虚拟环境
cd datasette-enrichments-opencage
python3 -m venv venv
source venv/bin/activate
现在安装依赖项和测试依赖项
pip install -e '.[test]'
要运行测试
pytest