Tag: 地理定位

使用绕组编号指向多边形

问题是:如何确定一个点是否在多边形内? 这个问题已被多次询问和回答。 有多种方法可用于确定点是否在多边形内。 我已经了解了绕组数算法,将另一个SO线程的可靠答案移植到C#中并在其周围编写了xUnit测试,以确保我能够无情地重构。 目标是得到一个答案,所有这些似乎都使用过程编程方法和变量名称,这些名称与您在数学公式中找到的类似,并将其重构为一组合理合理的OOP类和方法。 所以,要将这个问题专门改为我将继续提供的答案: 如何确定位置/点(纬度和经度)是否在OOP C#中的多边形内?

如何计算一个位置与另一个位置之间的距离/距离(c#)

嗨,我想知道如何非常准确地计算当用户接近30英尺的另一个指定位置,可能有许多指定的位置,那么最好的方法是什么? *示例场景; 移动应用程序用户移动到其应用程序的许多指定位置附近(30英尺)..(我如何计算2个位置之间的距离,即移动用户和其他位置) 提前致谢

Mongodb:如何检查多边形中是否包含一个点?

我有一个点arrays(纬度,经度)区域的点列表。 我已经在这些数组上做了一个索引,现在我想知道一个点是否在该多边形内。 MongoDB可以吗? 我已经尝试过这些命令,但没有运气: > polygonA = [ [ 48.780809,2.307129],[ 48.781809,2.300129],[ 48.770809,2.317129]] > db.contours.find({ “rings.ring” : { “$within” : { “$polygon” : polygonA } } }) 和 > db.runCommand( { geoNear : “contours” , within : [2.307129,48.780809,], num : 10 } ); 我的数据结构是: > db.contours.findOne({},{‘rings’:0}) { “_id” : ObjectId(“50364617d591ac166000c196”), “foundfieldname” : “Name”, “geometrytype” : “geometryPolygon”, […]

使用经度和纬度查找给定距离内的所有附近客户

我有一个包含客户经度和纬度的数据库,我有一个搜索表单,用户将输入log / lat和距离下拉列表包含50英里,100英里,….当用户点击搜索时我想写一个linq查询到从这个距离半径的db中获取所有客户。 如何使用C#和linq进行此操作? 更新: 我找到了这个https://stackoverflow.com/a/1654365/20126,但这给出了一个方形而不是半径

IP地址为127.0.0.1的地理位置错误

好的,所以我尝试了这个, http://ipaddressextensions.codeplex.com/ 。 它将输出显示为: – 127.0.0.1保留ZZ 究竟是什么“保留”和“ZZ”? 它应显示为“INDIA IN”。 IP地址是本地主机。 好的,但国名和国家代码怎么样? 为什么他们不能正确显示? 我需要在代码中更改什么?

C#的经纬度边界框?

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

在ASP.NET页面中查找客户端位置

如何在我的ASP.NET页面中找到客户端位置? 实际上我使用了System.Globalization.RegionInfo.CurrentRegion ,但它显示了控制面板中的设置。 那么我可以使用任何方法找到确切的位置吗?

检测地理位置是否在复杂多边形中

我们目前正在使用以下算法来检测地理点是否在复杂多边形内。 这种方法很好,除非多边形穿过180°经度线。 例如,在多边形160,65,0 160,15,0 -160,15,0 -160,65,0 160,65,0中未检测到点(-170,60) 看看下图:[Img] http://tinypic.com/r/14x2xl1 [/ img]我想要红色框中的所有内容。 不是黄色的盒子! public static bool IsCoordinateInPolygon(IList polygon, KMLCoordinate testPoint) { bool result = false; int j = polygon.Count – 1; for (int i = 0; i < polygon.Count; i++) { if (polygon[i].Latitude = testPoint.Latitude || polygon[j].Latitude = testPoint.Latitude) { if (polygon[i].Longitude + (testPoint.Latitude – polygon[i].Latitude) […]