Expand description

Geopackage geometry type encoding/decoding.

All geometry types implementing GeozeroGeometry can be encoded as Geopackage WKB geometry using wkb::Encode.

Geometry types implementing FromWkb can be decoded from Geopackage geometries using wkb::Decode.

Usage example

Select geo-types geometries from a Geopackage:

use geozero::{wkb, ToWkt};
use sqlx::sqlite::SqlitePoolOptions;

let pool = SqlitePoolOptions::new()
    .max_connections(5)
    .connect("sqlite://points.gpkg")
    .await?;

let row: (wkb::Decode<geo_types::Geometry<f64>>,) = sqlx::query_as("SELECT geom FROM pt2d")
    .fetch_one(&pool)
    .await?;
if let Some(geom) = row.0.geometry {
    println!("{}", geom.to_wkt().unwrap());
}

Macros

impl sqlx::decode::Decode for geometry type implementing FromWkb

impl sqlx::decode::Decode for geometry type implementing GeozeroGeometry

impl sqlx::Type for geometry type