Function polars_gdal::df_from_layer

source ·
pub fn df_from_layer<'l>(
    layer: &mut Layer<'l>,
    params: Option<ReadParams<'_>>
) -> Result<DataFrame, Error>
Expand description

Given a GDAL layer, create a dataframe.

This can be used to manually open a GDAL Dataset, and then create a dataframe from a specific layer. This is most useful when you want to preprocess the Dataset in some way before creating a dataframe, for example by applying a SQL filter or a spatial filter.

Example

use polars_gdal::{df_from_layer, gdal};
use gdal::vector::sql;

let dataset = gdal::Dataset::open("my_shapefile.shp")?;
let query = "SELECT kind, is_bridge, highway FROM my_shapefile WHERE highway = 'pedestrian'";
let mut result_set = dataset.execute_sql(query, None, sql::Dialect::DEFAULT).unwrap().unwrap();

let df = df_from_layer(result_set.deref_mut(), None).unwrap();
println!("{}", df);