我有一个包含以下字段的数据文件:
Index X.coor Y.coor Status Height Census
1 197.10001 456.89999 1 696 1
2 84.20000 74.80000 0 356 1
3 282.70001 177.50000 1 439 1
...
999 427.70001 418.10001 0 543 1
这些索引代表地理笛卡尔 XY 网格上的点,如下所示:
我想在假设空间(面向对象)中绘制点并将地图划分为我指定的维度。例如,上面的网格尺寸为 7x7。然后我想遍历笛卡尔网格上的每个正方形并计算该区域中点的密度。
Density = number of points in square / area of the square
笛卡尔地图上的点位置是固定的。根据我划分笛卡尔 XY 网格的尺寸,正方形的面积会有所不同。你知道任何允许我这样做的 Python 模块吗?我想用 OOP 来做到这一点,这样我就可以跟踪正方形中每个点的其他属性。
我认为我可以做到这一点的一种方法是获取 X 坐标和 Y 坐标的最大值和最小值。这将给我 4 个数据点,我可以用它们来形成一个矩形并计算面积。然后我编写了一个将矩形划分为 X 和 Y 子区域的函数。到目前为止,如果我想要一个 8 x 16 的网格,我将矩形的长度除以 6 并将宽度除以 16 以获得不同大小的正方形。最后我写了一个循环来计算笛卡尔网格每个区域的密度。我可以将每个区域的密度存储在矩阵中。
是否有允许我这样做的 Python 模块?