geofileops.simplify#

geofileops.simplify(input_path: Union[str, os.PathLike[Any]], output_path: Union[str, os.PathLike[Any]], tolerance: float, algorithm: Union[str, SimplifyAlgorithm] = 'rdp', lookahead: int = 8, input_layer: Optional[str] = None, output_layer: Optional[str] = None, columns: Optional[list[str]] = None, explodecollections: bool = False, gridsize: float = 0.0, keep_empty_geoms: bool = False, where_post: Optional[str] = None, nb_parallel: int = -1, batchsize: int = -1, force: bool = False)#

Applies a simplify operation on geometry column of the input file.

The result is written to the output file specified.

Several `algorithm`s are available.

If explodecollections is False and the input and output file type is GeoPackage, the fid will be preserved. In other cases this will typically not be the case.

Parameters:
  • input_path (PathLike) – the input file

  • output_path (PathLike) – the file to write the result to

  • tolerance (float) – tolerance to use for the simplification. Depends on the algorithm specified. In projected coordinate systems this tolerance will typically be in meter, in geodetic systems this is typically in degrees.

  • algorithm (str, optional) –

    algorithm to use. Defaults to “rdp”.

    • ”rdp”: Ramer Douglas Peucker: tolerance is a distance

    • ”lang”: Lang: tolerance is a distance

    • ”lang+”: Lang, with extensions to increase number of points reduced.

    • ”vw”: Visvalingam Whyatt: tolerance is an area.

  • lookahead (int, optional) – used for Lang algorithms. Defaults to 8.

  • input_layer (str, optional) – input layer name. Optional if the input file only contains one layer.

  • output_layer (str, optional) – input layer name. Optional if the input file only contains one layer.

  • columns (List[str], optional) – list of columns to retain. If None, all standard columns are retained. In addition to standard columns, it is also possible to specify “fid”, a unique index available in all input files. Note that the “fid” will be aliased eg. to “fid_1”. Defaults to None.

  • explodecollections (bool, optional) – True to output only simple geometries. Defaults to False.

  • gridsize (float, optional) – the size of the grid the coordinates of the ouput will be rounded to. Eg. 0.001 to keep 3 decimals. Value 0.0 doesn’t change the precision. Defaults to 0.0.

  • keep_empty_geoms (bool, optional) – True to keep rows with empty/null geometries in the output. Defaults to False.

  • where_post (str, optional) – SQL filter to apply after all other processing, including e.g. explodecollections. It should be in sqlite syntax and spatialite reference functions can be used. Defaults to None.

  • nb_parallel (int, optional) – the number of parallel processes to use. Defaults to -1: use all available CPUs.

  • batchsize (int, optional) – indicative number of rows to process per batch. A smaller batch size, possibly in combination with a smaller nb_parallel, will reduce the memory usage. Defaults to -1: (try to) determine optimal size automatically.

  • force (bool, optional) – overwrite existing output file(s). Defaults to False.