GeoCoordinateWatcher.TryStart在C#中不能正常工作
我对以下代码有问题,即它没有显示许可提示 public Tuple GetDeviceLocation() { GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(); watcher.TryStart(false, TimeSpan.FromMilliseconds(1000)); GeoCoordinate coord = watcher.Position.Location; if (coord.IsUnknown != true) { return Tuple.Create(coord.Latitude, coord.Longitude); } } 解决方案 我看过Microsoft文档,有一些引起我注意的东西. 相对于坐标,必须以米为单位移动的距离 从最后一个位置截止事件开始,在位置提供商之前 提出另一个位
10 2024-04-26
编程技术问答社区
基于2个经纬度点的方向
我正在寻找一个可以使我发送2个LAT的功能. 1 lat,长是我的基础,第二个是我要确定它是n,s,e还是西.还是我必须去NW,N,NE,EN,E,E,SE,S,S,SW,WS,W,W,WN?无论哪种方式,有人在C#? 中都有这样的东西 解决方案 首先,您可以计算大圆轴承 θ= atan2(sin(Δλ).cos(φ2),cos(φ1).sin(φ2) - sin(φ1).cos(φ2).cos(Δλ)) javaScript(易于转换为C#): var y = Math.sin(dLon) * Math.cos(lat2); var x = Math.cos(lat1)*Math.sin(lat2) - Math.sin(lat1)*Math.cos(lat2)*Math.cos(dLon); var brng = Math.atan2(y, x).toDeg(); http://wwwww.movable-type.co.uk/script
12 2024-04-24
编程技术问答社区
获取邮编的经纬度值的最佳方法-C#
获得邮政编码的纬度和经度值的最佳方法是什么? 这是我当前正在使用的功能,但每24小时只允许2400个请求. private Coordinates GetZipCoordinates(string zip) { string address = ""; address = "http://maps.googleapis.com/maps/api/geocode/xml?components=postal_code:" + zip.Trim() + "&sensor=false"; var result = new System.Net.WebClient().DownloadString(address); XmlDocument doc = new XmlDocument(); doc.LoadXml(result); XmlNodeList parentNode =
10 2024-04-24
编程技术问答社区
如何将地理坐标转换为像素?
我正在开发WPF应用程序.我有一张500宽度和500高的静态世界地图.我的应用程序中有一个表格.在此中,用户进入纬度和经度,并提交详细信息.我想在静态图上显示这些纬度和经度的确切位置.因此,我试图将这些纬度和经度转换为像素.我正在使用椭圆形在静态地图上显示圆圈.我应该如何将地理坐标转换为C#中的像素?您能为我提供任何可以解决上述问题的代码或链接吗?我的问题类似于链接 将long/lat转换为Pixel x/y在给定的图片上 我发现此链接有用. 编辑: 我已经使用了链接 并编写以下代码 GoogleMapsAPIProjection googleApiProjObj = new GoogleMapsAPIProjection(0); float x = 18.29F; float y = 73.57F; System.Drawing.PointF p1 = new System.Drawi
10 2024-04-24
编程技术问答社区
如何使用初始点、距离和方位角来计算endPoint?
我需要使用起点,距离和方位角找到端点.这是每个值的值: latitude: 37.624942, longitude": -7.896333, azimute: 233.0 distance : 20.0 这是我的功能: private List findEndPoint(string latitudeStart, string longitudeStart, string azimute,double distancia) { List endPoint = new List(); double latitudeStartDouble = Convert.ToDouble(latitudeStart, System.Globalization.CultureInfo.InvariantCulture); double longitudeStartDouble = Convert.ToDouble
8 2024-04-23
编程技术问答社区
在巴基斯坦的Twitter流媒体API中传递经度和纬度
我在 twitter流媒体上的经度和纬度格式遇到问题.该API提供了一些示例示例 经过某些城市的经度和纬度.下面给出了API位置示例中旧金山的位置,在我的程序中效果很好. -122.75,36.8,-121.75,37.8 ,但我试图使用以下位置从巴基斯坦获取推文,但服务器拒绝此位置. 71.69,32.01,70.69,33.01 请帮助我,哪些4个值由逗号隔开,我应该通过,这将使我从巴基斯坦获得推文. 解决方案 每个边界框应指定为一对经度, 纬度对,与边界盒的西南角 首先. 您的71.69,32.01,70.69,33.01坐标给这个(似乎只是巴基斯坦的一小部分,可能想要一个更大的盒子): 所以我认为您的盒子没有正确形成,因为您首先没有给它左下角(西南)角.为了正确提供盒子坐标,您需要以格式bottom-left-longitude, bottom-left-latitude, top-right-longitude, top-righ
2 2024-04-20
编程技术问答社区
C#: 如何确定一个坐标是否在美国大陆?
我正在获得坐标-LAT/LON,我想检查这些坐标是否在美国大陆.在C#中有一种简单的方法吗?我可以将坐标转换为MGRS或UTM. 谢谢! 解决方案 哦,哇,他们只是为您服务: http://econym.org.uk.uk/gmap/gmap/states.xml /p> 美国各州的所有坐标! 建立多边形并应用任何多边形点算法. 经典算法是射线铸造,甚至很简单.让我知道您是否有任何麻烦. 现在,您有两个选择: 使用数据为每个状态构建一个多边形,并对每个状态都检查一个点.如果没有匹配,则不在美国. 但是,这种方法存在问题 - 我不知道数据是如何收集的,但是州之间的差距很小,甚至可能是轻微的重叠.因此,如果您只关心它是否通常在美国,我建议第二种方法: 使用数据为每个状态构建多边形,并使用算法将这些多边形组合到一个(例如联合).保存该多边形并将其与第一个方法一样使用.
10 2024-04-20
编程技术问答社区
从经纬度列表中计算出的中心点与实际情况略有不同。
我正在计算使用C#的可用LAT/LNG列表,并在OpenLayer Map上渲染. 我观察到获得中心LNG的计算将使我在LAT/LNG 方面略有差异.我将此链接用于计算 计算多纬度/经度坐标对的中心点/a>. c#代码: static void Main(string[] args) { List listCoordinate = new List(); listCoordinate.Add(new GeoCoordinate() { Latitude = 22.9833, Longitude = 72.5000 }); //Sarkhej listCoordinate.Add(new GeoCoordinate() { Latitude = 18.9750, Longitude = 72.8258 }); //Mumbai
18 2024-04-19
编程技术问答社区
EF5, SQL Server, 经度和纬度
我发现,在SQL Server中存储LAT的最佳类型是十进制(9,6)(参考在存储纬度和经度数据数据库中时要使用的数据类型?),所以我做了 AddColumn("dbo.Table", "Latitude", c => c.Decimal(nullable: false, precision: 9, scale: 6)); AddColumn("dbo.Table", "Longitude", c => c.Decimal(nullable: false, precision: 9, scale: 6)); sql似乎还可以,一切都在起作用,但是当我插入/更新值时,即 lat = 44.5912853 它是这样保存的: 44.590000 我检查了流程,在更新之前,我的实体包含正确的值,因此我认为与我的代码无关,而是EF/SQL所做的一轮.您有任何想法避免这种情况吗? 更新 update [dbo].[Breweries] set [RankId
18 2024-04-18
编程技术问答社区
检测点是否在基于纬度/经度的多边形中
我想仅使用C#在服务器端检测,是否基于纬度/经度的坐标在基于纬度/经度的点组成的区域(Polygon)内.我相信正确的方法是射线播放,但是也许已经有一个C#实现了,因为这不是微不足道的? 另外,我知道SQL Server具有一些几何函数,例如STIntersects,但是要使用我需要SQL Server 2008运行,每次检查都涉及一个不可能的数据库连接. . 解决方案 由于球体是平面的局部差异,因此您可以使用在笛卡尔平面上使用的任何算法,例如这个问题.如果您的多边形包含杆子,则只需要进行翻译坐标的工作即可.根据您的用例,也许您可​​以拒绝这些输入. 其他解决方案 我在互联网上抢了一会儿,发现此链接. 该示例是用C编写的,但看起来很容易适应C#和长/LAT坐标.不过,您需要牢记跨界线(NS/ew),并添加代码以在必要时进行补偿,或者在运行该功能之前对Latlong值进行小数转换(西方和南方的值
10 2024-04-15
编程技术问答社区
如何确定两组经/纬度坐标之间的距离?
我正在尝试写一些可以确定与LAT/LON坐标集之间的距离的东西. 我正在使用以下我在上找到的代码: public static double distance (double lat1, double lon1, double lat2, double lon2) { double lat1 = Convert.ToDouble(latitude); double lon1 = Convert.ToDouble(longitude); double lat2 = Convert.ToDouble(destlat); double lon2 = Convert.ToDouble(destlon); double theta = toRadians(lon1-lon2); lat1 = toRadians(lat1); lon1 = toRadians(lon1); lat2 = toRadians(lat
12 2024-04-15
编程技术问答社区
在C#中,纬度/经度值为双数或十进制
在C#中存储Geoposital数据时使用的最佳数据类型是什么?我将使用十进制的精确性,但是对十进制浮点数的操作较慢,二进制浮点数(double). . 我读到,大多数情况下,您不需要超过6或7位的纬度或经度.双打的不确定性甚至很重要,还是可以忽略? 解决方案 去double,有几个原因. 三角功能仅适用于双重 double(100纳米范围)的精度远远超出了您对LAT/LON值所需的任何东西 geocoortion class 和第三方模块(例如 dotspatial )也使用double for Coordinates 其他解决方案 双重精度最多可容纳15位小数位数.因此,让我们假设其中三个数字将在LAT/长值的小数点左侧(最大为180DEG).这在右边留下了12位精度.由于一定程度的纬度/长度为〜111公里,因此这12位数字中有5个将为我们提供精确度.另外3位数字可以使我们精确到毫米.其余的4位数字将使我们精确地达到100纳米.由于Double将从性能和
8 2024-04-14
编程技术问答社区
在c#中计算2点之间的距离
我正在尝试分析一种计算C#中2分之间距离的方法. 这是我一直在尝试的代码,尽管我担心答案是不正确的. static void Main() { //postcode australia 2600 -> 3000 float latA = -31.997976f; float longA = 115.762877f; float latB = -31.99212f; float longB = 115.763228f; decimal distance = (DistanceBetween(latA, latB, longA, longB)); Console.WriteLine("Distance is" + distance); Console.ReadLine(); } static decimal DistanceBe
12 2024-04-13
编程技术问答社区
纬度和经度界线盒是C#的吗?
我只想找到一个直接的C#类,它具有起点的纬度和经度和距离,并找到边界框(Max Lat,Min Lat,Max Lon,Min Min Lon).这里还有其他类似的问题,但它们都没有真正回答这个问题,而那些不在C#中的问题. 帮助. 解决方案 这是您要的.感谢Federico A. Ramponi,他在Python 在这里. public class MapPoint { public double Longitude { get; set; } // In Degrees public double Latitude { get; set; } // In Degrees } public class BoundingBox { public MapPoint MinPoint { get; set; } public MapPoint MaxPoint { get; set; } } // Semi-axes o
10 2024-04-13
编程技术问答社区
两个坐标之间的地理中点
我一直在使用可移动型网站来帮助我进行某些地理分级计算,但是这非常有用,但是,我在计算两个坐标之间的中点时有一个错误.我的结果接近预期,但不够近: posA = {47.64570362, -122.14073746} posB = {47.64316917, -122.14032175} 预期结果(取自可移动类型的计算器)= 47°38′40'n,122°08′26'w = {47.644444, -122.140556}我的结果:{49.6054801645915, -122.14052959995759} 这是我的代码: private Geocoordinate MidPoint(Geocoordinate posA, Geocoordinate posB) { Geocoordinate midPoint = new Geocoordinate(); double dLon = DegreesToRadians(posB.Longitude -
8 2024-04-13
编程技术问答社区
将UTM(wsg84)坐标转换为纬度和经度
我已经搜索了一段时间(显然在这里和Google上),寻找一种将一组UTM坐标转换为纬度和经度的整洁方法.我有坐标,我知道它们在哪个区域,但是如何将其转换为纬度和经度?我希望会有某种班级至少可以为我做一些魔术,但似乎并非如此:( 对此有什么建议? 我知道可以做到,因为这个转换器似乎可以正常工作任何输入都非常感谢! :) 谢谢! 解决方案 看看这个.net库 http://projnet.codeplex.com/ .这应该有助于您的情况 其他解决方案 这是: public static void ToLatLon(double utmX, double utmY, string utmZone, out double latitude, out double longitude) { bool isNorthHemisphere = utmZone.Last() >= 'N'; var diflat = -
28 2024-04-13
编程技术问答社区
如何使用C#查找经度和纬度
我在C#中有WCF服务. 在服务呼叫中,客户端发送了一个城市名称.我想将城市名称转换为纬度和纵向,并在人口统计下存储在数据库中. 我正计划使用Google API实现以上功能. 我从Google及其类型的"服务帐户"中获得了API密钥. 如何使用哪个API获得纬度和经度? 我需要安装一些SDK或任何REST服务会做吗? 解决方案 如果要使用Google Maps API,请查看其REST API,您不需要安装Google Maps API,只需发送 之类的请求 http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false 您将获得响应XML. 用于响应JSON: https://maps.googleapis.com/maps/api/geocode/
6 2024-04-13
编程技术问答社区
C# 日出/日落与纬度/经度
当太阳落下并升起给定的一天时,C#是否有办法计算给定纬度和经度? 解决方案 coordinatesharp 可作为Nuget软件包使用.这是一个独立的包装,可以处理太阳和月亮时代. //UTC Date 21-MAR-2019 @ 11:00 AM DateTime d = new DateTime(2017,3,21,11,0,0); Coordinate c = new Coordinate(40.57682, -70.75678, d); c.CelestialInfo.SunRise.ToString(); //Outputs 3/21/2017 10:45:00 AM 它可以处理本地时间,并提供许多其他信息,例如Dawn/Dusk,Eclipse,坐标数据等.有关如何在此处使用的更多信息: 其他解决方案 此API似乎对我有用: http://sunrise-sunset.org/api 其他解决方案 我已经在UWP中测试了此Nuget软件
10 2024-04-12
编程技术问答社区
用C#语言从图像的EXIF中获取GPS数据
我正在开发一个系统,该系统允许使用ASP.NET C#将图像上传到服务器.我正在处理图像,一切都很好.我设法找到了一种读取创建日期EXIF数据并将其作为日期时间解析的方法. 也有效. 我现在正在尝试从EXIF读取GPS数据.我想捕获纬度和经度的数字. 我正在使用此列表作为对EXIF数据的引用(使用属性项目的数字) http://www. exiv2.org/tags.html 这是捕获创建日期(有效)的方法. public DateTime GetDateTaken(Image targetImg) { DateTime dtaken; try { //Property Item 306 corresponds to the Date Taken PropertyItem propItem = targetImg.GetPropertyItem(0x0132); //Convert da
24 2024-04-11
编程技术问答社区
计算两个经纬度地理坐标之间的距离
我正在计算两个地理符号之间的距离.我正在针对其他3-4个应用程序测试我的应用程序.当我计算距离时,我的计算平均倾向于获得3.3英里,而其他应用程序则获得3.5英里.对于我要执行的计算,这是一个很大的区别.那里有任何良好的班级库来计算距离吗?我在c#中这样计算它: public static double Calculate(double sLatitude,double sLongitude, double eLatitude, double eLongitude) { var radiansOverDegrees = (Math.PI / 180.0); var sLatitudeRadians = sLatitude * radiansOverDegrees; var sLongitudeRadians = sLongitude * radiansOverDegrees; var
36 2024-04-10
编程技术问答社区