c# - 检测基于纬度/经度的多边形中的点

标签 c# .net maps latitude-longitude

我想在服务器端仅使用 C# 检测基于纬度/经度的坐标是否在由基于纬度/经度的点组成的区域(多边形)内。我相信正确的方法是光线转换,但也许已经有一个 C# 实现,因为它不是微不足道的?

此外,我知道 SQL Server 有一些几何函数,例如 STIntersects,但为了使用它,我需要同时运行 SQL Server 2008,并且每次检查都会涉及数据库连接,这是不受欢迎的。

最佳答案

由于球体是平面的局部微分同胚,您可以使用任何适用于笛卡尔平面的算法,例如this SO question .如果您的多边形包含一个极点,您只需要转换坐标即可。根据您的用例,也许您可​​以拒绝这些输入。

关于c# - 检测基于纬度/经度的多边形中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303568/

相关文章:

c# - 将参数传递给应用程序

c# - 资源争用 - 并不总是使用锁?

java - 使用 java map 进行范围搜索

java - Android map : how to remove previous circle, 但保留新 map 吗?

c# - 如何在 Serilog Sink 中使用依赖注入(inject)?

c# - 何时使用 Decimal.Round() 而不是 Math.Round()?

c# - 使用 CaSTLe Windsor 注入(inject)日志依赖

c# - 请帮忙。创建线程并等待完成

javascript - 如何通过 npm 安装谷歌地图?

c# - 从数据创建的 XML 结构中面临的问题