当前osmnames.org数据是否基于最新OSM数据及官方Github仓库代码?
验证结论
- 当前osmnames.org在线服务使用的是2019年发布的v2.1.1版本数据集,未使用最新OSM数据,也没有基于开源仓库的最新代码构建,你得出的两个初步结论均符合已被社区验证的事实。
- 2019年发布的v2.1.1官方数据集确实不是基于公开仓库的未修改代码打包,当年维护团队发布该版本时使用了未同步到开源仓库的内部层级匹配补丁,后续因核心维护团队解散,相关补丁未合并到公开代码库。
行政层级缺失问题根因
- 公开仓库的最新代码存在行政层级匹配规则漏洞,未针对AdminLevel 6-8区间的非国家/一级行政区边界配置默认映射规则,英国的州级区、地区级行政单位刚好落在该规则空白区间。
- 2020年后OSM社区对英国部分行政边界的标签标注规则做了调整,新增了辅助标注标签,公开的OSMNames代码没有同步更新标签识别逻辑,导致新导出的OSM数据里的这类边界无法被正确识别纳入层级拼接。
可用修复方案
你可以手动修改OSMNames代码库中的import-wikidata.sql和hierarchy.sql两个配置文件,补充英国地区的AdminLevel映射规则:
- 将AdminLevel 6、标注为
type=state_district的行政边界要素,新增为二级行政区匹配项 - 补充新增的行政边界标签的识别优先级,和原有行政边界标签权重保持一致
修改配置后重新运行构建流程,即可复现2019年v2.1.1版本的层级拼接效果。
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

