我使用HERE的Geocoder REST API获取给定自由格式或结构化地址的纬度/经度点。但是,我不是在处理美国地址,而是使用墨西哥或巴西地址。
在Geocoder API中,某些属性提及了“管理层次结构”'用于确定何时使用城市,地区,区域等。我的两个国家都不遵循我们在美国使用的典型城市/州等级。
我想知道:有没有办法找到官方的#34;层次结构"对于每个国家?此外,如果你碰巧知道巴西或墨西哥的标准,请随时告诉我。
答案 0 :(得分:1)
这很棘手,因为没有地址的全局标准,并且结构化地址的部分映射(参见qualified input example)将需要匹配,除非您使用{{1调用模糊搜索参数。
依次使用您的用例,可以使用自由格式输入获得最简单的请求和最广泛的结果集,如下所示:
从输出中可以看出,标签包含邮政地址(不一定包含所有层次结构信息),而状态,< strong>县,城市,区域等保留结构化地址的部分(至少以HERE在其数据库中的格式)。因此,您可以通过在查询中使用正确的城市或州来缩小查询范围。
&additionaldata=FlexibleAdminValues
由于您已经知道正确的国家/地区,因此您可以添加<Address>
<Label>Sonora 12AV, Aculco, 09410 Iztapalapa, Distrito Federal, México</Label><Country>MEX</Country>
<State>Distrito Federal</State>
<County>Ciudad de México</County>
<City>Iztapalapa</City>
<District>Aculco</District>
<Street>Sonora</Street>
<HouseNumber>12AV</HouseNumber>
<PostalCode>09410</PostalCode>
<AdditionalData key="CountryName">México</AdditionalData>
<AdditionalData key="StateName">Distrito Federal</AdditionalData>
</Address>
或&country=Mexico
将搜索范围限制在一个国家/地区(如果您不确定,请使用&country=Brazil
参数来偏置结果而是转向那个国家。
如果知道城市或区等,可以进行更有限的搜索:
由于提供了足够的信息,因此仍然可以找到单个结果。
总而言之,您最好的选择是在每个国家/地区尝试一些自由格式countryfocus
示例地址,并在使用结构化寻址之前查看该国家/地区使用哪些字段,以减少结果中的误报。
地理编码结果的XSD schema也可能对您有用,尤其是 MatchedAddressNamesType 上的部分。