用于 healpy.query_disc() 的坐标系
Coordinate system used for healpy.query_disc()
healpy.query_disc()
函数接受参数 vec
,它是定义圆盘中心的 three-component 单位向量。这里使用的是什么坐标系——为什么二维投影有第三个维度?这个向量的“尾巴”位于什么点?
很好,您自己找到了解决方案,这里有一个完整的工作代码示例供以后参考:
import healpy as hp
import numpy as np
# `lonlat=True` switches `ang2vec` from requiring colatitude $\theta$ and longitude $\phi$ in radians to longitude and latitude in degrees (notice that also the order changes)
# in degrees
lon = 60
lat = 30
vec = hp.ang2vec(lon, lat, lonlat=True)
nside = 256
large_disc = hp.query_disc(nside, vec, radius=np.radians(20))
small_disc = hp.query_disc(nside, vec, radius=np.radians(8))
tiny_disc = hp.query_disc(nside, vec, radius=np.radians(2))
# `query_disc` returns a list of pixels, by default in RING ordering, let's check their length:
list(map(len, [large_disc, small_disc, tiny_disc]))
# ## Create a map and plot it in Mollweide projection
m = np.zeros(hp.nside2npix(nside))
m[large_disc] = 1
m[small_disc] = 2
m[tiny_disc] = 3
hp.mollview(m)
hp.graticule()
在此处查看带图的笔记本:https://zonca.dev/2020/10/example-healpy-query_disc.html
已解决。使用 ang2vec()
的输出给出向量。
healpy.query_disc()
函数接受参数 vec
,它是定义圆盘中心的 three-component 单位向量。这里使用的是什么坐标系——为什么二维投影有第三个维度?这个向量的“尾巴”位于什么点?
很好,您自己找到了解决方案,这里有一个完整的工作代码示例供以后参考:
import healpy as hp
import numpy as np
# `lonlat=True` switches `ang2vec` from requiring colatitude $\theta$ and longitude $\phi$ in radians to longitude and latitude in degrees (notice that also the order changes)
# in degrees
lon = 60
lat = 30
vec = hp.ang2vec(lon, lat, lonlat=True)
nside = 256
large_disc = hp.query_disc(nside, vec, radius=np.radians(20))
small_disc = hp.query_disc(nside, vec, radius=np.radians(8))
tiny_disc = hp.query_disc(nside, vec, radius=np.radians(2))
# `query_disc` returns a list of pixels, by default in RING ordering, let's check their length:
list(map(len, [large_disc, small_disc, tiny_disc]))
# ## Create a map and plot it in Mollweide projection
m = np.zeros(hp.nside2npix(nside))
m[large_disc] = 1
m[small_disc] = 2
m[tiny_disc] = 3
hp.mollview(m)
hp.graticule()
在此处查看带图的笔记本:https://zonca.dev/2020/10/example-healpy-query_disc.html
已解决。使用 ang2vec()
的输出给出向量。