Skip to content

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

This function is syntactic sugar for st.geom(columns).st.geometry_type().

polars_st.dimensions #

dimensions(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.dimensions().

polars_st.coordinate_dimension #

coordinate_dimension(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.coordinate_dimension().

polars_st.area #

area(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.area().

polars_st.bounds #

bounds(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.bounds().

polars_st.length #

length(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.length().

polars_st.minimum_clearance #

minimum_clearance(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.minimum_clearance().

polars_st.x #

x(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.x().

polars_st.y #

y(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.y().

polars_st.z #

z(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.z().

polars_st.m #

m(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.m().

polars_st.count_coordinates #

count_coordinates(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.count_coordinates().

polars_st.coordinates #

coordinates(*columns: str, output_dimension: Literal[2, 3] = 2) -> Expr

This function is syntactic sugar for st.geom(columns).st.coordinates(...).

polars_st.count_geometries #

count_geometries(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.count_geometries().

polars_st.get_geometry #

get_geometry(*columns: str, index: IntoIntegerExpr) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.get_geometry(...).

polars_st.count_points #

count_points(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.count_points().

polars_st.get_point #

get_point(*columns: str, index: IntoIntegerExpr) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.get_point(...).

polars_st.count_interior_rings #

count_interior_rings(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.count_interior_rings().

polars_st.get_interior_ring #

get_interior_ring(*columns: str, index: IntoIntegerExpr) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.get_interior_ring(...).

polars_st.exterior_ring #

exterior_ring(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.exterior_ring().

polars_st.rings #

rings(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.rings().

polars_st.parts #

parts(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.parts().

polars_st.precision #

precision(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.precision().

polars_st.set_precision #

set_precision(
    *columns: str,
    grid_size: IntoDecimalExpr,
    mode: Literal["valid_output", "no_topo", "keep_collapsed"] = "valid_output"
) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.set_precision(...).

polars_st.srid #

srid(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.srid().

polars_st.set_srid #

set_srid(*columns: str, srid: IntoIntegerExpr) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.set_srid(...).

polars_st.to_srid #

to_srid(*columns: str, srid: IntoIntegerExpr) -> GeoExpr

This function is 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

This function is 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

This function is 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

This function is syntactic sugar for st.geom(columns).st.to_wkb(...).

polars_st.to_geojson #

to_geojson(*columns: str, indent: int | None = None) -> Expr

This function is syntactic sugar for st.geom(columns).st.to_geojson(...).

polars_st.to_shapely #

to_shapely(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.to_shapely().

polars_st.to_dict #

to_dict(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.to_dict().

polars_st.has_z #

has_z(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.has_z().

polars_st.has_m #

has_m(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.has_m().

polars_st.is_ccw #

is_ccw(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.is_ccw().

polars_st.is_closed #

is_closed(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.is_closed().

polars_st.is_empty #

is_empty(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.is_empty().

polars_st.is_ring #

is_ring(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.is_ring().

polars_st.is_simple #

is_simple(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.is_simple().

polars_st.is_valid #

is_valid(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.is_valid().

polars_st.is_valid_reason #

is_valid_reason(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.is_valid_reason().

polars_st.unary_union #

unary_union(*columns: str, grid_size: float | None = None) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.unary_union(...).

polars_st.coverage_union #

coverage_union(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.coverage_union().

polars_st.boundary #

boundary(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.boundary().

polars_st.buffer #

buffer(
    *columns: str,
    distance: IntoDecimalExpr,
    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

This function is syntactic sugar for st.geom(columns).st.buffer(...).

polars_st.offset_curve #

offset_curve(
    *columns: str,
    distance: IntoDecimalExpr,
    quad_segs: int = 8,
    join_style: Literal["round", "mitre", "bevel"] = "round",
    mitre_limit: float = 5.0
) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.offset_curve(...).

polars_st.centroid #

centroid(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.centroid().

polars_st.clip_by_rect #

clip_by_rect(
    *columns: str, xmin: float, ymin: float, xmax: float, ymax: float
) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.clip_by_rect().

polars_st.convex_hull #

convex_hull(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.convex_hull().

polars_st.concave_hull #

concave_hull(
    *columns: str, ratio: float = 0.0, allow_holes: bool = False
) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.concave_hull(...).

polars_st.segmentize #

segmentize(*columns: str, max_segment_length: IntoDecimalExpr) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.segmentize(max_segment_length).

polars_st.envelope #

envelope(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.envelope().

polars_st.extract_unique_points #

extract_unique_points(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.extract_unique_points().

polars_st.build_area #

build_area(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.build_area().

polars_st.make_valid #

make_valid(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.make_valid().

polars_st.normalize #

normalize(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.normalize().

polars_st.node #

node(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.node().

polars_st.point_on_surface #

point_on_surface(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.point_on_surface().

polars_st.remove_repeated_points #

remove_repeated_points(
    *columns: str, tolerance: IntoDecimalExpr = 0.0
) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.remove_repeated_points(...).

polars_st.reverse #

reverse(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.reverse().

polars_st.simplify #

simplify(
    *columns: str, tolerance: IntoDecimalExpr, preserve_topology: bool = True
) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.simplify(...).

polars_st.minimum_rotated_rectangle #

minimum_rotated_rectangle(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.minimum_rotated_rectangle().

polars_st.interpolate #

interpolate(
    *columns: str, distance: IntoDecimalExpr, normalized: bool = False
) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.interpolate().

polars_st.line_merge #

line_merge(*columns: str, directed: bool = False) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.line_merge().

polars_st.total_bounds #

total_bounds(*columns: str) -> Expr

This function is syntactic sugar for st.geom(columns).st.total_bounds().

polars_st.multipoint #

multipoint(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.multipoint().

polars_st.multilinestring #

multilinestring(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.multilinestring().

polars_st.multipolygon #

multipolygon(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.multipolygon().

polars_st.geometrycollection #

geometrycollection(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.geometrycollection().

polars_st.collect #

collect(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.geometrycollection().

polars_st.union_all #

union_all(*columns: str, grid_size: float | None = None) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.union_all(...).

polars_st.coverage_union_all #

coverage_union_all(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.coverage_union_all().

polars_st.intersection_all #

intersection_all(*columns: str, grid_size: float | None = None) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.intersection_all().

polars_st.difference_all #

difference_all(*columns: str, grid_size: float | None = None) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.difference_all(...).

polars_st.symmetric_difference_all #

symmetric_difference_all(
    *columns: str, grid_size: float | None = None
) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.symmetric_difference_all(...).

polars_st.polygonize #

polygonize(*columns: str) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.polygonize().

polars_st.voronoi_polygons #

voronoi_polygons(
    *columns: str,
    tolerance: float = 0.0,
    extend_to: bytes | None = None,
    only_edges: bool = False
) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.voronoi_polygons(...).

polars_st.delaunay_triangles #

delaunay_triangles(
    *columns: str, tolerance: float = 0.0, only_edges: bool = False
) -> GeoExpr

This function is syntactic sugar for st.geom(columns).st.delaunay_triangles(...).