检测点是否在二维多边形内的最佳实践(多边形的顶点在 table 上)
Best Practice to detect whether a point is inside a 2D polygon (vertices of polygon are on a table )
我在数据库中有一个 table,我在其中保存多边形的顶点,具有以下结构:IdPolygon (int)、Latitude (real)、Longitude (real)。
为了检查一个点是否在一个已注册的多边形内,我正在寻找“IdPolygon”以获得一定范围的纬度和经度,然后循环此多边形列表以查看该点是否在其中他们中的任何一个。
最好的做法是什么,性能更好,让我检查一个点是否在银行中注册的任何多边形内?
我建议您使用 sql 服务器支持的空间类型来存储空间数据,例如几何,地理空间。它确实支持索引和空间查询。在 https://msdn.microsoft.com/en-us/library/bb933991.aspx
查看更多
我在数据库中有一个 table,我在其中保存多边形的顶点,具有以下结构:IdPolygon (int)、Latitude (real)、Longitude (real)。
为了检查一个点是否在一个已注册的多边形内,我正在寻找“IdPolygon”以获得一定范围的纬度和经度,然后循环此多边形列表以查看该点是否在其中他们中的任何一个。
最好的做法是什么,性能更好,让我检查一个点是否在银行中注册的任何多边形内?
我建议您使用 sql 服务器支持的空间类型来存储空间数据,例如几何,地理空间。它确实支持索引和空间查询。在 https://msdn.microsoft.com/en-us/library/bb933991.aspx
查看更多