C# - 从没有API的纬度/经度获取国家/地区

时间:2016-01-20 09:23:55

标签: c# geolocation geonames

是否可以使用C#库或更新数据库关于地理坐标coutries从纬度和经度获取国家/地区名称没有API ,例如Google Maps的JavaScript API?

3 个答案:

答案 0 :(得分:4)

您可以使用GeoNames并下载本地数据库here

因此,这是一个示例查询,可用于从纬度/经度坐标中获取最近的条目。

@IBOutlets

答案 1 :(得分:4)

我创建了一个基于gps点(lat; lon)获得国家或美国州的github项目 见here

如果找到,将返回带有Id和Name

的locationInfo类

也可以nuget package

的形式提供

答案 2 :(得分:1)

你可以做到。如果您不需要很多准确性,则可以使用具有国家坐标的表格。并确定最近的国家坐标。但这是不好的方式。

好的解决方案是获得国家边界的KML文件。但是你需要一个好的算法来决定你的观点是哪个国家的边界​​。找到了点和多边形的位置的算法here。 stackoverflow 12也有一些答案,但它适用于飞机。

另一种可能的方法是通过一些小步骤(例如30')预先计算国家的坐标,并通过找到最接近您的点的预先计算的点来确定。您可以通过大量在线服务预先计算国家/地区。