我正在使用 Google Refine 对带有 Nominatim API 请求的地址进行地理编码,正如这篇很棒的帖子https://opensas.wordpress.com/2013/06/30/using-openrefine-to-geocode-your-data-using-中所建议的那样google-and-openstreetmap-api/。
一切正常:这里有两个样本......
http://open.mapquestapi.com/nominatim/v1/search.php?format=json&q=Via%20Pietro%20Paleocapa%2073,Alzano%20Lombardo,Italia
生产
[{"place_id":"55017260","licence":"Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http:\/\/www.openstreetmap.org\/copyright","osm_type":"way","osm_id":"22565087","boundingbox":["45.7324335","45.736092","9.7222512","9.7235157"],"lat":"45.7343899","lon":"9.7231855","display_name":"Via Pietro Paleocapa, Alzano Lombardo, BG, Lombardy, 24027, Italy","class":"highway","type":"unclassified","importance":0.6}]
和
http://open.mapquestapi.com/nominatim/v1/search.php?format=json&q=Via%20Cernaia%2020,%20Torino%20,%20Italia
生产
[{"place_id":"24085209","licence":"Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http:\/\/www.openstreetmap.org\/copyright","osm_type":"node","osm_id":"2334729647","boundingbox":["45.0715728","45.0715728","7.6742348","7.6742348"],"lat":"45.0715728","lon":"7.6742348","display_name":"20, Via Cernaia, Quadrilatero Romano, Circoscrizione 1, Turin, TO, Piemont, 10122, Italy","class":"place","type":"house","importance":0.201}]
不同之处在于第一个响应具有“osm_type”:“way”类型,而第二个响应具有“osm_type”:“node”类型。
我只对有关“osm_type”:“node”的响应感兴趣,对于这些我想提取 lat 和 lon 值。
我不知道如何在 Google Refine 中使用 GREL 提取它们.....有什么建议吗?
如果有用的话,我还可以获取 XML 中的响应……这是你的请求
http://open.mapquestapi.com/nominatim/v1/search.php?format=json&q=Via%20Pietro%20Paleocapa%2073,Alzano%20Lombardo,Italia&format=xml
http://open.mapquestapi.com/nominatim/v1/search.php?format=json&q=Via%20Cernaia%2020,%20Torino%20,%20Italia&format=xml