我有数千个以表格格式存储的多边形(给定它们的 4 个角坐标),它们代表地球的小区域。此外,每个多边形都有一个数据值。该文件看起来像这样:
lat1, lat2, lat3, lat4, lon1, lon2, lon3, lon4, data
57.27, 57.72, 57.68, 58.1, 151.58, 152.06, 150.27, 150.72, 13.45
56.96, 57.41, 57.36, 57.79, 151.24, 151.72, 149.95, 150.39, 56.24
57.33, 57.75, 57.69, 58.1, 150.06, 150.51, 148.82, 149.23, 24.52
56.65, 57.09, 57.05, 57.47, 150.91, 151.38, 149.63, 150.06, 38.24
57.01, 57.44, 57.38, 57.78, 149.74, 150.18, 148.5, 148.91, 84.25
...
许多多边形相交或重叠。现在我想创建一个 *m 矩阵,范围从 -90° 到 90° 纬度和 -180° 到 180° 经度,例如 0.25°x0.25° 以存储(面积加权)平均数据落在每个像素内的所有多边形的值。
因此,规则网格中的一个像素应获得一个或多个多边形的平均值(如果没有多边形与像素重叠,则没有)。每个多边形应根据其在该像素内的面积分数对该平均值做出贡献。
基本上,规则网格和多边形看起来像这样:
如果您查看像素 2,您会看到该像素内有两个多边形。因此,考虑到它们的面积分数,我必须取两个多边形的平均数据值。然后应将结果存储在常规网格像素中。
我环顾网络,到目前为止还没有找到令人满意的方法。因为我在日常工作中使用 Python/Numpy,所以我想坚持下去。这可能吗?这个包看起来很有前途,但我不知道从哪里开始......将所有内容移植到postgis数据库是一项非常艰巨的工作,我想我的方式会有很多障碍。