33 lines
1.0 KiB
Python
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)
|
|
|