# @developmentseed/deck\.gl-zarr 中文文档

规范地址：https://npmcn.com/package/%40developmentseed/deck.gl-zarr/

版本：0\.10\.0
npm 元数据更新时间：2026-11-09T17:57:33.239Z
中文译文更新时间：2026-11-12T02:54:26.839Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40developmentseed/deck.gl-zarr
原文对照：https://npmcn.com/package/%40developmentseed/deck.gl-zarr/?lang=original
项目主页：https://github.com/developmentseed/deck.gl-raster#readme
源码仓库：https://github.com/developmentseed/deck.gl-raster

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：65.6 kB，23 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：5 个
- peer 依赖：@deck\.gl/core ^9\.4\.0，@luma\.gl/core ^9\.4\.0，@deck\.gl/layers ^9\.4\.0，@deck\.gl/geo-layers ^9\.4\.0
- 首次发布：2025-12-18T20:45:41.588Z
- 最新版本发布：2026-11-09T17:57:32.882Z
- 近 30 天下载量：5775（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：28（近 12 个月 28 个）

## 中文简介

(原始内容存档于2019-09-26). Zar visionization in deck.gl.

## 安装

```sh
npm install @developmentseed/deck.gl-zarr
```

也可以使用：`pnpm add @developmentseed/deck.gl-zarr`、`yarn add @developmentseed/deck.gl-zarr`、`bun add @developmentseed/deck.gl-zarr`

## README

# @ developmentseed/deck.gl-zarr (英语)

用于渲染的高级甲板.gl层 [地理扎尔](https://geozarr.org/) 数据集直接取自Zarr商店,同时将"一飞"重排至Web Mercator.

这个软件包基于 [`@developmentseed/deck.gl-raster`](https://developmentseed.org/deck.gl-raster/api/deck-gl-raster/) 财务报告和审定财务报表 [`@developmentseed/geozarr`](https://developmentseed.org/deck.gl-raster/api/geozarr/) 使 Zarr 阵列成为平板光栅源。 用这个 [萨里塔](https://zarrita.dev/) 将Zarr的本地块网格与甲板对齐 Gl's (英语) `TileLayer`,然后将每个块重新投影到Web Mercator视图港.

## 快速启动

```ts
import { ZarrLayer } from "@developmentseed/deck.gl-zarr";
import * as zarr from "zarrita";

// The user creates the zarrita store; wrap it with middleware as needed
const store = new zarr.FetchStore("https://example.com/my-dataset.zarr");

const layer = new ZarrLayer({
  id: "zarr-layer",
  // A store for the layer to open at its root, or an opened ZarrSource
  source: store,
  // One entry per non-spatial dim. Use `null` for the default slice,
  // a number to pin to an index, or a `zarr.Slice` for a range.
  selection: { band: null },
  getTileData,
  renderTile,
});
```

为了改变数据是如何打开的,你自己打开它 `ZarrSource.open`: 给 `path` 到要绘图的数组或多比例组,通过 `geoZarrMetadata` 用于没有 GeoZarr 元数据的存储,或者给出 `epsgResolver`。打开的源还可以在任何层存在之前给出数据的界限,几个层可以共享,例如两层绘制不同的选择:

```ts
import { ZarrLayer, ZarrSource } from "@developmentseed/deck.gl-zarr";

const source = await ZarrSource.open(store, { path: "temperature" });
if (!source.is("float32")) {
  throw new Error(`Expected float32 data, got ${source.levels[0]!.dtype}`);
}
const { west, south, east, north } = source.geographicBounds;

const layer = new ZarrLayer({
  id: "temperature",
  source,
  selection: { time: 0 },
  getTileData,
  renderTile,
});
```

`source.is(dtype)` 检查运行时的数据类型,并将源的类型缩小到它, 如 zarrita's `Array.is` 用于数组.

数组继承 `proj:` 财务报告和审定财务报表 `spatial:` 其所在组的属性,所以 `path` 可以命名一个 GeoZarr 元数据在其组中的数组.

线人 `node` 是它绘制的 Zarrita 组或数组。 它存储着数据集的其他阵列,例如坐标:

```ts
const band = await zarr.open(zarr.root(source.node.store).resolve("band"), {
  kind: "array",
});
```

`ZarrSource.open` 和层还取出一个打开的 Zarrita 组或数组而不是一个存储。 当应用程序已经打开了节点时通过一个,比如读取坐标或标签数组或浏览分级,或者需要控制它是如何打开的,比如它的Zarr版本.

打电话者提供两个回电:

-   **`getTileData(arr, options)`** ——接收所请求级别打开的zarr阵列和一个预建 `sliceSpec`调用 `zarr.get(arr, options.sliceSpec)` 将结果转换成任何形状 `renderTile` 期待着.
-   **`renderTile(data)`** - 将结果转化为 [`RenderTileResult`](https://developmentseed.org/deck.gl-raster/api/deck-gl-raster/type-aliases/RenderTileResult/) (单位:千美元) `ImageData`/纹理,或自定义的luma.gl `RenderPipeline`) (中文(简体) ).

此分割保留 [`ZarrLayer`](https://developmentseed.org/deck.gl-raster/api/deck-gl-zarr/classes/ZarrLayer/) 对数据类型和渲染管道的不可知论——层会处理地砖,平面选择和再投影;你决定块如何变成像素.

## 特征

-   **地球泽尔**: 读取 `spatial`, (中文(简体) ), `multiscales`,以及 `geo-proj` 生成平面金字塔的常规,每个平面外膜的变换,以及 CRS.
-   **单一和多分辨率支助**: 二维数组,或一个在任何位置上具有其他维度的数组,例如 `[band, y, x]` 或者说 `[y, x, band]`,作为单级源,只要y在x之前出现;一个多级组作为金字塔提供.
-   **空中再预测**: 来源 CRS = 使用 Web Mercator [`@developmentseed/raster-reproject`](https://developmentseed.org/deck.gl-raster/api/raster-reproject/),没有服务器侧平板服务.
-   **呼叫者拥有的商店**:您创建了 Zarrita 商店, 因此您控制合并, 范围连接, 认证 。 通过打开的 `zarr.Group` 或者说 `zarr.Array` 也可以控制它是如何打开的.

## 常见问题

### @developmentseed/deck\.gl-zarr 是什么？

\(原始内容存档于2019-09-26\)\. Zar visionization in deck\.gl\.

### 如何安装 @developmentseed/deck\.gl-zarr？

在项目目录运行 npm install @developmentseed/deck\.gl-zarr，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@deck\.gl/core（^9\.4\.0）、@luma\.gl/core（^9\.4\.0）、@deck\.gl/layers（^9\.4\.0）、@deck\.gl/geo-layers（^9\.4\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @developmentseed/deck\.gl-zarr 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @developmentseed/deck\.gl-zarr 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @developmentseed/deck\.gl-zarr 可以商用吗？

@developmentseed/deck\.gl-zarr 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @developmentseed/deck\.gl-zarr 的下载量有多少？

根据 npm 官方下载统计，@developmentseed/deck\.gl-zarr 在 2026/10/12 – 2026/11/10 这 30 天内被下载 5,775 次，日均约 193 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @developmentseed/deck\.gl-zarr 还在维护吗？

最新版本 0\.10\.0 发布于 2026/11/10（2 天前）；至今共发布 28 个版本，其中过去 12 个月发布了 28 个；首次发布于 2025/12/19。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

