我希望这不是太琐碎了,但我真的找不到答案,而且我对这个主题还太陌生,无法自己提出替代方案。所以问题在这里:
我有两个shapefile x和y,它们表示Sentinel2卫星图像的不同处理级别。 x包含约1,300,000个多边形/片段,完全覆盖图像范围,没有任何其他重要信息。 y包含约500个多边形,表示图像中无云区域(也覆盖大部分图像,除了一些“云洞”),以及有关使用的图像的4个列(传感器、时间...)的信息。
我正在尝试将图像信息添加到x中,以便在y覆盖x的地方。很简单吧?但我找不到不花费数天的方法。
我将x作为简单要素{sf}读入,因为使用shapefile / readOGR读取需要很长时间。 我尝试了不同的y操作
当我尝试merge(x,y)时,我只能采用一个sf,因为merge不支持两个sf。 将x(作为sf)和y(作为shp)合并会给我带来错误“无法分配13.0 Gb大小的向量”
所以我尝试了
将x分成几个小块是否可以解决整个问题,或者是否有另一种简单的解决方案?我是否可以通过我的工作空间使合并工作,或者是否没有连接那么多多边形的捷径?
非常感谢您的帮助,希望我的描述不太模糊!
我的小工作站: win 7 64位 8 GB RAM Intel i7-4790 @ 3.6 GHz
我有两个shapefile x和y,它们表示Sentinel2卫星图像的不同处理级别。 x包含约1,300,000个多边形/片段,完全覆盖图像范围,没有任何其他重要信息。 y包含约500个多边形,表示图像中无云区域(也覆盖大部分图像,除了一些“云洞”),以及有关使用的图像的4个列(传感器、时间...)的信息。
我正在尝试将图像信息添加到x中,以便在y覆盖x的地方。很简单吧?但我找不到不花费数天的方法。
我将x作为简单要素{sf}读入,因为使用shapefile / readOGR读取需要很长时间。 我尝试了不同的y操作
当我尝试merge(x,y)时,我只能采用一个sf,因为merge不支持两个sf。 将x(作为sf)和y(作为shp)合并会给我带来错误“无法分配13.0 Gb大小的向量”
所以我尝试了
sf::st_join(x,y)
,它支持变量都是sf,但现在已经28个小时了仍未完成。
sf::st_intersect(x,y)
对于10,000个片段的子集大约需要9分钟,因此对于整个片段而言可能并不会更快。将x分成几个小块是否可以解决整个问题,或者是否有另一种简单的解决方案?我是否可以通过我的工作空间使合并工作,或者是否没有连接那么多多边形的捷径?
非常感谢您的帮助,希望我的描述不太模糊!
我的小工作站: win 7 64位 8 GB RAM Intel i7-4790 @ 3.6 GHz