我正在寻找一个api,我可以用来根据坐标或名称和国家来找到附近的城市(可能有一个按距离过滤的功能,因为附近可以解释) .
我更喜欢它是宁静的或者有一个我可以在我的.net应用程序中使用的库(包装器) .
我正在寻找一个免费的api(每天有大量的免费请求) .
我的第一个想法是谷歌和我发现了“谷歌地理编码API”,但我不打算把它放在 Map 上,所以根据我不能使用它的限制 .
其他人都知道我可以使用的其他任何东西吗?
试着看GeoNames . 他们有RESTful API你可以用来做反向地理编码 . 向下滚动到"Find nearby postal codes / reverse geocoding"部分以查看实时演示 .
您可以尝试使用Overpass API,它使用Open Street Map数据 . 我不确定它是否会完全符合您的要求,但它可能是一个开始 .
以下电话会搜索城市 . bbox创建一个要在其中搜索的区域 . 我在下面创建的示例使用围绕英国朴茨茅斯的坐标 .
http://overpass.osm.rambler.ru/cgi/xapi?node[place=city][bbox=-1.150818,50.761653,-0.987396,50.851908]
从此返回的结果提供了一些有用的数据
<?xml version="1.0" encoding="UTF-8"?> <osm version="0.6" generator="Overpass API"> <note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note> <meta osm_base="2013-04-11T23:39:03Z"/> <node id="17721995" lat="50.8065249" lon="-1.0744016"> <tag k="is_in" v="EnglaHampshire, England, UK"/> <tag k="is_in:continent" v="Europe"/> <tag k="is_in:country" v="United Kingdom"/> <tag k="is_in:country_code" v="GB"/> <tag k="is_in:county" v="Hampshire"/> <tag k="name" v="Portsmouth"/> <tag k="name:ru" v="Портсмут"/> <tag k="name:sr" v="Портсмут"/> <tag k="place" v="city"/> <tag k="population" v="197700"/> <tag k="url" v="http://www.visitportsmouth.co.uk"/> </node> </osm>
我相信可以用其他搜索功能(例如国家/地区名称)替换坐标 .
编辑:
http://overpass-api.de/,查询基址为http://overpass-api.de/api/(4核,64 GB RAM) . http://overpass.osm.rambler.ru/,查询基址为http://overpass.osm.rambler.ru/cgi/(8核,64 GB RAM) .
两台服务器的总容量约为每天1.000.000个请求 . 当您每天执行少于10,000次查询或每天下载少于5 GB的数据时,您可以放心地假设您不会打扰其他用户 .
2 回答
试着看GeoNames . 他们有RESTful API你可以用来做反向地理编码 . 向下滚动到"Find nearby postal codes / reverse geocoding"部分以查看实时演示 .
您可以尝试使用Overpass API,它使用Open Street Map数据 . 我不确定它是否会完全符合您的要求,但它可能是一个开始 .
以下电话会搜索城市 . bbox创建一个要在其中搜索的区域 . 我在下面创建的示例使用围绕英国朴茨茅斯的坐标 .
从此返回的结果提供了一些有用的数据
我相信可以用其他搜索功能(例如国家/地区名称)替换坐标 .
编辑:
http://overpass-api.de/,查询基址为http://overpass-api.de/api/(4核,64 GB RAM) . http://overpass.osm.rambler.ru/,查询基址为http://overpass.osm.rambler.ru/cgi/(8核,64 GB RAM) .
两台服务器的总容量约为每天1.000.000个请求 . 当您每天执行少于10,000次查询或每天下载少于5 GB的数据时,您可以放心地假设您不会打扰其他用户 .