modules.gisOperators

Classes

class modules.gisOperators.ConvexHullCenter

Calcualte the center of the convex hull of point samples

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'ConvexHullCenter', auto_run: bool = True, points_table: PortTypeHint.TableData | None = None, by_xy: bool = True, x_column: str | None = None, y_column: str | None = None, longitude_column: str | None = None, latitude_column: str | None = None) None

Initialize ConvexHullCenter object.

Parameters

points_tablePortTypeHint.TableData | None, default: None

The table contains the point samples.

by_xybool, default: True

If True, the center will be calculated by the x and y coordinates. If False, the center will be calculated by the longitude and latitude.

x_columnstr | None, default: None

The column name or title of the x coordinate. If None, “x_coordinate” will be used.

y_columnstr | None, default: None

The column name or title of the y coordinate. If None, “y_coordinate” will be used.

longitude_columnstr | None, default: None

The column name of the longitude. If None, “longitude” will be used.

latitude_columnstr | None, default: None

The column name or title of the latitude. If None, “latitude” will be used.

execute() PortTypeHint.SingleResult | None

Attributes:

InputTable: PortReference[PortTypeHint.TableData]
OutputCenter: PortReference[PortTypeHint.SingleResult]
class modules.gisOperators.VrtToGeoTiff

Convert a VRT file to a GeoTIFF or PNG file with metadata.

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'VrtToGeoTiff', auto_run: bool = True, vrt_file: str | Path | None = None, directory_path: str | Path | None = None, output_path: str | Path | None = None, colormap: str | dict | None = None, vrt_file_pattern: str | None = None, time_info_pattern: str | None = None, format: Literal[geotiff, png] = 'geotiff', compress: str = 'lzw', predictor: int = 2) None

Initialize a VrtToGeoTiff object.

Parameters

vrt_filestr | Path | None, default: None

Path to a single VRT file. Mutually exclusive with directory_path.

directory_pathstr | Path | None, default: None

Path to directory containing VRT files for time series processing. Mutually exclusive with vrt_file.

output_pathstr | Path | None, default: None

Output directory for generated files. If None, creates output in same directory as input with format-specific suffix.

colormapstr | dict | None, default: None

Colormap specification. Can be:

  • Plotly colorscale name: “viridis”, “plasma”, “inferno”, “magma”, “cividis”,

“turbo”, “rainbow”, “jet”, “hot”, “cool”, “RdYlBu”, “RdBu”, “Spectral”, etc.

  • Custom dict: {value: [r, g, b, a]} where values are 0-1 floats or 0-255 integers

Examples

- **None**: Uses default "viridis" colorscale

vrt_file_pattern: str | None, default: None
    File pattern to match when processing directory (e.g., "*.vrt", "Depth*.vrt").
    Only used when directory_path is provided.

time_info_pattern: str | None, default: None
    Regex pattern to extract time information from filename
    If None, uses default patterns

format: Literal["geotiff", "png"] = "geotiff", default: "geotiff"
    Output format:
    - **"geotiff"**: Generates .tif files with embedded geospatial metadata
    - **"png"**: Generates .png files with separate .pgw (world file), .prj (projection),
      and metadata.json files for GIS compatibility

compress: str = "lzw", default: "lzw"
    Compression method for GeoTIFF. Only used when format="geotiff".

    Options and recommendations:
    - **"lzw"** (default): Lossless, good compression ratio, widely supported.
      Best for: Most raster data, scientific data, when file size matters.
    - **"deflate"**: Lossless, similar to LZW but sometimes better compression.
      Best for: Alternative to LZW, some software prefers deflate.
    - **"jpeg"**: Lossy compression, smallest files but quality loss.
      Best for: RGB imagery where small quality loss is acceptable.

Notes

- **"none"**: No compression, largest files but fastest access.
      Best for: When processing speed is critical, temporary files.

predictor: int = 2, default: 2
    Predictor for lossless compression optimization. Only used when format="geotiff"
    and compress is "lzw" or "deflate".

    Options and recommendations:
    - **1** (none): No prediction, compress data as-is.
      Best for: Random/noisy data, already compressed data.
    - **2** (horizontal differencing, default): Stores differences between adjacent pixels.
      Best for: Most imagery, gradual spatial changes, typical raster data.
      Typical improvement: 20-50% better compression for spatial data.
    - **3** (floating point): Optimized for floating-point scientific data.
      Best for: Elevation models, temperature data, continuous surfaces.
      Typical improvement: 40-60% better compression for float32/64 data.

Ports
OutputFiles: PortReference[PortTypeHint.FilesPath | PortTypeHint.FilePath]
update_ui_schema(reset: bool = False) dict[str, UIAttributeSchema]
execute() PortTypeHint.FilesPath | PortTypeHint.FilePath | None

Attributes:

OutputFiles: PortReference[PortTypeHint.FilesPath | PortTypeHint.FilePath]
class modules.gisOperators.CreatePolyLines

Create poly lines from points or bores

Inherits from:

PipeModule

Methods:

__init__(mname: str = 'CreatePolyLines', auto_run: bool = True, bores: PortTypeHint.MultiProfile1D | None = None, define_poly_lines_by: Literal[bores, points] = 'bores', poly_lines: pd.DataFrame | list[dict[str, Any]] | None = None) None

Initialize CreatePolyLines object.

Parameters

boresPortTypeHint.MultiProfile1D | None, default: None

The vertical bores used when define_poly_lines_by is "bores". define_poly_lines_by: Literal[“bores”, “points”], default: “bores” How poly lines are defined. "bores": each row is a line vertex with name and bore_number. "points": each row is a line vertex with name, x_coordinate, y_coordinate, and optionally z_coordinate. poly_lines: pd.DataFrame | list[dict[str, Any]] | None Poly line vertices, one row per point. The frontend passes a list of records; the module converts it to a DataFrame internally. Ports

InputMultiProfile1DPortTypeHint.MultiProfile1D

Bore profiles; required when define_poly_lines_by is "bores".

OutputPolyLinesPortTypeHint.TableData

Poly line vertices, one row per point.

update_ui_schema(reset: bool = False) dict[str, UIAttributeSchema]
execute() PortTypeHint.TableData | None

Attributes:

InputMultiProfile1D: PortReference[PortTypeHint.MultiProfile1D]
OutputPolyLines: PortReference[PortTypeHint.TableData]