Crate s2_tilejson

Crate s2_tilejson 

Source
Expand description

§S2 Tile JSON 🌎 🗺️

                      .d8888. .d888b.                        
                      88'  YP VP  `8D                        
                      `8bo.      odD'                        
                        `Y8b.  .88'                          
                      db   8D j88.                           
                      `8888Y' 888888D                        
                                                              
                                                              
             d888888b d888888b db      d88888b               
             `~~88~~'   `88'   88      88'                   
                88       88    88      88ooooo               
                88       88    88      88~~~~~               
                88      .88.   88booo. 88.                   
                YP    Y888888P Y88888P Y88888P               
                                                              
                                                              
                d88b .d8888.  .d88b.  d8b   db               
                `8P' 88'  YP .8P  Y8. 888o  88               
                 88  `8bo.   88    88 88V8o 88               
                 88    `Y8b. 88    88 88 V8o88               
             db. 88  db   8D `8b  d8' 88  V888               
             Y8888P  `8888Y'  `Y88P'  VP   V8P                                                                                                                               

§Install

cargo add s2-tilejson

§About

TileJSON is a backwards-compatible open standard for representing map tile metadata.

This specification attempts to create a standard for representing metadata about multiple types of web-based map layers, to aid clients in configuration and browsing.

§Usage

The Documentation is very thorough in this library. Therefore the best thing to do is follow the links provided as needed.

§Tools

§Top Level Types

§Sub Types

  • crate::LonLatBounds: Use bounds as floating point numbers for longitude and latitude
  • crate::TileBounds: Use bounds as u64 for the tile index range
  • crate::DrawType: Description of what kind of data is in the tile
  • crate::LayerMetaData: Each layer has metadata associated with it. Defined as blueprints pre-construction of vector data.
  • crate::TileStatsMetadata: Tilestats is simply a tracker to see where most of the tiles live
  • crate::Attributions: Attribution data is stored in an object. The key is the name of the attribution, and the value is the link
  • crate::FaceBounds: Track the S2 tile bounds of each face and zoom
  • crate::WMBounds: Track the WM tile bounds of each zoom [zoom: number]: BBox
  • crate::SourceType: Check the source type of the layer
  • crate::Encoding: Store the encoding of the data
  • crate::VectorLayer: Old spec tracks basic vector data
  • crate::Scheme: Default S2 tile scheme is fzxy Default Web Mercator tile scheme is xyz Adding a t prefix to the scheme will change the request to be time sensitive TMS is an oudated version that is not supported by s2maps-gpu
  • crate::Center: Store where the center of the data lives

Modules§

geometry
All geometry types and structs
impls
All json, value, shape impl
map
BTreeMap wrapper
shape
All shape types and structs
value
All values types and structs

Structs§

BBox
Bounding Box
BBox3D
3D Bounding Box
BaseGeometry
BaseGeometry is the a generic geometry type
Center
Store where the center of the data lives
FaceBounds
Track the S2 tile bounds of each face and zoom
Feature
Component to build an WG Feature
FeatureCollection
WG FeatureCollection
LayerMetaData
Each layer has metadata associated with it. Defined as blueprints pre-construction of vector data.
Map
A BTreeMap wrapper
MapboxTileJSONMetadata
TileJSON V3.0.0
Metadata
S2 TileJSON V1.0.0
MetadataBuilder
Metadata Builder
Point
Definition of a Point. May represent WebMercator Lon-Lat or S2Geometry S-T
Point3D
Definition of a 3D Point. May represent WebMercator Lon-Lat or S2Geometry S-T with a z-value
PointOrPoint3D
Define a Point or Point3D
S2FeatureCollection
S2 FeatureCollection
STPoint
A Point in S2 Space with a Face
TileStatsMetadata
Tilestats is simply a tracker to see where most of the tiles live
VectorBaseGeometry
BaseGeometry is the a generic geometry type
VectorFeature
Component to build an WG or S2 Vector Feature
VectorLayer
Old spec tracks basic vector data
VectorPoint
Vector Points

Enums§

Axis
The axis to apply an operation to
BBOX
BBox or BBox3D
DrawType
1: points, 2: lines, 3: polys, 4: points3D, 5: lines3D, 6: polys3D
Encoding
Store the encoding of the data
Face
Cube-face on the S2 sphere
FeatureCollectionType
FeatureCollection type string
FeatureCollections
Either an S2 or WG FeatureCollection
FeatureType
Feature type string
Features
Either an S2, Vector WG or WG Feature
Geometry
All possible geometry shapes
GeometryType
Enum to represent specific geometry types as strings
JSONCollection
All major GeoJSON and S2JSON types
JSONValue
All possible JSON shapes
MValues
All possible M-Value shapes
PrimitiveShape
Primitive types that can be found in a shape
PrimitiveShapeType
Arrays may contain either a primitive or an object whose values are primitives
PrimitiveValue
Primitive types supported by Properties
Projection
All projections that can be used
S2FeatureCollectionType
FeatureCollection type string
Scheme
Default S2 tile scheme is fzxy Default Web Mercator tile scheme is xyz Adding a t prefix to the scheme will change the request to be time sensitive TMS is an oudated version that is not supported by s2maps-gpu
ShapeType
Shape types that can be found in a shapes object. Either a primitive, an array containing any type, or a nested shape. If the type is an array, all elements must be the same type
SourceType
Check the source type of the layer
UnknownMetadata
If we don’t know which spec we are reading, we can treat the input as either
ValuePrimitiveType
Arrays may contain either a primitive or an object whose values are primitives
ValueType
Supports primitive types string, number, boolean, null May be an array of those primitive types, or an object whose values are only primitives Object keys are always strings, values can be any basic type, an array, or a nested object. Array values must all be the same type.
VectorFeatureType
Feature type string
VectorGeometry
Vector Geometry
VectorGeometryType
Enum to represent specific vector geometry types as strings
VectorOffsets
All possible geometry offsets

