#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Point {
#[prost(float, tag = "1")]
pub lng: f32,
#[prost(float, tag = "2")]
pub lat: f32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Polygon {
#[prost(message, repeated, tag = "1")]
pub points: ::prost::alloc::vec::Vec<Point>,
#[prost(message, repeated, tag = "2")]
pub holes: ::prost::alloc::vec::Vec<Polygon>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Timezone {
#[prost(message, repeated, tag = "1")]
pub polygons: ::prost::alloc::vec::Vec<Polygon>,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Timezones {
#[prost(message, repeated, tag = "1")]
pub timezones: ::prost::alloc::vec::Vec<Timezone>,
#[prost(bool, tag = "2")]
pub reduced: bool,
#[prost(string, tag = "3")]
pub version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompressedPolygon {
#[prost(bytes = "vec", tag = "1")]
pub points: ::prost::alloc::vec::Vec<u8>,
#[prost(message, repeated, tag = "2")]
pub holes: ::prost::alloc::vec::Vec<CompressedPolygon>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompressedTimezone {
#[prost(message, repeated, tag = "1")]
pub data: ::prost::alloc::vec::Vec<CompressedPolygon>,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompressedTimezones {
#[prost(enumeration = "CompressMethod", tag = "1")]
pub method: i32,
#[prost(message, repeated, tag = "2")]
pub timezones: ::prost::alloc::vec::Vec<CompressedTimezone>,
#[prost(string, tag = "3")]
pub version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PreindexTimezone {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub x: i32,
#[prost(int32, tag = "3")]
pub y: i32,
#[prost(int32, tag = "4")]
pub z: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PreindexTimezones {
#[prost(int32, tag = "1")]
pub idx_zoom: i32,
#[prost(int32, tag = "2")]
pub agg_zoom: i32,
#[prost(message, repeated, tag = "3")]
pub keys: ::prost::alloc::vec::Vec<PreindexTimezone>,
#[prost(string, tag = "4")]
pub version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InlinePoints {
#[prost(message, repeated, tag = "1")]
pub points: ::prost::alloc::vec::Vec<Point>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RingSegment {
#[prost(oneof = "ring_segment::Content", tags = "1, 2, 3")]
pub content: ::core::option::Option<ring_segment::Content>,
}
pub mod ring_segment {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Content {
#[prost(message, tag = "1")]
Inline(super::InlinePoints),
#[prost(int32, tag = "2")]
EdgeForward(i32),
#[prost(int32, tag = "3")]
EdgeReversed(i32),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopoPolygon {
#[prost(message, repeated, tag = "1")]
pub exterior: ::prost::alloc::vec::Vec<RingSegment>,
#[prost(message, repeated, tag = "2")]
pub holes: ::prost::alloc::vec::Vec<TopoPolygon>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopoTimezone {
#[prost(message, repeated, tag = "1")]
pub polygons: ::prost::alloc::vec::Vec<TopoPolygon>,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SharedEdge {
#[prost(int32, tag = "1")]
pub id: i32,
#[prost(message, repeated, tag = "2")]
pub points: ::prost::alloc::vec::Vec<Point>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopoTimezones {
#[prost(message, repeated, tag = "1")]
pub shared_edges: ::prost::alloc::vec::Vec<SharedEdge>,
#[prost(message, repeated, tag = "2")]
pub timezones: ::prost::alloc::vec::Vec<TopoTimezone>,
#[prost(string, tag = "3")]
pub version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CompressedSharedEdge {
#[prost(int32, tag = "1")]
pub id: i32,
#[prost(bytes = "vec", tag = "2")]
pub points: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CompressedInlinePoints {
#[prost(bytes = "vec", tag = "1")]
pub points: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CompressedRingSegment {
#[prost(oneof = "compressed_ring_segment::Content", tags = "1, 2, 3")]
pub content: ::core::option::Option<compressed_ring_segment::Content>,
}
pub mod compressed_ring_segment {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Content {
#[prost(message, tag = "1")]
Inline(super::CompressedInlinePoints),
#[prost(int32, tag = "2")]
EdgeForward(i32),
#[prost(int32, tag = "3")]
EdgeReversed(i32),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompressedTopoPolygon {
#[prost(message, repeated, tag = "1")]
pub exterior: ::prost::alloc::vec::Vec<CompressedRingSegment>,
#[prost(message, repeated, tag = "2")]
pub holes: ::prost::alloc::vec::Vec<CompressedTopoPolygon>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompressedTopoTimezone {
#[prost(message, repeated, tag = "1")]
pub polygons: ::prost::alloc::vec::Vec<CompressedTopoPolygon>,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompressedTopoTimezones {
#[prost(enumeration = "CompressMethod", tag = "1")]
pub method: i32,
#[prost(message, repeated, tag = "2")]
pub shared_edges: ::prost::alloc::vec::Vec<CompressedSharedEdge>,
#[prost(message, repeated, tag = "3")]
pub timezones: ::prost::alloc::vec::Vec<CompressedTopoTimezone>,
#[prost(string, tag = "4")]
pub version: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CompressMethod {
Unspecified = 0,
Polyline = 1,
}
impl CompressMethod {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPRESS_METHOD_UNSPECIFIED",
Self::Polyline => "COMPRESS_METHOD_POLYLINE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPRESS_METHOD_UNSPECIFIED" => Some(Self::Unspecified),
"COMPRESS_METHOD_POLYLINE" => Some(Self::Polyline),
_ => None,
}
}
}