S2PMHeader

Struct S2PMHeader 

Source
pub struct S2PMHeader {
Show 46 fields pub is_s2: bool, pub version: u8, pub root_directory_offset: u64, pub root_directory_length: u64, pub metadata_offset: u64, pub metadata_length: u64, pub leaf_directory_offset: u64, pub leaf_directory_length: u64, pub data_offset: u64, pub data_length: u64, pub n_addressed_tiles: u64, pub n_tile_entries: u64, pub n_tile_contents: u64, pub clustered: bool, pub internal_compression: CompressionFormat, pub tile_compression: CompressionFormat, pub tile_type: PMTileType, pub min_zoom: u8, pub max_zoom: u8, pub min_longitude: f32, pub min_latitude: f32, pub max_longitude: f32, pub max_latitude: f32, pub center_zoom: u8, pub center_longitude: f32, pub center_latitude: f32, pub root_directory_offset1: u64, pub root_directory_length1: u64, pub root_directory_offset2: u64, pub root_directory_length2: u64, pub root_directory_offset3: u64, pub root_directory_length3: u64, pub root_directory_offset4: u64, pub root_directory_length4: u64, pub root_directory_offset5: u64, pub root_directory_length5: u64, pub leaf_directory_offset1: u64, pub leaf_directory_length1: u64, pub leaf_directory_offset2: u64, pub leaf_directory_length2: u64, pub leaf_directory_offset3: u64, pub leaf_directory_length3: u64, pub leaf_directory_offset4: u64, pub leaf_directory_length4: u64, pub leaf_directory_offset5: u64, pub leaf_directory_length5: u64,
}
Expand description

S2PMTiles v3 header storing basic archive-level information.

Fields§

§is_s2: bool

True if this is an S2PMTiles v1, otherwise PMTiles v3

§version: u8

versioning used for the s2-pmtiles spec

§root_directory_offset: u64

the offset in the archive of the root directory for Face 0

§root_directory_length: u64

the length of the root directory for Face 0

§metadata_offset: u64

the offset in the archive of the JSON metadata

§metadata_length: u64

the length of the JSON metadata

§leaf_directory_offset: u64

the offset in the archive of the leaf directory for Face 0

§leaf_directory_length: u64

the length of the leaf directory

§data_offset: u64

the offset in the archive of the tile data

§data_length: u64

the length of the tile data

§n_addressed_tiles: u64

number of tiles addressed

§n_tile_entries: u64

number of tile entries

§n_tile_contents: u64

number of tile contents

§clustered: bool

if the archive is clustered or not

§internal_compression: CompressionFormat

if the archive is compressed or not NOTE: deprecated and only Compression::None is supported

§tile_compression: CompressionFormat

what kind of compression is used for the tile data

§tile_type: PMTileType

what kind of compression is used for the metadata

§min_zoom: u8

the min zoom level

§max_zoom: u8

the max zoom level

§min_longitude: f32

the min longitude

§min_latitude: f32

the min latitude

§max_longitude: f32

the max longitude

§max_latitude: f32

the max latitude

§center_zoom: u8

the center zoom level

§center_longitude: f32

the center longitude

§center_latitude: f32

the center latitude

§root_directory_offset1: u64

the offset in the archive of the root directory for Face 1

§root_directory_length1: u64

the length of the root directory for Face 1

§root_directory_offset2: u64

the offset in the archive of the root directory for Face 2

§root_directory_length2: u64

the length of the root directory for Face 2

§root_directory_offset3: u64

the offset in the archive of the root directory for Face 3

§root_directory_length3: u64

the length of the root directory for Face 3

§root_directory_offset4: u64

the offset in the archive of the root directory for Face 4

§root_directory_length4: u64

the length of the root directory for Face 4

§root_directory_offset5: u64

the offset in the archive of the root directory for Face 5

§root_directory_length5: u64

the length of the root directory for Face 5

§leaf_directory_offset1: u64

the offset in the archive of the leaf directory for Face 1

§leaf_directory_length1: u64

the length of the leaf directory for Face 1

§leaf_directory_offset2: u64

the offset in the archive of the leaf directory for Face 2

§leaf_directory_length2: u64

the length of the leaf directory for Face 2

§leaf_directory_offset3: u64

the offset in the archive of the leaf directory for Face 3

§leaf_directory_length3: u64

the length of the leaf directory for Face 3

§leaf_directory_offset4: u64

the offset in the archive of the leaf directory for Face 4

§leaf_directory_length4: u64

the length of the leaf directory for Face 4

§leaf_directory_offset5: u64

the offset in the archive of the leaf directory for Face 5

§leaf_directory_length5: u64

the length of the leaf directory for Face 5

Implementations§

Source§

impl S2PMHeader

Source

pub fn from_bytes(buffer: &mut Buffer) -> Self

Convert a buffer into a S2Header

Source

pub fn to_bytes(&self) -> Buffer

Convert a S2Header into a buffer

Source

pub fn get_root_offset(&self, face: Face) -> u64

Get the root directory offset for a given face

Source

pub fn get_root_length(&self, face: Face) -> u64

Get the root directory length for a given face

Trait Implementations§

Source§

impl Clone for S2PMHeader

Source§

fn clone(&self) -> S2PMHeader

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for S2PMHeader

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for S2PMHeader

Source§

fn default() -> S2PMHeader

Returns the “default value” for a type. Read more
Source§

impl PartialEq for S2PMHeader

Source§

fn eq(&self, other: &S2PMHeader) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for S2PMHeader

Source§

impl StructuralPartialEq for S2PMHeader

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V