[−][src]Crate postgis
An extension to rust-postgres, adds support for PostGIS.
- PostGIS type helper
- GCJ02 support (used offically in Mainland China)
- Tiny WKB (TWKB) support
use postgres::{Connection, TlsMode}; use postgis::ewkb; use postgis::LineString; fn main() { // conn .... for row in &conn.query("SELECT * FROM busline", &[]).unwrap() { let route: ewkb::LineString = row.get("route"); let last_stop = route.points().last().unwrap(); let _ = conn.execute("INSERT INTO stops (stop) VALUES ($1)", &[&last_stop]); } }
Handling NULL values:
let route = row.get_opt::<_, Option<ewkb::LineString>>("route"); match route.unwrap() { Ok(Some(geom)) => { println!("{:?}", geom) } Ok(None) => { /* Handle NULL value */ } Err(err) => { println!("Error: {}", err) } }
Modules
error | |
ewkb | Read and write geometries in OGC WKB format. |
mars | Conversion between GCJ-02 and WGS-84 coordinates. |
twkb | Read geometries in Tiny WKB format. |
Traits
LineString | |
MultiLineString | |
MultiPoint | |
MultiPolygon | |
Point | |
Polygon |