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 (Geometry) that can be read or written as WKB

WKBReadExt

Extension trait for Read

WKBWriteExt

Extension trait for Write

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.