前言
随着天文数据的爆炸性增长,传统的数据处理和可视化方法已难以满足现代天文学研究的需求。在这样的背景下,Aladin Lite v3 的问世,以其创新的技术和用户友好的设计,为天文学家和爱好者提供了一个强大的工具,以全新的视角探索浩瀚的宇宙。本文将深入介绍 Aladin Lite v3 的特性、应用场景以及如何将其嵌入到个人项目中,带领读者体验这一前沿技术的魅力。
宇宙解码器:Aladin Lite v3 揭秘星空深处
Aladin Lite 是一个 Web 应用程序,它能够在浏览器中实现 HiPS 的可视化。它在斯特拉斯堡天文数据中心 CDS[1]开发。
有关 HiPS 标准的更多详细信息,请参阅A&A 578, A114 (2015)[2]和IVOA HiPS 推荐[3]。
Aladin Lite 旨在轻松嵌入任何网页。它为诸如ESASky[4]、ESO Science Archive portal[5]和ALMA Portal[6]等天文门户网站提供动力。
更多详情见Aladin Lite 文档页面[7]。
如何测试它?
Aladin Lite v3 发布了!请通过这个链接[8]体验 Aladin Lite v3。
发布
要将 Aladin Lite 集成到您的个人网站中,请参考此发布页面[9]。 始终优先使用最新版本。如果您想要新功能并且不介意随之而来的错误,那么 beta 版本是不错的选择。
API 文档
这里有一份正在进行中的新 API 文档,位于这个链接[10]。 还可以在这里[11]找到可编辑的示例,展示 API 的使用。
将其嵌入到您的项目中
您可以以两种方式将 Aladin Lite 嵌入到您的网页中
传统方式
请将Aladin Lite v3 的 javascript 脚本[12]包含到您的项目中。API 与 v2 的差异很小,以下是一段您可以使用的代码片段,将其嵌入到您的网页中:
<!doctype html>
<html>
<head>
<!-- 在为智能手机/平板使用设置Aladin Lite v3时必需 -->
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no">
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="text/javascript" src="https://aladin.cds.unistra.fr/AladinLite/api/v3/latest/aladin.js" charset="utf-8"></script>
<script type="text/javascript">
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {fov: 360, projection: "AIT", cooFrame: 'equatorial', showCooGridControl: true, showSimbadPointerControl: true, showCooGrid: true});
});
</script>
</body>
</html>
使用 aladin lite NPM 包
首先,使用 npm 安装它:
npm i aladin-lite
其次,可以这样使用它:
<!doctype html>
<html>
<head>
<!-- 在为智能手机/平板使用设置Aladin Lite v3时必需 -->
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no">
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="module">
import A from 'aladin-lite';
A.init.then(() => {
let aladin = A.aladin('#aladin-lite-div', {fov: 360, projection: "AIT", cooFrame: 'equatorial', showCooGridControl: true, showSimbadPointerControl: true, showCooGrid: true});
});
</script>
</body>
</html>
v3 的目标
Rust/WebGL 新核心集成
移除 jQuery 依赖
UI 开发,更好地支持智能手机
支持 FITS 图像
轻松分享当前的“视图”
支持所有 VOTable 序列化(使用 votable.js?)
支持 FITS 表格?
从 URL 创建 HiPS 实例
处理 HiPS 瓦片检索的多个镜像
源代码
源代码可在src
目录下获得。
许可证
Aladin Lite 目前根据 GPL v3.0 许可。
如果您认为此许可证可能阻止您在页面/应用程序/门户网站中使用 Aladin Lite,请提出问题或联系我们[13]。
贡献
有几种方式可以为 Aladin Lite 做出贡献:
报告一个错误:任何人都可以提出问题来报告错误。请先确保该问题尚未存在。尽可能具体,并提供如果可能的详细说明如何重现问题。
建议一个新特性:如果您觉得缺少某些东西,请先检查是否已经有类似的功能请求在开放问题中提交。如果没有,提出一个新问题,并详细解释您希望的功能。
开发新特性/提供代码修复错误。由于开放开发对我们来说是新事物,我们一开始只会考虑来自我们的密切合作伙伴的代码贡献(即拉取请求)。 无论如何,在开始重大更新或重写之前,请先联系我们。
构建应用程序步骤
首先,您需要从 package.json 安装依赖项 请运行:
npm install
之后,您应该安装了 Rust 工具链 将核心项目编译成 WebAssembly。 按照 Rust 官方网站这里[14]的步骤 您还需要wasm-pack[15],一个帮助将 rust 编译成适当的.wasm 文件的工具。
安装完成后,您需要切换到 nightly rust 版本:
rustup default nightly
然后,您可以构建项目:
npm run build
:warning: 如果您在编译 rust 时遇到错误:
确保您的wasm-pack版本是最新的。执行以下操作来更新:
cargo install wasm-pack --version ~0.12
确保您使用的是 rust nightly工具链 删除您的 src/core/Cargo.lock
文件和src/core/target
目录 -- 这确保您摆脱任何错误的编译状态:
git clean -di
然后使用 npm run build
重新编译。
它将在仓库根目录的dist/
目录中生成编译后的 aladin lite 代码。该目录包含两个 javascript 文件。aladin.umd.cjs
遵循 UMD 模块导出约定,您可以将其用于您的项目。
要运行示例,您可以使用以下命令启动本地服务器:
npm run serve
仅编译 rust 核心,从根位置执行:
cd src/core
cargo check --features webgl2
并运行测试:
cd src/core
cargo test --features webgl2
结语
Aladin Lite v3 不仅代表了天文学数据处理和可视化的新纪元,更是开源社区协作精神的体现。随着技术的不断进步和社区的共同努力,我们有理由相信,Aladin Lite 将在未来天文探索的征途上,发挥越来越重要的作用。让我们拭目以待,Aladin Lite v3 如何引领我们走向更深远的宇宙奥秘。
斯特拉斯堡天文数据中心 CDS: http://cds.unistra.fr/
[2]A&A 578, A114 (2015): https://arxiv.org/abs/1505.02291
[3]IVOA HiPS 推荐: http://ivoa.net/documents/HiPS/index.html
[4]ESASky: https://sky.esa.int/
[5]ESO Science Archive portal: http://archive.eso.org/scienceportal/
[6]ALMA Portal: https://almascience.eso.org/asax/
[7]Aladin Lite 文档页面: http://aladin.u-strasbg.fr/AladinLite/doc/
[8]这个链接: https://aladin.u-strasbg.fr/AladinLite
[9]发布页面: https://aladin.cds.unistra.fr/AladinLite/doc/release/
[10]这个链接: https://cds-astro.github.io/aladin-lite
[11]这里: https://aladin.cds.unistra.fr/AladinLite/doc/API/examples/
[12]Aladin Lite v3 的 javascript 脚本: https://aladin.cds.unistra.fr/AladinLite/api/v3/latest/aladin.js
[13]联系我们: mailto:cds-question@unistra.fr
[14]这里: https://www.rust-lang.org/learn/get-started
[15]wasm-pack: https://rustwasm.github.io/wasm-pack/