Traits§

Bounded
Trait for types that have a min and max value. Used by BBox and BBox3D
FullXY
Composite Trait for XY use cases
FullXYM
Composite Trait for XYM use cases
FullXYZ
Composite Trait for XYZ use cases
FullXYZM
Composite Trait for XYZM use cases
GetM
Trait to extract the m value
GetXY
Trait to extract the x and y values
GetXYM
Composite Trait: XY + M
GetXYZ
Composite Trait: XY + Z
GetXYZM
Composite Trait: XY + Z + M
GetZ
Trait to extract the z value
Interpolate
Easy access to interpolation tooling for All S2JSON Core Types
JSONPropertiesCompatible
Ensure M implements MValueCompatible
MValueCompatible
Ensure M implements MValueCompatible
NewXY
Trait to create a new XY
NewXYM
Trait to create a new XY
NewXYZ
Trait to create a new XYZ
NewXYZM
Trait to create a new XYZM
SetM
Trait to set the m value
SetXY
Trait to set the x and y values
SetXYM
Composite Trait: XY + M
SetXYZ
Composite Trait: XY + Z
SetXYZM
Composite Trait: XY + Z + M
SetZ
Trait to set the z value

Type Aliases§

Attributions
Attribution data is stored in an object. The key is the name of the attribution, and the value is the link
JSONProperties
Shape of an un-restricted features properties object
LayersMetaData
Each layer has metadata associated with it. Defined as blueprints pre-construction of vector data.
LineString
Definition of a LineString
LineString3D
Definition of a 3D LineString
LineString3DGeometry
LineString3DGeometry is a 3D line
LineStringGeometry
LineStringGeometry is a line
LineStringMValues
LineString Properties Shape
LonLatBounds
Use bounds as floating point numbers for longitude and latitude
MValue
Shape of a feature’s M-Values object
MapboxProperties
Shape of the restricted Mapbox properties object
MultiLineString
Definition of a MultiLineString
MultiLineString3D
Definition of a 3D MultiLineString
MultiLineString3DGeometry
MultiLineString3DGeometry contains multiple 3D lines
MultiLineStringGeometry
MultiLineStringGeometry contains multiple lines
MultiLineStringMValues
MultiLineString MValues Shape
MultiPoint
Definition of a MultiPoint
MultiPoint3D
Definition of a 3D MultiPoint
MultiPoint3DGeometry
MultiPoint3DGeometry contains multiple 3D points
MultiPointGeometry
MultiPointGeometry contains multiple points
MultiPolygon
Definition of a MultiPolygon
MultiPolygon3D
Definition of a 3D MultiPolygon
MultiPolygon3DGeometry
MultiPolygon3DGeometry is a 3D polygon with multiple polygons with their own potential holes
MultiPolygonGeometry
MultiPolygonGeometry is a polygon with multiple polygons with their own potential holes
MultiPolygonMValues
MultiPolygon MValues Shape
Point3DGeometry
Point3DGeometry is a 3D point
PointGeometry
PointGeometry is a point
Polygon
Definition of a Polygon
Polygon3D
Definition of a 3D Polygon
Polygon3DGeometry
Polygon3DGeometry is a 3D polygon with potential holes
PolygonGeometry
PolygonGeometry is a polygon with potential holes
PolygonMValues
Polygon MValues Shape
Properties
Shape of a features properties object
Shape
The Shape Object
ShapePrimitive
The Primitive Shape Object
TileBounds
Use bounds as u64 for the tile index range
Value
Shape design
ValuePrimitive
Shape of a ValuePrimitiveType Nested object
VectorLineOffset
An offset defines how far the starting line is from the original starting point pre-slice
VectorLineString
Definition of a Vector LineString
VectorLineStringGeometry
LineStringGeometry is a line
VectorMultiLineOffset
A collection of offsets
VectorMultiLineString
Definition of a Vector MultiLineString
VectorMultiLineStringGeometry
MultiLineStringGeometry contains multiple lines
VectorMultiPoint
Definition of a Vector MultiPoint
VectorMultiPointGeometry
MultiPointGeometry contains multiple points
VectorMultiPolygon
Definition of a Vector MultiPolygon
VectorMultiPolygonGeometry
MultiPolygonGeometry is a polygon with multiple polygons with their own potential holes
VectorMultiPolygonOffset
A collection of collections of offsets
VectorPointGeometry
PointGeometry is a point
VectorPolygon
Definition of a Vector Polygon
VectorPolygonGeometry
PolygonGeometry is a polygon with potential holes
VectorPolygonOffset
A collection of offsets
WMBounds
Track the WM tile bounds of each zoom [zoom: number]: BBox

Derive Macros§

JSONProperties
Derives the JSONProperties trait for a struct to convert it to a JSONProperties.
MValue
Derives the MValue trait for a struct to convert it to a MValue.
MValueCompatible
Derives the MValueCompatible trait for a struct to convert it to a MValue.
Properties
Derives the Properties trait for a struct to convert it to a Properties.
ValuePrimitive
Derives the ValuePrimitive trait for a struct to convert it to a ValuePrimitive.