[package]
edition = "2024"
rust-version = "1.90"
name = "terrio"
version = "0.5.0"
authors = ["Qiusheng Wu <giswqs@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure-Rust geospatial raster, vector and point cloud data I/O: read, write, convert and reproject GIS formats without C dependencies"
homepage = "https://github.com/opengeos/terrio"
documentation = "https://docs.rs/terrio"
readme = "README.md"
keywords = [
"gis",
"geospatial",
"raster",
"vector",
"point-cloud",
]
categories = [
"science::geo",
"parser-implementations",
"encoding",
]
license = "MIT"
repository = "https://github.com/opengeos/terrio"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
avif = [
"tiles",
"dep:rusty_av1d",
]
default = [
"geotiff",
"parquet",
"remote",
"avif",
"netcdf-hdf5",
"osm",
"lzma",
"flatgeobuf",
"jp2",
"lerc",
"pointcloud",
"tiles",
"zarr",
"sqlite",
"grib",
]
flatgeobuf = [
"dep:flatgeobuf",
"dep:flatbuffers",
]
gdal = [
"dep:gdal",
"dep:gdal-sys",
]
geotiff = []
grib = [
"dep:gribberish",
"dep:bitvec",
]
jp2 = ["dep:openjp2"]
lerc = [
"dep:lerc-reader",
"dep:lerc-core",
"dep:lerc-writer",
]
lzma = ["dep:lzma-rust2"]
netcdf-hdf5 = [
"dep:netcdf-reader",
"dep:hdf5-reader",
]
osm = [
"dep:osmpbfreader",
"wbvector/osmpbf",
]
parquet = [
"dep:parquet",
"dep:arrow-array",
"dep:arrow-schema",
"dep:arrow-ipc",
"dep:arrow-buffer",
"dep:bytes",
"wbvector/geoparquet",
]
pointcloud = [
"dep:laz",
"dep:e57",
"dep:delaunator",
]
remote = [
"dep:ureq",
"dep:hmac",
"dep:sha2",
]
sqlite = []
tiles = ["sqlite"]
zarr = ["dep:lz4_flex"]
[lib]
name = "terrio"
path = "src/lib.rs"
[[test]]
name = "crs_chains"
path = "tests/crs_chains.rs"
[[test]]
name = "crs_grids"
path = "tests/crs_grids.rs"
[[test]]
name = "crs_grids_remote"
path = "tests/crs_grids_remote.rs"
[[test]]
name = "crs_point_motion"
path = "tests/crs_point_motion.rs"
[[test]]
name = "crs_vertical"
path = "tests/crs_vertical.rs"
[[test]]
name = "dem_calc_real_data"
path = "tests/dem_calc_real_data.rs"
[[test]]
name = "ellipsoidal_projections"
path = "tests/ellipsoidal_projections.rs"
[[test]]
name = "epsg_accuracy"
path = "tests/epsg_accuracy.rs"
[[test]]
name = "epsg_accuracy_grids"
path = "tests/epsg_accuracy_grids.rs"
[[test]]
name = "esri"
path = "tests/esri.rs"
[[test]]
name = "gdal_backend"
path = "tests/gdal_backend.rs"
[[test]]
name = "geopackage"
path = "tests/geopackage.rs"
[[test]]
name = "georeferencing"
path = "tests/georeferencing.rs"
[[test]]
name = "geostationary"
path = "tests/geostationary.rs"
[[test]]
name = "grib"
path = "tests/grib.rs"
[[test]]
name = "hdf5_compound"
path = "tests/hdf5_compound.rs"
[[test]]
name = "hdf_products"
path = "tests/hdf_products.rs"
[[test]]
name = "lazy_reads"
path = "tests/lazy_reads.rs"
[[test]]
name = "ops_real_data"
path = "tests/ops_real_data.rs"
[[test]]
name = "pointcloud"
path = "tests/pointcloud.rs"
[[test]]
name = "pointcloud_features"
path = "tests/pointcloud_features.rs"
[[test]]
name = "pointcloud_more"
path = "tests/pointcloud_more.rs"
[[test]]
name = "pointcloud_write_filters"
path = "tests/pointcloud_write_filters.rs"
[[test]]
name = "processing"
path = "tests/processing.rs"
[[test]]
name = "proj_string_wkt"
path = "tests/proj_string_wkt.rs"
[[test]]
name = "proj_strings"
path = "tests/proj_strings.rs"
[[test]]
name = "raster_analysis"
path = "tests/raster_analysis.rs"
[[test]]
name = "real_data"
path = "tests/real_data.rs"
[[test]]
name = "remote_zarr"
path = "tests/remote_zarr.rs"
[[test]]
name = "rgb_extra_samples"
path = "tests/rgb_extra_samples.rs"
[[test]]
name = "rotated_pole"
path = "tests/rotated_pole.rs"
[[test]]
name = "sparse_reads"
path = "tests/sparse_reads.rs"
[[test]]
name = "stac_geozarr"
path = "tests/stac_geozarr.rs"
[[test]]
name = "stacta"
path = "tests/stacta.rs"
[[test]]
name = "stacta_missing"
path = "tests/stacta_missing.rs"
[[test]]
name = "tiles"
path = "tests/tiles.rs"
[[test]]
name = "topology"
path = "tests/topology.rs"
[[test]]
name = "user_crs"
path = "tests/user_crs.rs"
[[test]]
name = "vector_ops"
path = "tests/vector_ops.rs"
[[test]]
name = "wkt2"
path = "tests/wkt2.rs"
[[test]]
name = "world_projections"
path = "tests/world_projections.rs"
[dependencies.arrow-array]
version = "58"
optional = true
[dependencies.arrow-buffer]
version = "58"
optional = true
[dependencies.arrow-ipc]
version = "58"
optional = true
default-features = false
[dependencies.arrow-schema]
version = "58"
optional = true
[dependencies.bitvec]
version = "1"
optional = true
[dependencies.bytes]
version = "1"
optional = true
[dependencies.delaunator]
version = "1"
optional = true
[dependencies.e57]
version = "0.11"
optional = true
[dependencies.flatbuffers]
version = "=24.12.23"
optional = true
[dependencies.flate2]
version = "1"
[dependencies.flatgeobuf]
version = "6"
optional = true
default-features = false
[dependencies.gdal]
version = "0.19"
optional = true
[dependencies.gdal-sys]
version = "0.12"
optional = true
[dependencies.geo]
version = "0.33.1"
features = ["spade"]
default-features = false
[dependencies.geographiclib-rs]
version = "0.2.7"
default-features = false
[dependencies.gribberish]
version = "1.9"
optional = true
default-features = false
[dependencies.half]
version = "2"
[dependencies.hdf5-reader]
version = "0.9"
optional = true
default-features = false
[dependencies.image-webp]
version = "0.2"
[dependencies.jpeg-decoder]
version = "0.3"
features = ["platform_independent"]
default-features = false
[dependencies.jpeg-encoder]
version = "0.7"
[dependencies.jxl-oxide]
version = "0.12"
default-features = false
[dependencies.laz]
version = "0.13"
optional = true
[dependencies.lerc-core]
version = "0.5"
optional = true
[dependencies.lerc-reader]
version = "0.5"
optional = true
default-features = false
[dependencies.lerc-writer]
version = "0.5"
optional = true
[dependencies.lz4_flex]
version = "0.14"
features = [
"alloc",
"safe-decode",
"checked-decode",
]
optional = true
default-features = false
[dependencies.lzma-rust2]
version = "0.22"
features = [
"std",
"xz",
]
optional = true
default-features = false
[dependencies.netcdf-reader]
version = "0.9"
features = ["netcdf4"]
optional = true
default-features = false
[dependencies.openjp2]
version = "0.6"
features = ["std"]
optional = true
default-features = false
[dependencies.osmpbfreader]
version = "0.19"
optional = true
[dependencies.parquet]
version = "58"
features = [
"arrow",
"snap",
]
optional = true
default-features = false
[dependencies.png]
version = "0.18"
[dependencies.quick-xml]
version = "0.42"
[dependencies.rayon]
version = "1.10"
[dependencies.rstar]
version = "0.12.2"
[dependencies.rusty_av1d]
version = "1.2"
features = ["bitdepth_8"]
optional = true
default-features = false
[dependencies.ruzstd]
version = "0.9"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
features = [
"preserve_order",
"float_roundtrip",
"raw_value",
]
[dependencies.thiserror]
version = "2"
[dependencies.tiff]
version = "0.11"
features = ["webp"]
[dependencies.wbprojection]
version = "0.3.3"
[dependencies.wbraster]
version = "0.2.1"
[dependencies.wbvector]
version = "0.1.6"
features = ["kmz"]
[dependencies.weezl]
version = "0.2"
[dependencies.zip]
version = "9"
features = ["deflate"]
default-features = false
[dependencies.zune-core]
version = "0.5"
[dependencies.zune-jpegxl]
version = "0.5"
features = ["std"]
default-features = false
[dev-dependencies.tempfile]
version = "3"
[target.'cfg(not(target_family = "wasm"))'.dependencies.hmac]
version = "0.13"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.memmap2]
version = "0.9"
[target.'cfg(not(target_family = "wasm"))'.dependencies.sha2]
version = "0.11"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.tempfile]
version = "3"
[target.'cfg(not(target_family = "wasm"))'.dependencies.tiff]
version = "0.11"
features = [
"webp",
"zstd",
]
[target.'cfg(not(target_family = "wasm"))'.dependencies.ureq]
version = "3"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.zstd]
version = "0.14"
[target."cfg(unix)".dependencies.libc]
version = "0.2"