我想在服务器端仅使用 C# 检测基于纬度/经度的坐标是否在由基于纬度/经度的点组成的区域(多边形)内。我相信正确的方法是光线转换,但也许已经有一个 C# 实现,因为它不是微不足道的?
此外,我知道 SQL Server 有一些几何函数,例如 STIntersects
,但为了使用它,我需要同时运行 SQL Server 2008,并且每次检查都会涉及数据库连接,这是不受欢迎的。
最佳答案
由于球体是平面的局部微分同胚,您可以使用任何适用于笛卡尔平面的算法,例如this SO question .如果您的多边形包含一个极点,您只需要转换坐标即可。根据您的用例,也许您可以拒绝这些输入。
关于c# - 检测基于纬度/经度的多边形中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303568/