Expression Shorthand
When a function only involves one geometry column, such as area or buffer, it is possible to call that function directly from the polars_st module, allowing us to write: gdf.select(st.area()) instead of gdf.select(st.geom().st.area()).
The following functions can be used that way:
polars_st.geometry_type #
geometry_type(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.geometry_type().
polars_st.dimensions #
dimensions(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.dimensions().
polars_st.coordinate_dimension #
coordinate_dimension(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.coordinate_dimension().
polars_st.minimum_clearance #
minimum_clearance(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.minimum_clearance().
polars_st.count_coordinates #
count_coordinates(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.count_coordinates().
polars_st.coordinates #
Syntactic sugar for st.geom(columns).st.coordinates(...).
polars_st.count_geometries #
count_geometries(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.count_geometries().
polars_st.get_geometry #
get_geometry(*columns: str, index: IntoIntegerExpr) -> GeoExpr
Syntactic sugar for st.geom(columns).st.get_geometry(...).
polars_st.count_points #
count_points(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.count_points().
polars_st.get_point #
get_point(*columns: str, index: IntoIntegerExpr) -> GeoExpr
Syntactic sugar for st.geom(columns).st.get_point(...).
polars_st.exterior_ring #
Syntactic sugar for st.geom(columns).st.exterior_ring().
polars_st.interior_rings #
interior_rings(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.interior_rings().
polars_st.count_interior_rings #
count_interior_rings(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.count_interior_rings().
polars_st.get_interior_ring #
get_interior_ring(*columns: str, index: IntoIntegerExpr) -> GeoExpr
Syntactic sugar for st.geom(columns).st.get_interior_ring(...).
polars_st.precision #
precision(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.precision().
polars_st.set_precision #
set_precision(
    *columns: str,
    grid_size: IntoNumericExpr,
    mode: Literal["valid_output", "no_topo", "keep_collapsed"] = "valid_output"
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.set_precision(...).
polars_st.set_srid #
set_srid(*columns: str, srid: IntoIntegerExpr) -> GeoExpr
Syntactic sugar for st.geom(columns).st.set_srid(...).
polars_st.to_srid #
to_srid(*columns: str, srid: IntoIntegerExpr) -> GeoExpr
Syntactic sugar for st.geom(columns).st.to_srid(...).
polars_st.to_wkt #
to_wkt(
    *columns: str,
    rounding_precision: int | None = 6,
    trim: bool = True,
    output_dimension: Literal[2, 3, 4] = 3,
    old_3d: bool = False
) -> Expr
Syntactic sugar for st.geom(columns).st.to_wkt(...).
polars_st.to_ewkt #
to_ewkt(
    *columns: str,
    rounding_precision: int | None = 6,
    trim: bool = True,
    output_dimension: Literal[2, 3, 4] = 3,
    old_3d: bool = False
) -> Expr
Syntactic sugar for st.geom(columns).st.to_ewkt(...).
polars_st.to_wkb #
to_wkb(
    *columns: str,
    output_dimension: Literal[2, 3, 4] = 3,
    byte_order: Literal[0, 1] | None = None,
    include_srid: bool = False
) -> Expr
Syntactic sugar for st.geom(columns).st.to_wkb(...).
polars_st.to_geojson #
Syntactic sugar for st.geom(columns).st.to_geojson(...).
polars_st.to_shapely #
to_shapely(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.to_shapely().
polars_st.to_dict #
to_dict(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.to_dict().
polars_st.cast #
cast(*columns: str, into: IntoExprColumn) -> Expr
Syntactic sugar for st.geom(columns).st.cast(into).
polars_st.is_closed #
is_closed(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.is_closed().
polars_st.is_empty #
is_empty(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.is_empty().
polars_st.is_ring #
is_ring(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.is_ring().
polars_st.is_simple #
is_simple(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.is_simple().
polars_st.is_valid #
is_valid(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.is_valid().
polars_st.is_valid_reason #
is_valid_reason(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.is_valid_reason().
polars_st.unary_union #
Syntactic sugar for st.geom(columns).st.unary_union(...).
polars_st.coverage_union #
Syntactic sugar for st.geom(columns).st.coverage_union().
polars_st.boundary #
Syntactic sugar for st.geom(columns).st.boundary().
polars_st.buffer #
buffer(
    *columns: str,
    distance: IntoNumericExpr,
    quad_segs: int = 8,
    cap_style: Literal["round", "square", "flat"] = "round",
    join_style: Literal["round", "mitre", "bevel"] = "round",
    mitre_limit: float = 5.0,
    single_sided: bool = False
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.buffer(...).
polars_st.offset_curve #
offset_curve(
    *columns: str,
    distance: IntoNumericExpr,
    quad_segs: int = 8,
    join_style: Literal["round", "mitre", "bevel"] = "round",
    mitre_limit: float = 5.0
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.offset_curve(...).
polars_st.centroid #
Syntactic sugar for st.geom(columns).st.centroid().
polars_st.clip_by_rect #
clip_by_rect(*columns: str, bounds: IntoExprColumn) -> GeoExpr
Syntactic sugar for st.geom(columns).st.clip_by_rect(...).
polars_st.convex_hull #
Syntactic sugar for st.geom(columns).st.convex_hull().
polars_st.concave_hull #
Syntactic sugar for st.geom(columns).st.concave_hull(...).
polars_st.segmentize #
segmentize(*columns: str, max_segment_length: IntoNumericExpr) -> GeoExpr
Syntactic sugar for st.geom(columns).st.segmentize(max_segment_length).
polars_st.envelope #
Syntactic sugar for st.geom(columns).st.envelope().
polars_st.extract_unique_points #
Syntactic sugar for st.geom(columns).st.extract_unique_points().
polars_st.build_area #
Syntactic sugar for st.geom(columns).st.build_area().
polars_st.make_valid #
Syntactic sugar for st.geom(columns).st.make_valid().
polars_st.normalize #
Syntactic sugar for st.geom(columns).st.normalize().
polars_st.point_on_surface #
Syntactic sugar for st.geom(columns).st.point_on_surface().
polars_st.remove_repeated_points #
remove_repeated_points(
    *columns: str, tolerance: IntoNumericExpr = 0.0
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.remove_repeated_points(...).
polars_st.simplify #
simplify(
    *columns: str, tolerance: IntoNumericExpr, preserve_topology: bool = True
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.simplify(...).
polars_st.force_2d #
Syntactic sugar for st.geom(columns).st.force_2d().
polars_st.force_3d #
force_3d(*columns: str, z: IntoNumericExpr = 0.0) -> GeoExpr
Syntactic sugar for st.geom(columns).st.force_3d(...).
polars_st.flip_coordinates #
Syntactic sugar for st.geom(columns).st.flip_coordinates().
polars_st.minimum_rotated_rectangle #
Syntactic sugar for st.geom(columns).st.minimum_rotated_rectangle().
polars_st.affine_transform #
affine_transform(
    *columns: str, matrix: IntoExprColumn | Sequence[float]
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.affine_transform(...).
polars_st.translate #
translate(
    *columns: str,
    x: IntoNumericExpr = 0.0,
    y: IntoNumericExpr = 0.0,
    z: IntoNumericExpr = 0.0
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.translate(...).
polars_st.rotate #
rotate(
    *columns: str,
    angle: IntoNumericExpr,
    origin: Literal["center", "centroid"] | Sequence[float] = "center"
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.rotate(...).
polars_st.scale #
scale(
    *columns: str,
    x: IntoNumericExpr = 1.0,
    y: IntoNumericExpr = 1.0,
    z: IntoNumericExpr = 1.0,
    origin: Literal["center", "centroid"] | Sequence[float] = "center"
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.scale(...).
polars_st.skew #
skew(
    *columns: str,
    x: IntoNumericExpr = 0.0,
    y: IntoNumericExpr = 0.0,
    z: IntoNumericExpr = 0.0,
    origin: Literal["center", "centroid"] | Sequence[float] = "center"
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.skew(...).
polars_st.interpolate #
interpolate(
    *columns: str, distance: IntoNumericExpr, normalized: bool = False
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.interpolate().
polars_st.substring #
substring(
    *columns: str, start: IntoNumericExpr, end: IntoNumericExpr
) -> GeoExpr
Syntactic sugar for st.geom(columns).st.substring(...).
polars_st.line_merge #
Syntactic sugar for st.geom(columns).st.line_merge().
polars_st.total_bounds #
total_bounds(*columns: str) -> Expr
Syntactic sugar for st.geom(columns).st.total_bounds().
polars_st.union_all #
Syntactic sugar for st.geom(columns).st.union_all(...).
polars_st.coverage_union_all #
Syntactic sugar for st.geom(columns).st.coverage_union_all().
polars_st.intersection_all #
Syntactic sugar for st.geom(columns).st.intersection_all().
polars_st.difference_all #
Syntactic sugar for st.geom(columns).st.difference_all(...).
polars_st.symmetric_difference_all #
Syntactic sugar for st.geom(columns).st.symmetric_difference_all(...).
polars_st.polygonize #
Syntactic sugar for st.geom(columns).st.polygonize().