4 releases
new 0.1.5 | Oct 22, 2024 |
---|---|
0.1.4 | Oct 12, 2024 |
0.1.3 | Oct 12, 2024 |
0.1.2 | Oct 8, 2024 |
#389 in Database interfaces
654 downloads per month
3MB
294 lines
DuckDB Rust lib for writing geospatial data to Postgis
Current v0.1.5 release notes
This Rust library does the following things:
- Reads in a path for a geospatial data file (Geopackage, Shapefile, etc)
- Reads in a table name for the PostGIS database
- Loads this file into DuckDB
- Determines the schema and current CRS of the data - returns both
- Performs CRS transformation on the data if required - ensuring the CRS is ESPG:4326
- Loads the data into a PostGIS table with a correctly defined geometry column
Improvements for release 0.1.6:
- Handle raster data file formats
- Discard rows where there may be errors in the geometry column / ensure the programme doesn't crash when a geometry error is encountered - skip over it and log it instead
Example usage
mod duckdb_load;
use duckdb_load::launch_process_file;
fn main() -> Result<(), Box<dyn std::error::Error>> {
launch_process_file(
"test_files/hotosm_twn_populated_places_points_geojson.geojson",
"test-table",
"postgresql://admin:password@localhost:5432/gridwalk",
"test-schema",
)?;
Ok(())
}
Dependencies
~23–31MB
~369K SLoC