2014-09-16 2 views
0

У меня есть список геокодированных мест, но мне нужно найти лучший матч в другом справочнике географических названий (Geonames). Я пытаюсь использовать FindNearby api из Geonames (http://www.geonames.org/export/web-services.html#findNearby), чтобы получить список ближайших мест, а затем использовать запрос xpath для определения узлов (и братьев и сестер узлов), которые содержат правильное имя файла и соответствующий идентификатор.С помощью функции googlesheets ImportXML можно ли ссылаться на ячейку внутри моего аргумента запроса xpath?

В моей таблице Google У меня есть три колонки (и несколько сотен строк):

*placename, latitude, longitude* 

*Sher-e-bangla Nagar, 23.7658, 90.37719* 

*Shapahar, 25.1259, 88.58793* 

... 

В четвертом столбце, я хочу использовать ImportXml для получения каскадного списка значений узлов:

=JOIN(",",Importxml(CONCATENATE("http://api.geonames.org/findNearby?lat=",B2,"&lng=",C2,"&localCountry=true&radius=50&maxRows=100&username=demo"),"/geonames/geoname/toponymName[starts-with(.,'**Sher**')] |/geonames/geoname/toponymName[starts-with(.,'**Sher**')]/following-siblings::geonameId")) 

Это работает и возвращает «Sher-e-bangla Nagor, 7697516». Но вместо того, чтобы использовать «Sher» в моем выражении, есть ли способ ссылаться на ячейку A2 в запросе xpath? Это позволило бы мне переносить его через все строки и указывать выражение на правильные имена. В идеале я бы хотел использовать left (A2, 4) для поиска узлов ToponymName, которые соответствуют первым четырем буквам ячеек в столбце A.

Большое спасибо!

ответ

0

Вы можете использовать СЦЕПИТЬ на XPath, так же, как вы использовали на строке адреса:

concatenate("/geonames/geoname/toponymName[starts-with(.,'",A2,"')]|/geonames/geoname/toponymName[starts-with(.,'",A2,"')]/following-siblings::geonameId") 

 Смежные вопросы

  • Нет связанных вопросов^_^