|
LSSTApplications
1.1.2+25,10.0+13,10.0+132,10.0+133,10.0+224,10.0+41,10.0+8,10.0-1-g0f53050+14,10.0-1-g4b7b172+19,10.0-1-g61a5bae+98,10.0-1-g7408a83+3,10.0-1-gc1e0f5a+19,10.0-1-gdb4482e+14,10.0-11-g3947115+2,10.0-12-g8719d8b+2,10.0-15-ga3f480f+1,10.0-2-g4f67435,10.0-2-gcb4bc6c+26,10.0-28-gf7f57a9+1,10.0-3-g1bbe32c+14,10.0-3-g5b46d21,10.0-4-g027f45f+5,10.0-4-g86f66b5+2,10.0-4-gc4fccf3+24,10.0-40-g4349866+2,10.0-5-g766159b,10.0-5-gca2295e+25,10.0-6-g462a451+1
LSSTDataManagementBasePackage
|
A decomposition of the unit sphere into zones, stripes, and chunks. More...
#include <SpatialUtil.h>
Public Member Functions | |
| ZoneStripeChunkDecomposition (int const zonesPerDegree, int const zonesPerStripe, int const maxEntriesPerZoneEstimate) | |
| ZoneStripeChunkDecomposition (ZoneStripeChunkDecomposition const &zsc) | |
| ZoneStripeChunkDecomposition & | operator= (ZoneStripeChunkDecomposition const &zsc) |
| int | getNumChunksPerStripe (int const stripeId, double const minWidth) const |
| double | stripeAndCircleToRaRange (int const stripeId, double const cenRa, double const cenDec, double const rad) const |
| int | getNumChunksPerStripe (int const stripeId) const |
| int | getFirstChunkForStripe (int const stripeId) const |
| int | radecToChunk (double const ra, double const dec) const |
| int | decToZone (double const dec) const |
| double | getZoneDecMin (int const zone) const |
| double | getZoneDecMax (int const zone) const |
| int | decToStripe (double const dec) const |
| double | getStripeDecMin (int const stripeId) const |
| double | getStripeDecMax (int const stripeId) const |
| int | getStripeZoneMin (int const stripeId) const |
| int | getStripeZoneMax (int const stripeId) const |
| int | getZonesPerStripe () const |
| int | getMaxEntriesPerZoneEstimate () const |
| void | swap (ZoneStripeChunkDecomposition &zsc) |
Static Public Member Functions | |
| static int | chunkToStripe (int const chunkId) |
| static int | chunkToSequence (int const chunkId) |
Private Attributes | |
| std::vector< int > | _chunksPerStripe |
| double | _zonesPerDegree |
| double | _maxZoneAsDouble |
| int | _zonesPerStripe |
| int | _maxEntriesPerZoneEstimate |
| int | _minZone |
| int | _maxZone |
| int | _minStripe |
| int | _maxStripe |
A decomposition of the unit sphere into zones, stripes, and chunks.
Stripes refer to declination ranges. These are further divided into equal width (in right ascension) chunks for the purposes of memory management and/or disk storage. This allows an LSST FOV to be described by a small number (10-100) of spatial chunks that map to some unit of physical storage (e.g. files, database tables).
For cross-matching, spatial data is organized into very fine declination ranges, dubbed zones, many of which combine to form a stripe. Specifically, a stripe consists of N zones, where N is a positive integer.
ZoneStripeChunkDecomposition instances are responsible for mapping declinations/positions to integer zone, stripe, and chunk ids – these are obtained by simple quantization of declination and right ascension.
Definition at line 69 of file SpatialUtil.h.
| lsst::ap::ZoneStripeChunkDecomposition::ZoneStripeChunkDecomposition | ( | int const | zonesPerDegree, |
| int const | zonesPerStripe, | ||
| int const | maxEntriesPerZoneEstimate | ||
| ) |
Definition at line 48 of file SpatialUtil.cc.
| lsst::ap::ZoneStripeChunkDecomposition::ZoneStripeChunkDecomposition | ( | ZoneStripeChunkDecomposition const & | zsc | ) |
Definition at line 99 of file SpatialUtil.cc.
|
inlinestatic |
Returns the sequence number of the given chunk (within its stripe).
Definition at line 169 of file SpatialUtil.h.
|
inlinestatic |
Returns the id of the stripe the given chunk belongs to.
Definition at line 164 of file SpatialUtil.h.
|
inline |
Returns the id of the stripe that any point with the given declination belongs to.
Definition at line 156 of file SpatialUtil.h.
|
inline |
Returns the id of the zone that any point with the given declination belongs to.
Definition at line 132 of file SpatialUtil.h.
|
inline |
Returns the id of the first chunk (the one with the smallest id) in the given declination stripe.
Definition at line 112 of file SpatialUtil.h.
|
inline |
Returns an estimate of the largest number of entries that can fall within the intersection of a zone and an LSST FOV. Always returns a non-negative integer.
Definition at line 205 of file SpatialUtil.h.
| int lsst::ap::ZoneStripeChunkDecomposition::getNumChunksPerStripe | ( | int const | stripeId, |
| double const | minWidth | ||
| ) | const |
Computes and returns the maximum number of equal-width chunks that can fit into the given declination stripe, where each chunk has the given minimum width. The minimum width for a chunk is defined as the minimum allowable distance between two points in non-adjacent chunks belonging to the same stripe.
| [in] | stripeId | the stripe to determine a chunk count for |
| [in] | minWidth | the minimum width of a chunk (in degrees) |
Definition at line 138 of file SpatialUtil.cc.
|
inline |
Computes and returns the maximum number of equal-width chunks that can fit into the given declination stripe (where each chunk has a minimum width equal to the stripe height).
Definition at line 103 of file SpatialUtil.h.
|
inline |
Returns a non-inclusive upper bound on the declination of points within the given stripe.
Definition at line 181 of file SpatialUtil.h.
|
inline |
Returns the minimum declination of points within the given stripe.
Definition at line 174 of file SpatialUtil.h.
|
inline |
Returns the largest zone within the given stripe.
Definition at line 194 of file SpatialUtil.h.
|
inline |
Returns the smallest zone within the given stripe.
Definition at line 188 of file SpatialUtil.h.
|
inline |
Returns a non-inclusive upper bound on the declination of points within the given zone.
Definition at line 146 of file SpatialUtil.h.
|
inline |
Returns the minimum declination of points within the given zone.
Definition at line 139 of file SpatialUtil.h.
|
inline |
Definition at line 199 of file SpatialUtil.h.
|
inline |
Definition at line 81 of file SpatialUtil.h.
|
inline |
Returns the id of the chunk containing the given position
Definition at line 118 of file SpatialUtil.h.
| double lsst::ap::ZoneStripeChunkDecomposition::stripeAndCircleToRaRange | ( | int const | stripeId, |
| double const | cenRa, | ||
| double const | cenDec, | ||
| double const | rad | ||
| ) | const |
Computes the intersection of the given declination stripe and circular region, then returns the range of right ascension values in the intersection as a difference in ra from the circle center.
| [in] | stripeId | id of the declination stripe |
| [in] | cenRa | right ascension of circle center (degrees) |
| [in] | cenDec | declination of circle center (degrees) |
| [in] | rad | radius of circle (degrees) |
Definition at line 175 of file SpatialUtil.cc.
| void lsst::ap::ZoneStripeChunkDecomposition::swap | ( | ZoneStripeChunkDecomposition & | zsc | ) |
Definition at line 112 of file SpatialUtil.cc.
|
private |
Definition at line 213 of file SpatialUtil.h.
|
private |
Definition at line 218 of file SpatialUtil.h.
|
private |
Definition at line 222 of file SpatialUtil.h.
|
private |
Definition at line 220 of file SpatialUtil.h.
|
private |
Definition at line 216 of file SpatialUtil.h.
|
private |
Definition at line 221 of file SpatialUtil.h.
|
private |
Definition at line 219 of file SpatialUtil.h.
|
private |
Definition at line 215 of file SpatialUtil.h.
|
private |
Definition at line 217 of file SpatialUtil.h.
1.8.5