Math 扫描类似多边形的地理区域

Math 扫描类似多边形的地理区域,math,geometry,gis,geography,area,Math,Geometry,Gis,Geography,Area,我有一个具有多边形形状的地理区域。我想用确定的步数扫描该区域,比如说每步25-30米。我正在使用lat/long系统。我所需要的只是一种做这种扫描的方法。效率优先 另外,如果你能帮我找到一种方法,用上面提到的相同步骤在这个多边形的边界上拾取点 注意:我不在乎100%的准确结果 听起来你可以: a) 找出形状的轴对齐边框。用统一的网格覆盖,测试网格中的每个点是否位于形状的内部。我敢肯定,像这样一种天真的方法是次优的,但除非你的形状受到约束(它(严格地)是凸的吗?它有洞吗?),否则它可能是最简单、最

我有一个具有多边形形状的地理区域。我想用确定的步数扫描该区域,比如说每步25-30米。我正在使用lat/long系统。我所需要的只是一种做这种扫描的方法。效率优先

另外,如果你能帮我找到一种方法,用上面提到的相同步骤在这个多边形的边界上拾取点


注意:我不在乎100%的准确结果

听起来你可以:

a) 找出形状的轴对齐边框。用统一的网格覆盖,测试网格中的每个点是否位于形状的内部。我敢肯定,像这样一种天真的方法是次优的,但除非你的形状受到约束(它(严格地)是凸的吗?它有洞吗?),否则它可能是最简单、最直接的实现方法

b) 在形状的边界上有每条线段的端点,将每条线段划分为规则间隔相当简单

现在,以经纬度和距离为单位指定了点。如果边界矩形足够小(这取决于您的精度要求,但根据经验法则,我建议如果您的边界框沿两侧小于30弧分,则它足够小),只需向前推进并处理lat,只要平面坐标,将30m转换为(局部)角度测量——请记住,东西向和南北向的角度测量可能不相等。对于地球上大多数人口稠密的地区来说,这将是足够准确的


为了获得更高的精度,您需要使用某种投影,或者将地理坐标转换为平面坐标以符合网格规范,或者反之亦然(或者两者都使用,因为您的输入是地理点和平面点的混合).

您使用的是特定的平台吗?我将RoR与谷歌地图一起使用。对于那些不熟悉RoR的人,您已经可以做些什么了?(你把这当作一道数学题,而不是一道关于工具细节的问题。)是的,我在寻找一个解决方案,不管它是什么。我会找到一种方法把它转换成我的工具。你有多少个小数来表示lat/long?我需要估计计算中的误差。是的,这很有效:首先,为了摆脱坐标问题,我使用球体系统保留了所有操作。第二件事,我用了一秒钟的步子。之后,我遵循以下逻辑:1-确定边界框2-在边界框中生成位置网格3-对于网格中的每个点,检查是否属于多边形。我在这里找到了一个很酷的算法来检查一个位置是否属于多边形:。很酷的事情是整个问题用不到70行代码就解决了!