YQL:如何从一个国家获得所有城市

时间:2011-05-19 20:09:44

标签: json yahoo yql

我希望使用YQL从指定国家/地区获取所有城市。 有人知道从一个国家获得所有城市的正确YQL吗?

感谢。

2 个答案:

答案 0 :(得分:4)

此文档位于http://developer.yahoo.com/geo/geoplanet/guide/yql-tables.html#geo-places-children

然而,我之前已经玩过这个并且它并不像你想象的那么容易。

例如,您希望像geo.places.children中的select *这样的查询,其中parent_woeid = 23424832 AND type ='Town'将返回关岛的所有城镇,但事实并非如此,它不会返回任何结果。

选择关岛的所有孩子 - 从geo.places.children中选择*,其中parent_woeid = 23424832为您提供行政区划,然后您可以再次查询以查找每个管理员的子项。

然而,世界是一个非常复杂的地方,这是一个噩梦,试图为所有国家做这件事,因为每个国家的管理类型都不同。

我找到的最佳方法是下载Geoplanet数据并使用父WOEID来计算关系,您可以从这里下载 - http://developer.yahoo.com/geo/geoplanet/data/

答案 1 :(得分:2)

您无法再下载数据更新。或者,您必须深入到管理级别(取决于您选择的国家/地区 - 通常是县(非国家/地区)woeid就足够了)并使用以下模型进行查询:

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