宇宙解码器:Aladin Lite v3 揭秘星空深处

文摘   2024-07-15 00:02   江苏  

前言

随着天文数据的爆炸性增长,传统的数据处理和可视化方法已难以满足现代天文学研究的需求。在这样的背景下,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。

unsetunset发布unsetunset

要将 Aladin Lite 集成到您的个人网站中,请参考此发布页面[9]。 始终优先使用最新版本。如果您想要新功能并且不介意随之而来的错误,那么 beta 版本是不错的选择。

unsetunsetAPI 文档unsetunset

这里有一份正在进行中的新 API 文档,位于这个链接[10]。 还可以在这里[11]找到可编辑的示例,展示 API 的使用。

unsetunset将其嵌入到您的项目中unsetunset

您可以以两种方式将 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', {fov360projection"AIT"cooFrame'equatorial'showCooGridControltrueshowSimbadPointerControltrueshowCooGridtrue});
    });
</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', {fov360projection"AIT"cooFrame'equatorial'showCooGridControltrueshowSimbadPointerControltrueshowCooGridtrue});
    });
</script>

</body>
</html>

unsetunsetv3 的目标unsetunset

  • Rust/WebGL 新核心集成

  • 移除 jQuery 依赖

  • UI 开发,更好地支持智能手机

  • 支持 FITS 图像

  • 轻松分享当前的“视图”

  • 支持所有 VOTable 序列化(使用 votable.js?)

  • 支持 FITS 表格?

  • 从 URL 创建 HiPS 实例

  • 处理 HiPS 瓦片检索的多个镜像

unsetunset源代码unsetunset

源代码可在src目录下获得。

unsetunset许可证unsetunset

Aladin Lite 目前根据 GPL v3.0 许可。

如果您认为此许可证可能阻止您在页面/应用程序/门户网站中使用 Aladin Lite,请提出问题或联系我们[13]

unsetunset贡献unsetunset

有几种方式可以为 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 如何引领我们走向更深远的宇宙奥秘。

参考资料
[1]

斯特拉斯堡天文数据中心 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/


编程悟道
自制软件研发、软件商店,全栈,ARTS 、架构,模型,原生系统,后端(Node、React)以及跨平台技术(Flutter、RN).vue.js react.js next.js express koa hapi uniapp Astro
 最新文章