From c78d42cc7971fd6f05df04cd210c15899c90e989 Mon Sep 17 00:00:00 2001 From: Thomas ten Cate Date: Fri, 18 Feb 2022 12:21:45 +0100 Subject: [PATCH] Add gdal::vector::field_type_to_name --- CHANGES.md | 3 ++- src/vector/feature.rs | 12 ++++++++++++ src/vector/mod.rs | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e3f6851d1..de08e2b23 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,9 +7,10 @@ - -- Add `gdal::vector::geometry_type_to_name` +- Add `gdal::vector::geometry_type_to_name` and `gdal::vector::field_type_to_name` - + - - **Breaking**: Add `gdal::vector::OwnedLayer`, `gdal::vector::LayerAccess` and `gdal::vector::layer::OwnedFeatureIterator`. This requires importing `gdal::vector::LayerAccess` for using most vector layer methods. diff --git a/src/vector/feature.rs b/src/vector/feature.rs index c3b2560dc..9eb7aeea4 100644 --- a/src/vector/feature.rs +++ b/src/vector/feature.rs @@ -772,3 +772,15 @@ impl FieldValue { } } } + +pub fn field_type_to_name(ty: OGRFieldType::Type) -> String { + let rv = unsafe { gdal_sys::OGR_GetFieldTypeName(ty) }; + _string(rv) +} + +#[test] +pub fn test_field_type_to_name() { + assert_eq!(field_type_to_name(OGRFieldType::OFTReal), "Real"); + // We don't care what it returns when passed an invalid value, just that it doesn't crash. + field_type_to_name(4372521); +} diff --git a/src/vector/mod.rs b/src/vector/mod.rs index 6e27fdd70..c6d3a04d4 100644 --- a/src/vector/mod.rs +++ b/src/vector/mod.rs @@ -26,7 +26,7 @@ mod ops; pub mod sql; pub use defn::{Defn, Field, FieldIterator}; -pub use feature::{Feature, FieldValue, FieldValueIterator}; +pub use feature::{field_type_to_name, Feature, FieldValue, FieldValueIterator}; pub use gdal_sys::{OGRFieldType, OGRwkbGeometryType}; pub use geometry::{geometry_type_to_name, Geometry}; pub use layer::{