24 __all__ = [
"HtmIndexer"]
30 """Manage a spatial index of hierarchical triangular mesh (HTM)
36 Depth of the HTM hierarchy to construct.
39 self.
htmhtm = esutil.htm.HTM(depth)
42 """Get the IDs of all shards that touch a circular aperture.
46 ctrCoord : `lsst.geom.SpherePoint`
47 ICRS center of search region.
48 radius : `lsst.geom.Angle`
49 Radius of search region.
56 - shardIdList : `list` of `int`
58 - isOnBoundary : `list` of `bool`
59 For each shard in ``shardIdList`` is the shard on the
60 boundary (not fully enclosed by the search region)?
62 shardIdList = self.
htmhtm.intersect(ctrCoord.getLongitude().asDegrees(),
63 ctrCoord.getLatitude().asDegrees(),
64 radius.asDegrees(), inclusive=
True)
65 coveredShardIdList = self.
htmhtm.intersect(ctrCoord.getLongitude().asDegrees(),
66 ctrCoord.getLatitude().asDegrees(),
67 radius.asDegrees(), inclusive=
False)
68 isOnBoundary = (shardId
not in coveredShardIdList
for shardId
in shardIdList)
69 return shardIdList, isOnBoundary
72 """Generate shard IDs for sky positions.
76 raList : `list` of `float`
77 List of right ascensions, in degrees.
78 decList : `list` of `float`
79 List of declinations, in degrees.
83 shardIds : `list` of `int`
86 return self.
htmhtm.lookup_id(raList, decList)
90 """Make a data id from a shard ID.
95 ID of shard in question.
97 Name of dataset to use.
107 return {
'pixel_id': shardId,
'name': datasetName}
def getShardIds(self, ctrCoord, radius)
def indexPoints(self, raList, decList)
def makeDataId(shardId, datasetName)
def __init__(self, depth=7)