地理编码,即将街道地址转换为地理坐标,是多个领域不可或缺的工具,如公共卫生监测、应急响应规划和人口研究等。然而,在许多国家,官方公开的地理编码资源较为匮乏,非专业用户通常只能依赖在线地理编码服务来执行空间分析。尽管这些服务提供了便利,但它们的编码结果往往存在显著的位置误差,特别是在某些情况下,误差甚至可能超过50公里。这种误差主要源于参考数据集的不完整或过时,以及平台之间采用的统一地址匹配方法。为了解决这些问题,我们提出了一种地理编码优化方法(GOM),该方法结合了多个在线地理编码平台和更新的地点兴趣点(POI)数据,生成基于POI的地理编码结果。这种方法通过减少对单一平台或有限参考数据集的依赖,显著提升了地理编码的准确性。
地理编码的不准确可能严重影响空间统计的精确性,并削弱时空分析的可靠性。例如,Rocchini等人指出,数据的不确定性可能会显著改变事件的空间分布,而Malizia则强调,这种不确定性可能会影响时空交集的判断。在实际应用中,地理编码误差可能导致严重的后果。例如,在自然灾害期间,人们常常通过社交媒体发送带有救援地址的求救信息,而不准确的地理编码可能会误导救援服务,浪费宝贵的资源,甚至延误挽救生命的关键行动。同样,在大规模公共卫生危机中,如传染病爆发,地理信息系统在实时追踪病例方面至关重要。然而,地理编码的不确定性可能阻碍及时识别病例和控制病毒传播的努力。因此,提高地理编码的准确性对于增强基于位置的研究可靠性和支持紧急响应中的及时、精确信息至关重要。
为了解决这些误差问题,研究人员开发了多种多源在线地理编码优化框架。这是因为不同的在线地理编码平台依赖于不同的参考数据集和专有算法,导致地理编码的准确性存在显著差异。对于同一地址,某些平台可能返回高度精确的坐标,而其他平台则可能产生较大的位置误差。这种不一致性促使研究者通过整合多个平台的结果来提升地理编码的准确性。然而,现有的方法在构建可靠的、细粒度的空间过滤器方面仍存在挑战,难以有效区分准确和不准确的地理编码结果。
为了弥补这一不足,本文提出了一种基于多源在线地理编码和POI数据的优化方法(GOM)。该方法利用POI作为空间参考,构建具有语义和空间信息的约束区域。POI数据相较于传统的空间数据具有多个优势。首先,POI数据不仅包含空间坐标,还包含语义标签(如名称和类别),这有助于将地址与候选位置进行准确匹配。其次,POI数据通常频繁更新,并且可通过开放平台广泛获取,适用于大规模应用。最重要的是,通过使用语义相似的POI来定义约束区域,可以生成更精确且有意义的空间边界,特别是在密集的城市环境中。这种语义-空间对齐方式难以通过抽象的边界多边形或道路中心线实现。
GOM方法通过四个步骤实现。首先,采用条件随机场(CRF)模型对输入地址进行文本解析,提取粗粒度和细粒度的地址组件。粗粒度组件包括省、市、区、道路和社区等较大的空间参考,而细粒度组件则包括门牌号和地点名称等点状实体。其次,将粗粒度组件与POI数据进行匹配,构建空间约束区域。第三,从多个商业API(如百度地图、腾讯地图、高德地图等)获取地理编码结果。最后,通过引入基于细粒度地址组件的加权优化算法,对候选结果集进行筛选和优化,从而生成最终的优化地理编码结果。
在实际操作中,我们使用基于Python的特征提取函数(extract_features)为每个字符生成特征字典,并将其作为CRF模型的输入,以自动构建相应的特征函数。通过训练数据集和构建的特征函数,CRF模型能够联合优化所有特征权重,从而有效学习不同地址实体在上下文环境中的转换模式和发射特征。地址解析和标签预测的步骤生成BIO格式的标签序列,并从中提取出粗粒度和细粒度的地址组件。
在构建基于POI的空间约束区域时,我们利用CRF模型提取的粗粒度地址组件,如省、市、区、街道或社区,与POI数据进行层级匹配。POI通常包括名称、类别、地址和坐标等信息,这些信息有助于识别和定位。我们采用基于字符串匹配的方法,将输入查询与POI记录进行比较,以确定候选POI。具体而言,我们使用最长公共子序列算法来比较粗粒度地址组件与POI记录。如果检索到的POI记录包含与输入地址完全匹配的字符串,则将其视为候选POI。匹配的POI点被用作生成最小包围多边形的顶点,该多边形作为地址的空间约束区域,用于后续步骤中对多源地理编码结果的过滤。
构建多源地理编码候选集时,我们使用Baidu Maps、Tencent Maps、Amap和MapWorld等平台的API对地址进行地理编码,并将返回的坐标转换为WGS-84坐标系统。随后,我们将多源地理编码结果编入候选集。每个地理编码结果都会与空间约束区域进行比对,位于该区域内的坐标被保留,而位于区域外的坐标则被视为低质量并被剔除。如果候选集为空,则直接使用POI预测的坐标作为最终的地理编码结果。
为了进一步提高地理编码的准确性,我们引入了一种基于细粒度地址组件的加权优化策略。该策略包括三个主要步骤。首先,如果POI数据库中存在与输入地址的细粒度组件(如门牌号或建筑编号)完全匹配的记录,则直接返回这些匹配的POI,并以其几何中心作为预测坐标。其次,如果没有找到完全匹配的POI记录,则确定与细粒度地址组件最接近的两个POI记录,并通过线性插值算法预测目标门牌号的坐标。最后,采用逆距离加权方法对位于空间约束区域内的候选坐标进行加权平均,以生成最终的优化坐标。
本研究使用了来自实验区域的超过60,000个POI数据集,包括学校、银行、餐馆、加油站、医院和超市等地理实体。这些POI数据作为后续地理分析的空间参考点。每个POI记录包含描述不同空间信息的多个属性,研究中主要使用了其中的关键字段。我们选择了南京的鼓楼区作为实验区域,该区面积为54.18平方公里,行政上分为13个街道和120个社区。为了评估GOM的有效性,我们从鼓楼区的公共地址数据库中随机选取了1769条完整的地址记录。这些记录涵盖了多种常见的地址格式,包括“省+市+区+道路名称+门牌号”和“省+市+区+住宅区名称+建筑编号”等。所有地址文本都经过严格的审核,确保没有拼写错误或无效字符(如“#”),并且每个地址都能准确定位到具体的建筑地块。
为了构建高精度的基准坐标数据集,我们使用了当地测绘部门提供的标准地籍数据库进行初始匹配,随后进行了现场验证和手动校正,以调整与地址对应的地块中心点。最后,所有真实坐标均被统一投影到WGS-84坐标系统,以便后续使用不同在线地理编码平台的输出进行误差计算和分析。
本研究中使用的在线地理编码平台包括中国最常用的四个服务:百度地图、高德地图、腾讯地图和MapWorld。所有地址均通过这些API进行地理编码,并利用WanderGIS提供的坐标转换工具将其转换为WGS-84坐标系统。
通过统计分析,我们发现GOM在多个方面优于其他平台。在误差分布分析中,GOM产生的超过500米的误差数量远低于其他平台,其中超过1000米的误差仅3个,而MapWorld有162个,Baidu Maps有23个,Amap有19个,Tencent Maps有33个。这表明,基于POI的空间约束能够有效抑制在线地理编码中的主要偏差。在500米以内的误差中,GOM的性能与商业平台相当,特别是在0-100米的误差范围内,其表现与最佳平台Baidu Maps和Amap相当。在100-200米的误差范围内,GOM的表现略优于Baidu Maps和Amap。在200-500米的误差范围内,GOM与Baidu Maps和Amap表现相似。
为了进一步验证这些差异,我们进行了描述性统计分析,包括最小误差、最大误差、平均误差以及第一、第二和第三四分位数。GOM在最大误差和平均误差方面均优于其他平台。虽然所有平台都出现了超过10,000米的最大误差,但GOM优化后的最大误差降至1993.47米。在平均误差方面,GOM的平均误差为53.08米,显著低于Baidu Maps(99.56米)、Amap(77.05米)、Tencent Maps(152.69米)和MapWorld(444.40米)。四分位数分析显示,GOM的中位误差为25.81米,与Baidu Maps(17.54米)和Amap(19.95米)相当,但低于Tencent Maps(49.61米)和MapWorld(94.81米)。
为了统计验证这些差异,我们进行了Friedman检验,对各方法的误差进行排名。结果表明,各平台之间存在显著差异(Q=1375.03,p<0.05),而GOM获得了最低的平均排名(2.41),其次是Baidu Maps(2.48)、Amap(2.65)、Tencent Maps(3.48)和MapWorld(3.98)。这表明GOM在整体性能上优于其他服务。随后,我们进行了Nemenyi后验检验,进一步比较GOM与各平台的性能。结果显示,GOM的性能显著优于Amap、Tencent Maps和MapWorld(p<0.05),但在与Baidu Maps的比较中没有显著差异。当按照误差阈值分类时,结果显示GOM对超过50米的误差有显著优势,而对小于50米的误差,GOM与Baidu Maps和Amap的差异不显著,但依然优于Tencent Maps和MapWorld。
空间分布分析进一步揭示了GOM在减少地理编码误差方面的有效性。通过以社区为统计单位计算每个空间单元内的平均误差,我们发现所有四个平台都存在平均误差超过500米的社区。其中,Baidu Maps和Amap的误差较少,只有两到三个社区的平均误差超过500米。Tencent Maps有五个社区的平均误差超过该阈值,而MapWorld则有近一半的社区平均误差超过500米。相比之下,GOM在所有社区的平均误差均降至500米以下。
综上所述,通过减少误差的幅度和变异性,尤其是社区层面的误差,GOM提高了空间数据集的可靠性,从而改善了地理分析的质量。这些发现突显了该方法在推动细粒度空间研究和在需要准确性和稳健性的领域中的应用价值。
尽管GOM在提升地理编码精度方面表现出色,但该方法仍存在一些局限性。首先,空间约束区域的构建高度依赖于基于CRF的地址解析模型的标记质量,尤其是其识别粗粒度组件(如街道或住宅区)的能力。由于地址格式的多样性和非正式性,强大的特征提取仍然是一个挑战,这可能影响命名实体识别的准确性,从而影响空间约束区域的可靠性。其次,空间约束区域的有效性取决于POI记录的数量。在POI记录丰富的地区,该方法能够构建准确且定义良好的约束区域。然而,在POI记录较少的地区,建立有意义的约束边界可能较为困难,这可能导致融合精度的下降。此外,POI数据本身可能存在固有的偏差,如空间覆盖不均、更新频率不一致和不同供应商的数据质量差异,这些因素可能影响方法的稳健性和可迁移性。
从计算角度来看,每个输入地址都需要与POI逐一匹配,而不是使用预计算的空间单位。虽然这种策略提高了准确性,但也增加了处理时间。这一权衡突显了在大规模地址数据集上扩展该方法的潜在挑战。未来的研究可以探索预先计算凸多边形(如社区边界)或采用并行处理框架,以提高计算效率和可扩展性。
未来的工作应聚焦于提升该方法在复杂地理编码场景中的适应性、效率和稳健性。一个有前景的方向是通过引入先进的自然语言处理技术(如大型语言模型)来增强地址解析阶段的泛化能力,以适应多样化的地址格式。同时,开发动态更新POI数据的机制将确保空间约束区域能够反映当前的城市环境,这对于快速变化的区域尤为重要。另一个重要的方向是提升计算效率而不牺牲准确性,这包括探索更有效的POI匹配和约束区域构建策略,以减少方法的总体时间和成本。此外,未来的工作还可以考虑用更复杂的基于学习的模型(如基于回归的融合)来优化多源地理编码结果的整合。
最后,将评估扩展到更广泛的地理背景,包括农村地区或具有不同地址结构的区域,对于进一步评估该方法的通用性至关重要。结合上下文信息,如空间邻近性或历史查询模式,也可能增强该方法在现实应用中的稳健性。