1

I have a few thousand polygon shapefiles in a folder that I would like the SAGA Split Features Layer tool to perform its operation on. The operation and parameters are the same for every polygon, but just can't get it to iterate across the files. Below is the result I want.

Error:

exec(open('C:/GIS Data/ab_grids/feature_split.py'.encode('utf-8')).read()) Traceback (most recent call last): File "C:\OSGeo4W\apps\Python39\lib\code.py", line 90, in runcode exec(code, self.locals) File "", line 1, in File "", line 11, in File "C:\OSGeo4W/apps/qgis-ltr/./python/plugins\processing\tools\general.py", line 108, in run return Processing.runAlgorithm(algOrName, parameters, onFinish, feedback, context) File "C:\OSGeo4W/apps/qgis-ltr/./python/plugins\processing\core\Processing.py", line 183, in runAlgorithm raise QgsProcessingException(msg) _core.QgsProcessingException: Unable to execute algorithm Could not load source layer for SHAPES: invalid value

enter image description here ====>enter image description here

# split twp grid into 2x2 grid
import processing
import glob
import os

# folder where polygons are stored
source = "r'C:\GIS Data\ab_grids\twp_polygons'"
files = glob.glob(source + "*.shp")
output = "r'C:\GIS Data\ab_grids\twp2_2'"

processing.run("saga:splitfeatureslayer",
{'SHAPES':files,
'CUTS':'TEMPORARY_OUTPUT',
'EXTENT':output,
'NX':2,
'NY':2,
'METHOD':0})

1 Answer 1

0
# split many polygon files into nxn polygons

import processing
import glob

path = "C:/GIS/...."
os.chdir(path)

for file in glob.glob("*.shp"):
    input_layer = os.path.join(path,file)
    output_layer = input_layer.replace(".shp","_split.shp")
    
    params = {'SHAPES':input_layer,
        'CUTS':'TEMPORARY_OUTPUT',
        'EXTENT':output_layer,
        'NX':2,   # for 2x2 grid
        'NY':2,
        'METHOD':0}

    processing.run("saga:splitfeatureslayer",params)  #saga feature split aglorithm

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.