pelias/interpolationPelias Interpolation 是 Pelias 开源地理编码引擎的核心组件,专注于地址插值(Address Interpolation)功能。它通过分析已知地址的范围(如门牌号起止范围)和地理属性(街道、城市等),自动生成中间缺失的地址记录,补充地址数据库中未明确记录的中间地址,从而提升地理编码服务的完整性、准确性和地址匹配成功率。该镜像提供容器化部署方案,便于快速集成到地理编码系统中。
100-200 Main St)生成中间地址(如150 Main St),支持数值型和字母型门牌号插值。pelias-cli 处理的结构化地址数据,或原始 OpenStreetMap 数据)。通过以下命令启动 Pelias Interpolation 服务容器:
bashdocker run -d \ --name pelias-interpolation \ -p 3000:3000 \ # 服务端口映射(容器内默认端口 3000) -v /local/path/to/interpolation-data:/data \ # 挂载本地数据源目录到容器内 /data -e DATA_DIR=/data \ # 指定数据源目录路径 -e PORT=3000 \ # 服务监听端口 -e LOG_LEVEL=info \ # 日志级别(debug/info/warn/error) pelias/interpolation
-v /local/path/to/interpolation-data:/data:本地数据源目录需包含插值所需的地址数据文件(如 interpolation 目录下的索引文件,通过 pelias prepare interpolation 生成)。-e DATA_DIR:容器内数据源目录路径,需与挂载路径一致。-e PORT:服务暴露端口,默认 3000,需与 -p 参数映射的主机端口对应。服务行为可通过 pelias.json 配置文件自定义,该文件需放置在 DATA_DIR 目录下(即挂载的本地数据源目录)。示例配置:
json{ "interpolation": { "provider": "default", // 插值算法提供商(默认使用内置算法) "layers": ["address", "street"], // 支持插值的地址层级(地址/街道) "maxDistance": 200, // 最大插值距离(米),超出范围则不生成插值地址 "minRangeSize": 2 // 最小门牌号范围(如 100-101 视为有效范围) }, "logger": { "level": "info", // 日志级别 "format": "json" // 日志格式(json/text) }, "server": { "timeout": 5000 // 请求超时时间(毫秒) } }
若需将 Interpolation 服务作为 Pelias 地理编码流程的一部分,需在 Pelias API 的配置文件(pelias.json)中指定 Interpolation 服务地址:
json// Pelias API 配置文件(通常位于 Pelias API 容器的 /data 目录) { "services": { "interpolation": { "url": "[***]" // 容器名需与 docker run --name 一致,或使用 IP:端口 } } }
配置后,Pelias API 在处理地理编码请求时,会自动调用 Interpolation 服务补充缺失的中间地址。
pelias-cli(Pelias 数据管理工具)下载并处理地址数据:
bashpelias download interpolation # 下载示例地址数据 pelias prepare interpolation # 预处理数据,生成插值所需的索引文件
interpolation 目录(包含索引文件)挂载到容器的 DATA_DIR 目录(如 /local/path/to/interpolation-data/interpolation)。服务启动后,可通过以下命令测试插值接口:
bashcurl "http://localhost:3000/interpolate?street=Main+St&city=New+York&start=100&end=200"
成功响应将返回生成的中间地址列表及地理坐标(如 150 Main St, New York 的经纬度)。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务