You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Nominatim缺失ISO3166-2-lvl4字段问题排查咨询

本地Nominatim未返回ISO3166-2-lvl4字段的原因及解决方法

核心原因

问题根源在于导入样式配置:

  • 你当前使用的extratags导入样式默认不会处理并输出ISO3166-2层级的行政区划字段,而官方Nominatim服务使用的是包含ISO3166规则的默认样式。
  • 配置中重复设置了IMPORT_STYLE和NOMINATIM_IMPORT_STYLE,可能导致样式加载逻辑冲突,进一步影响字段输出。

具体解决步骤

1. 统一并修改导入样式

方案一:使用官方默认样式

将配置中的导入样式改为默认样式(默认包含ISO3166-2字段处理规则):

# 删除或替换原有的IMPORT_STYLE和NOMINATIM_IMPORT_STYLE配置
NOMINATIM_IMPORT_STYLE="default"

方案二:自定义样式保留extratags功能

如果需要保留extratags的额外标签输出,需自定义样式文件:

  • 复制默认样式文件(通常路径为/usr/local/share/nominatim/style/default.style)
  • 在复制后的文件中添加ISO3166-2相关映射规则,示例:
    # 添加ISO3166-2-lvl4字段映射
    node,way,relation	ISO3166-2-lvl4	text	address
    
  • 将NOMINATIM_IMPORT_STYLE指向自定义样式文件的绝对路径。

2. 重新导入数据

样式配置的修改需重新导入OSM数据才能生效:

# 停止运行中的Nominatim服务(如已启动)
systemctl stop nominatim

# 重新执行数据导入
nominatim import --osm-file planet-latest.osm.pbf --threads 16

3. 验证结果

重启服务后,再次发起原reverse请求,检查返回结果中是否已包含ISO3166-2-lvl4字段。

内容的提问来源于stack exchange,提问作者Anton Tkachou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 07:12:47