给定经度和纬度,如何找到国家
Posted
技术标签:
【中文标题】给定经度和纬度,如何找到国家【英文标题】:Given longitude and latitude, how to find country 【发布时间】:2013-01-25 06:28:22 【问题描述】:如果我有纬度和经度,我如何找出该位置所在的国家/地区.. 如果发现Google Reverse Geocoding,但不幸的是,它需要该服务与谷歌地图一起使用,这不是我的情况..
是否有静态数据库或我可以参考的东西?如果我有一个静态数据库而不是服务会更好..
【问题讨论】:
【参考方案1】:没有服务,工作量很大。
首先,您需要具有指定国家代码的国家多边形。一个国家平均有大约 50.000 个顶点。
那么这是一个简单的多边形点搜索。
使用空间索引来限制要搜索的国家多边形。 如果你必须考虑飞地,它会变得有点困难。
【讨论】:
谢谢!我实际上找到了这个 kml 文件here.. 这就是你所说的多边形数据,对吧? 不错!这是有用的,但在边界上它当然不是准确的。【参考方案2】:您可以使用 Bing Maps Api,据我所知,它不需要显示地图,
http://dev.virtualearth.net/services/v1/geocodeservice/geocodeservice.asmx/ReverseGeocode?latitude=22.98&longitude=35.43637&key=[YOU_KEY]&culture=%22en-us%22&format=json
【讨论】:
【参考方案3】:您可以使用geonames.org "Country code / reverse geocoding" 网络服务,例如:
http://api.geonames.org/countryCode?lat=47.03&lng=10.2&username=demo
-> AT
【讨论】:
谢谢,这很有用! GeoNames 服务很棒,但它有 API 限制。每个注册用户 ID 每天 2000 个请求。以上是关于给定经度和纬度,如何找到国家的主要内容,如果未能解决你的问题,请参考以下文章
给定 GPS 的地理位置,如何在给定的 x 米半径内找到纬度和经度