Tag: 地理编码

在C中进行地理编码查找

我想做一个超快速的地理编码查找,返回城镇,城市或国家输入的坐标。 我的知识是基本的,但据我所知,用C语言写作是一个好的开始。 我认为有这样的树结构是有意义的: 英国 肯特 奥平顿 洽坦 罗切斯特 多佛 的Edenbridge 威尔特 斯温顿 Malmsbury 在我的文件/数据库中,我将有坐标和城镇/城市名称。 如果给我的程序命名为“Kent”,我想要一个程序,可以以最快的方式让我回到与“Kent”相关的坐标 出于性能原因,我应该将数据存储在二进制文件还是SQL数据库中? 搜索此数据的最佳方法是什么? 也许二叉树搜索? 应该如何存储数据? 也许?

Windows Phone – 从远处获取缩放级别

我不擅长数学,所以请帮助我。 我有米的距离,我需要计算缩放级别和中心来映射。 我怎样才能做到这一点? 我从这开始,但现在我完全迷失了: var sCoord = new GeoCoordinate(startPoint.X, startPoint.Y); var eCoord = new GeoCoordinate(latitude, longitude); var distance = sCoord.GetDistanceTo(eCoord); 谢谢

获取与给定点重叠的所有点(半径为圆)

我需要找到“圆圈重叠给定点”系统的最佳方法。 我有很多要点,例如餐馆,每个项目都有一个地方的点,以及例如“带出食物”的半径。 半径不同,有些有3公里,有些有10公里。 我正在寻找一个观点。 例如“我的位置”纬度/经度。 我需要找到找到所有与我的观点重叠的餐馆的最佳方式。 (会给我带来食物)。 (不是圆圈中的点,但是哪些圆圈与我的观点重叠。) 我正在考虑在SQLServer 2008中将lat / lng存储为地理类型。这是这样做的吗? 我可以直接在sqlserver上查询吗? 或者我需要在代码中执行此操作吗? 这样做的方法是什么?

实现地理坐标类:相等比较

我正在将CodePlex的地理坐标类集成到我的个人“工具箱”库中。 此类使用float字段来存储纬度和经度。 由于GeoCoordinate类实现了IEquatable ,我习惯性地编写Equals方法,如下所示: public bool Equals(GeoCoordinate other) { if (other == null) { return false; } return this.latitude == other.latitude && this.longitude == other.longitude; } 在这一点上,我停下来,并认为我正在比较浮点变量的相等性,这通常是禁忌。 我的思考过程大致如下: 我只能设想一次设置Latitude和Longitude属性,这意味着不会累积任何错误来搞砸我的比较。 另一方面,写(尽管没有意义)是可能的 var geo1 = new GeoCoordinate(1.2, 1.2); var geo2 = new GeoCoordinate(1.2, 1.2); // geo1.Equals(geo2) will definitely be true, BUT: geo2.Latitude *= 10; geo2.Latitude /= 10; […]

查询ASP.NET Core 2和Entity Framework Core 2中表中的附近位置

我正在尝试查询我可以在我的SQL数据库中查找给定经度和纬度点内的所有位置(比如50英里)。 我填充了一些post,在Post表中我有两列,我在创建post时存储经度和纬度。 以下是该表的外观: 我已经浏览了许多如何尝试实现这一点的例子,但似乎它们只是不起作用。 我知道从研究ASP.NET Core不支持DbGeography ,其他文章刚刚过时。 发现这篇文章 ,但它使用DbGeography ,因此不起作用。 在GitHub上找到了这个: 在这里我只是不知道这是否会起作用。 仅供参考,这是我的Post模型的外观: public class Post { public int Id { get; set; } public string Title { get; set; } public double Lat { get; set; } public double Lng { get; set; } public DateTime Created { get; set; } public Category Category […]

使用Polly时VS Debugger中报告的exceptionUser-Unhandled

在调用Pittney Bowes Geocoder服务时,我正在使用Polly来捕捉exception。 我正在使用一个抛出MessageProcessingException的g1client库。 如果抛出此exception,我已将调用包装在Polly网络策略中以重试调用最多3次,但Visual Studio坚持exception为“User-Unhandled”我需要修改哪些内容才能处理此exception? 我正在使用Visual Studio 2017社区版和C#4.6.1。 try { var networkPolicy = Policy .Handle() .Or() .WaitAndRetry( 3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (exception, timeSpan, context) => { System.Diagnostics.Debug.WriteLine(“Exception being retried” + exception); }); geocoderResponse = networkPolicy.Execute(() => geocoderService.Process(geocoderRequest)); } catch (MessageProcessingException ex) { log.Error(“MessageProcessingException calling the Geocoder service”, ex); throw ex; } catch (Exception […]

C#的经纬度边界框?

我只想找到一个简单的C#类,它接收起始纬度和经度以及距离并找到边界框(max lat,min lat,max lon,min lon)。 在这里还有其他类似的问题,但没有一个真正回答这个问题,那些问题不在C#中。 救命。

以km c为单位计算两个地理点的距离#

我想计算两个地理点的距离。 这些点以经度和纬度给出。 坐标是: 第1点:36.578581,-118.291994 第2点:36.23998,-116.83171 这里有一个网站来比较结果: http://www.movable-type.co.uk/scripts/latlong.html 这里我从这个链接使用的代码: 计算谷歌地图V3中两点之间的距离 const double PIx = Math.PI; const double RADIO = 6378.16; /// /// Convert degrees to Radians /// /// Degrees /// The equivalent in radians public static double Radians(double x) { return x * PIx / 180; } /// /// Calculate the distance between two places. /// […]