module S2Cells
Overview
helper functions
Defined in:
s2_cells.cr:4s2_cells.cr:55
s2_cells/interval.cr
s2_cells/metric.cr
Constant Summary
-
AVG_ANGLE_SPAN =
LengthMetric.new(Math::PI / 2)
-
AVG_AREA =
AreaMetric.new((4 * Math::PI) / 6.0)
-
AVG_DIAG =
LengthMetric.new(2.060422738998471683)
-
AVG_EDGE =
LengthMetric.new(1.459213746386106062)
-
AVG_WIDTH =
LengthMetric.new(1.434523672886099389)
-
FACE_CELLS =
{Cell.from_face_pos_level(0, 0_u64, 0), Cell.from_face_pos_level(1, 0_u64, 0), Cell.from_face_pos_level(2, 0_u64, 0), Cell.from_face_pos_level(3, 0_u64, 0), Cell.from_face_pos_level(4, 0_u64, 0), Cell.from_face_pos_level(5, 0_u64, 0)}
-
INVERT_MASK =
2
-
LINEAR_PROJECTION =
0
-
LOOKUP_BITS =
4_u64
-
LOOKUP_IJ =
Array.new((1_u64 << ((2 * LOOKUP_BITS) + 2)), 0_u64)
-
LOOKUP_POS =
Array.new((1_u64 << ((2 * LOOKUP_BITS) + 2)), 0_u64)
-
MAX_ANGLE_SPAN =
LengthMetric.new(1.704897179199218452)
-
MAX_AREA =
AreaMetric.new(2.635799256963161491)
-
MAX_DIAG =
LengthMetric.new(2.438654594434021032)
-
MAX_EDGE =
LengthMetric.new(MAX_ANGLE_SPAN.deriv)
-
MAX_WIDTH =
LengthMetric.new(MAX_ANGLE_SPAN.deriv)
-
MIN_ANGLE_SPAN =
LengthMetric.new(4.0 / 3.0)
-
MIN_AREA =
AreaMetric.new((8 * (Math.sqrt(2.0))) / 9.0)
-
MIN_DIAG =
LengthMetric.new((8 * (Math.sqrt(2.0))) / 9.0)
-
MIN_EDGE =
LengthMetric.new((2 * (Math.sqrt(2.0))) / 3.0)
-
MIN_WIDTH =
LengthMetric.new((2 * (Math.sqrt(2.0))) / 3.0)
-
POS_TO_IJ =
{ {0_u64, 1_u64, 3_u64, 2_u64}, {0_u64, 2_u64, 3_u64, 1_u64}, {3_u64, 2_u64, 0_u64, 1_u64}, {3_u64, 1_u64, 0_u64, 2_u64} }
-
POS_TO_ORIENTATION =
{SWAP_MASK, 0, 0, INVERT_MASK | SWAP_MASK}
-
QUADRATIC_PROJECTION =
2
-
SWAP_MASK =
1
-
TAN_PROJECTION =
1
Class Method Summary
- .at(lat : Float64, lng : Float64) : CellId
- .at(point : LatLng) : CellId
- .face_uv_to_xyz(face : Int32, u : Float64, v : Float64)
- .face_xyz_to_uv(face : Int32, p : Point)
- .in(p1 : LatLng, p2 : LatLng) : Array(CellId)
- .is_unit_length(p : Point) : Bool
- .valid_face_xyz_to_uv(face : Int32, p : Point)
- .xyz_to_face_uv(p : Point) : Tuple(Int32, Float64, Float64)