YQL: как достать все города из страны - PullRequest
2 голосов
/ 20 мая 2011

Я хочу получить все города из указанной страны, используя YQL.Кто-нибудь знает правильный YQL, чтобы получить все города из страны?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 21 мая 2011

Документация для этого в http://developer.yahoo.com/geo/geoplanet/guide/yql-tables.html#geo-places-children

Однако я уже играл с этим раньше, и это не так просто, как вы думаете.

Например, вы ожидаете, что запрос типа select * from geo.places.children, где parent_woeid = 23424832 AND type = 'Town', вернет все города на Гуаме, но это не так, он не даст результатов.

Выбор всех дочерних объектов Гуама - выберите * в файле geo.places.children, где parent_woeid = 23424832 дает вам административные подразделения, и оттуда вы можете запросить снова, чтобы найти дочерних элементов каждого администратора.

Однако мир - это очень сложное место, и это кошмар, пытающийся сделать это для всех стран, так как типы администраторов различны для каждого.

Лучший подход, который я нашел, - это загрузить данные Geoplanet и использовать родительские WOEID для определения отношений, вы можете скачать их здесь - http://developer.yahoo.com/geo/geoplanet/data/

2 голосов
/ 01 января 2013

Вы не можете больше загружать обновления данных.В качестве альтернативы вы должны перейти к административному уровню (зависит от выбранной страны - обычно бывает достаточно горе (не страны)) и использовать следующую модель для своих запросов:

http://query.yahooapis.com/v1/public/yql?q=select+*+from+geo.places.descendants+where+ancestor_woeid={yourcountywoeid}+and+placetype='Town'
...