我在过去几个月里学会了PHP、PDO和SQL,并按照最佳实践构建了一个基本的动态网站,包括用户注册/电子邮件激活/登录注销功能。现在我卡在了下一个任务上……
我创建了一个巨大的数据集,包含三百万以上的正方形/多边形,每个大小为1分钟的纬度和经度,在PHP数组中存储有单个坐标(左上角)。为了推断出类似正方形的形状,我只需在每个方向上添加0.016度(约1分钟)并生成其他3个坐标。
现在我需要检查该数组中的每个多边形是否至少覆盖美国的一部分土地……即如果将我的完成数据集产生图形输出并查看旧金山海岸线,他们会看到类似于this的东西。
这类似于点与多边形问题,但它处理的是另一个多边形而不是点,另一个多边形是一个国家边界,我不仅仅是在寻找交集。我想要检查:
我想大多边形将是美国的一个shapefile,或者是一个KML文件,我可以从中剥离出坐标,从而创建一个非常复杂的多边形。
然后,我想将这些匹配的正方形和正方形ID传递给一个包含每个正方形坐标集的MySQL表格(实际上,我甚至不确定在MySQL中处理那么大的表的最佳实践,但需要时我会解决)。最终目标是使用Google Maps API通过Javascript开发地图,在我编写的网站上显示这些正方形(显然,只显示视野内的正方形,以确保不过度使用数据库)。我相当确定我必须先通过PHP传递这样的信息。但与实际制作数据集的任务相比,所有这些似乎都相对简单。
这显然是无法手动完成的,因此需要自动化。我知道一些Python,那有用吗?其他关于从哪里开始的提示?是否有人愿意为我编写一些代码?
我创建了一个巨大的数据集,包含三百万以上的正方形/多边形,每个大小为1分钟的纬度和经度,在PHP数组中存储有单个坐标(左上角)。为了推断出类似正方形的形状,我只需在每个方向上添加0.016度(约1分钟)并生成其他3个坐标。
现在我需要检查该数组中的每个多边形是否至少覆盖美国的一部分土地……即如果将我的完成数据集产生图形输出并查看旧金山海岸线,他们会看到类似于this的东西。
这类似于点与多边形问题,但它处理的是另一个多边形而不是点,另一个多边形是一个国家边界,我不仅仅是在寻找交集。我想要检查:
- 一个多边形/正方形与另一个多边形相交(比如海岸线/边界)。
- 一个多边形/正方形在另一个多边形内部(比如美国大陆)。
- 一个多边形/正方形包含另一个多边形的一部分(比如小岛)。
下面是我简陋的示意图:
如果符合以下三个条件之一,我想保留这个正方形。如果它与大多边形没有任何交互(即它在水上),则丢弃它。我想大多边形将是美国的一个shapefile,或者是一个KML文件,我可以从中剥离出坐标,从而创建一个非常复杂的多边形。
然后,我想将这些匹配的正方形和正方形ID传递给一个包含每个正方形坐标集的MySQL表格(实际上,我甚至不确定在MySQL中处理那么大的表的最佳实践,但需要时我会解决)。最终目标是使用Google Maps API通过Javascript开发地图,在我编写的网站上显示这些正方形(显然,只显示视野内的正方形,以确保不过度使用数据库)。我相当确定我必须先通过PHP传递这样的信息。但与实际制作数据集的任务相比,所有这些似乎都相对简单。
这显然是无法手动完成的,因此需要自动化。我知道一些Python,那有用吗?其他关于从哪里开始的提示?是否有人愿意为我编写一些代码?
Array => (0 => (0 => latCoords 1 => longCoords), 1 => (0 => latCoords 1=> longCoords))
等等。我一直在查看一些形状文件/钥匙孔标记文件,但似乎没有我需要的分辨率,并且在近距离查看时太过锯齿状。 - marked-down