小编lia*_*ris的帖子

悲情不能腌制由 GDAL 模块创建的 SwigPyObject

我有一个类,它使用 GDAL 模块(https://pypi.org/project/GDAL/)打开一个大的光栅图像,并在多个位置从中提取小图像,由传递的坐标元组列表定义。我想使用 Pathos 处理大量坐标,就像我的代码的这个简化版本:

import gdal
import pathos.pools as pp

class MyClass:

    def __init__(self, image):
        self.image_object = gdal.Open(image)

    def get_small_image(self, coord, size=100):
        small_image = self.image_object.ReadAsArray(coord[0], coord[1], size, size)

        return small_image

    def run_multi(self, coords_in):
        pool = pp.ProcessPool(2)
        output = pool.map(self.get_small_image, coords_in)

        return output

image = r'C:\path\to\image.JP2'

class_obj = MyClass(image)
coords = [(200, 200), (400, 400), (600, 600), (800, 800)]
results = class_obj.run_multi(coords)

print(results)
Run Code Online (Sandbox Code Playgroud)

运行它会出现以下错误:

Traceback (most recent call last):
  File "C:/Users/lharris/PycharmProjects/road_condition_py3/error_recreate.py", line 26, in <module>
    results = class_obj.run_multi(coords) …
Run Code Online (Sandbox Code Playgroud)

python oop gdal jpeg2000 pathos

6
推荐指数
1
解决办法
684
查看次数

标签 统计

gdal ×1

jpeg2000 ×1

oop ×1

pathos ×1

python ×1