pub fn write_fgb_file(filename: String, linestrings: &Vec>) -> Result<()> { let mut fgb = FgbWriter::create( "countries", GeometryType::LineString, Some(4326), |header| { header.description = Some(FgbWriter::create_string("Country polygons")); }, )?; fgb.add_column("fid", ColumnType::ULong, |col| { col.nullable = false; }); fgb.add_column("name", ColumnType::String, |_| {}); // let geom: geo_types::Geometry = geo::Point::new(10.0, 20.0).into(); for ls in linestrings.iter() { let geom: geo_types::Geometry = ls.to_owned().into(); fgb.add_feature_geom(geom, |feat| { feat.property(0, "fid", &ColumnValue::Long(43)).unwrap(); feat.property(1, "name", &ColumnValue::String("South Africa")) .unwrap(); }) .ok(); } let mut file = BufWriter::new(std::fs::File::create(filename)?); fgb.write(&mut file)?; Ok(()) }