Crate wkb[−][src]
This crate provides functions to convert rust-geo
geometry types to and from Well Known
Binary format.
Examples
use geo_types::*; use wkb::*; let p: Geometry<f64> = Geometry::Point(Point::new(2., 4.)); let res = geom_to_wkb(&p).unwrap(); assert_eq!(res, vec![1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 16, 64]);
You can also ‘read’ a Geometry from a std::io::Read
:
use std::io::prelude::*; use std::io::Cursor; use geo_types::*; use wkb::*; let bytes: Vec<u8> = vec![1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 16, 64]; let mut bytes_cursor = Cursor::new(bytes); let p = bytes_cursor.read_wkb().unwrap(); assert_eq!(p, Geometry::Point(Point::new(2., 4.)));
.write_wkb(Geometry<Into<f64>>)
works similar:
let mut bytes: Vec<u8> = vec![]; bytes.write_wkb(&Geometry::Point(Point::new(2_f64, 4.))).unwrap(); assert_eq!(bytes, vec![1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 16, 64]);
Enums
WKBReadError | An error occured when reading |
WKBWriteError | An error occured when writing |
Traits
WKBAbleExt | A thing ( |
WKBReadExt | Extension trait for |
WKBWriteExt | Extension trait for |
Functions
geom_to_wkb | Convert a Geometry into WKB bytes. |
wkb_to_geom | Read a Geometry from a reader. Converts WKB to a Geometry. |
write_geom_to_wkb | Write a geometry to the underlying writer, except for the endianity byte. |