Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我怎样才能知道哪些坐标在地图上绘制的形状内?_C#_Sql_Google Maps_Coordinates - Fatal编程技术网

C# 我怎样才能知道哪些坐标在地图上绘制的形状内?

C# 我怎样才能知道哪些坐标在地图上绘制的形状内?,c#,sql,google-maps,coordinates,C#,Sql,Google Maps,Coordinates,Google有一个Google Maps的演示,它可以让你在页面上画一个搜索区域作为一个自由形式的多边形,但是如果在我的SQL数据库中有一组条目(~25000),我怎么才能真正找到这个形状中的条目呢 谷歌的演示: 您可以在此处看到此功能的作用: 数学不是我的强项,所以我想知道是否有一种简单的方法可以做到这一点(最好是在数据库级别),或者用C#来实现 编辑: 困难的部分是对纬度和经度坐标(例如,+40.689060,-74.044636)执行此操作,其中数据和多边形点均采用此格式。我已经找到了

Google有一个Google Maps的演示,它可以让你在页面上画一个搜索区域作为一个自由形式的多边形,但是如果在我的SQL数据库中有一组条目(~25000),我怎么才能真正找到这个形状中的条目呢

谷歌的演示:

您可以在此处看到此功能的作用:

数学不是我的强项,所以我想知道是否有一种简单的方法可以做到这一点(最好是在数据库级别),或者用C#来实现

编辑: 困难的部分是对纬度和经度坐标(例如,+40.689060,-74.044636)执行此操作,其中数据和多边形点均采用此格式。我已经找到了一些在简单的x/y平面上进行此操作的示例,但是在WGS84 lat/long上进行此操作似乎非常棘手-然而有几个站点似乎可以这样做!任何被接受的答案都需要是lat/long地图坐标,因为我知道如何解决简单x/y网格的问题


谢谢

我不知道谷歌api的细节,但我已经看到并使用了rightmove功能(就在最近!)。我建议使用C#语言,并且有标准的算法来进行多边形中的点检查。对于25000件物品,我建议并行处理,否则处理可能需要一段时间



可以使用.Net拓扑套件进行这些计算。它使用GeoAPI的.Net实现

谢谢,但这是用于简单的x、y坐标,而不是地图坐标。我最好更新我的问题以澄清:)@NickG:除了小数点外,没有区别。如果你想计算整数,就把它们全部乘以100000。我在我工作的前一家公司写了我自己的多边形点例程,该公司使用地图坐标,我相信国家网格和lat/long格式。公平点-我只是不确定所有算法都能处理负值或地球上+和-值之间的换行。换行+和-可能不会处理。可能是个问题,因为英国位于格林威治子午线(0度)。谷歌演示链接中断。找到一个新链接了吗?你完成过这个问题的解决方案吗?如果您有,您是否介意发布解决方案作为此问题的答案?谢谢