1
- sphgeom: spherical geometry primitives {#mainpage}
1
+ sphgeom: spherical geometry primitives
2
2
======================================
3
3
4
4
Overview
@@ -23,29 +23,25 @@ Python bindings that expose most of the C++ API are also provided via
23
23
Points
24
24
------
25
25
26
- There are 3 different classes for points -
27
- [ LonLat] (\ref lsst::sphgeom::LonLat) for spherical coordinates,
28
- [ Vector3d] (\ref lsst::sphgeom::Vector3d) for Cartesian vectors in ℝ³
29
- (not constrained to lie on the unit sphere), and
30
- [ UnitVector3d] (\ref lsst::sphgeom::UnitVector3d) for vectors in ℝ³ with
31
- unit ℓ² norm.
26
+ There are 3 different classes for points
27
+
28
+ - * LonLat* for spherical coordinates,
29
+ - * Vector3d* for Cartesian vectors in ℝ³ (not constrained to lie on the unit sphere)
30
+ - * UnitVector3d* for vectors in ℝ³ with unit ℓ² norm.
32
31
33
32
Regions
34
33
-------
35
34
36
- Four basic spherical [ Region] (\ref lsst::sphgeom::Region) types are
35
+ Four basic spherical * Region* types are
37
36
provided:
38
37
39
- - [ Box] (\ref lsst::sphgeom::Box), a longitude/latitude angle box
40
- - [ Circle] (\ref lsst::sphgeom::Circle), a small circle defined
41
- by a center and opening angle/chord length
42
- - [ Ellipse] (\ref lsst::sphgeom::Ellipse), the intersection of an
43
- elliptical cone with the unit sphere
44
- - [ ConvexPolygon] (\ref lsst::sphgeom::ConvexPolygon), a convex
45
- spherical polygon with unit vector vertices and great circle edges
38
+ - * Box* , a longitude/latitude angle box
39
+ - * Circle* , a small circle defined by a center and opening angle/chord length
40
+ - * Ellipse* , the intersection of an elliptical cone with the unit sphere
41
+ - * ConvexPolygon* , a convex spherical polygon with unit vector vertices and great circle edges
46
42
47
43
In addition to the spherical regions, there is a type for 3-D axis aligned
48
- boxes, [ Box3d] (\ref lsst::sphgeom::Box3d) . All spherical regions know how
44
+ boxes, * Box3d* . All spherical regions know how
49
45
to compute their 3-D bounding boxes, which makes it possible to insert them
50
46
into a 3-D [ R-tree] ( https://en.wikipedia.org/wiki/R-tree ) . This is used by the
51
47
exposure indexing task in the [ daf_ingest] ( https://github.com/lsst/daf_ingest )
@@ -54,23 +50,22 @@ package to spatially index exposure bounding polygons using the
54
50
[ R* tree module] ( https://www.sqlite.org/rtree.html ) .
55
51
56
52
A region can also determine its spatial
57
- [ relationship] (\ref lsst::sphgeom::Relationship) to another region, and
53
+ relationship to another region, and
58
54
test whether or not it contains a given unit vector.
59
55
60
56
Pixelizations
61
57
-------------
62
58
63
59
This library also provides support for assigning points to pixels (a.k.a.
64
- cells or partitions) in a [ Pixelization] (\ref lsst::sphgeom::Pixelization)
60
+ cells or partitions) in a * Pixelization*
65
61
(a.k.a. partitioning) of the sphere, and for determining which pixels
66
62
intersect a region.
67
63
68
- Currently, the [ Chunker] (\ref lsst::sphgeom::Chunker) class implements
64
+ Currently, the * Chunker* class implements
69
65
the partitioning scheme employed by [ Qserv] ( https://github.com/lsst/qserv ) .
70
- The [ HtmPixelization] (\ref lsst::sphgeom::HtmPixelization) class implements
66
+ The * HtmPixelization* class implements
71
67
the HTM (Hierarchical Triangular Mesh) pixelization. The
72
- [ Q3cPixelization] (\ref lsst::sphgeom::Q3cPixelization) and
73
- [ Mq3cPixelization] (\ref lsst::sphgeom::Mq3cPixelization) classes implement
68
+ * Q3cPixelization* and * Mq3cPixelization* classes implement
74
69
the original Quad Tree Cube indexing scheme and a modified version with
75
70
reduced pixel area variation.
76
71
0 commit comments