rscder-pub/mul/mulexport.py
2022-05-03 13:16:39 +08:00

33 lines
1.0 KiB
Python

import multiprocessing
from alg.txt_export_to import export_to_shp
import os
import glob
from qgis.core import *
class ExportToSHP(multiprocessing.Process):
def __init__(self, conn, result_path, output_dir):
super(ExportToSHP, self).__init__()
self.conn = conn
self.result_path = result_path
self.result_list = self.get_result_list()
self.output_dir = output_dir
os.makedirs(self.output_dir, exist_ok=True)
def get_result_list(self):
fl = list(glob.glob(os.path.join(self.result_path, '*.txt')))
return fl
def run(self):
# result = []
self.conn.send(len(self.result_list))
qgs = QgsApplication([], False)
QgsApplication.initQgis()
for i, p in enumerate(self.result_list):
o = os.path.basename(p)
o = os.path.splitext(o)[0]
r = export_to_shp(p, os.path.join(self.output_dir, o + '.shp'))
# result.append([r, self.feats[i]])
self.conn.send([i, r, o])
# self.conn.send(result)