@hangtime/climbing-boards

中文文档
1.0.135发布于 2026/11/01UnlicenseES Module构建来源已验证

自动更新Aurora攀岩板位置GeoJSON数据集:Kilter, Tension, Grasshopper, Decoy, So iLL, Touchstone和Aurora。

中文使用文档
文档目录11 节
  1. 数据源
  2. 数据结构
  3. 自动化
  4. 开发
  5. 先决条件
  6. 安装
  7. 可用脚本
  8. 身份验证
  9. 出版物
  10. 学分
  11. 许可证

爬板

GeoJSON数据集跟踪全球所有攀岩训练/系统板; 包括 月球板, Kilter板,拉力板,Grasshopper板,诱饵 Board, So iLL Board, Touchstone Board, Aurora Board和12Climb Board。这 数据集每天通过GitHub Actions自动更新。

更新05 - 2026MoonBoard从此停止更新 GetMapMarkers 删除了。

探索GeoJSON.io上的所有系统板

Climbing Boards

数据源

存储库从多个攀岩板应用程序和 将其转换为GeoJSON,这是一种轻量级的开放标准格式,非常适合 地图应用和地理数据可视化。探索个人 GeoJSON.io上的板块:

数据结构

这个 /data 目录包含:

  • 来自每个源的原始JSON位置数据
  • 从各种极光攀登API端点抓取数据

这个 /geojson 目录包含:

  • 每个攀岩板类型的单独GeoJSON文件
  • 包含所有位置的组合GeoJSON文件

这个 /api 目录包含:

  • 每个攀岩板服务的API客户端实现
  • 身份验证和数据获取逻辑

这个 /interfaces 目录包含:

  • TypeScript类型定义和接口
  • 应用程序的数据模型规范

这个 /models 目录包含:

  • 用于API交互和数据处理的客户机模型
  • 数据转换和验证模型

自动化

这个仓库使用GitHub Actions来:

  • 每天抓取最新的位置数据
  • 将数据转换为GeoJSON格式
  • 将所有源合并到一个GeoJSON文件中
  • 自动提交,推送和发布更新

开发

先决条件

  • Node.js 22 / Deno / Bun

安装

npm i @hangtime/climbing-boards

可用脚本

# Install dependencies
npm ci

# Scrape data from board APIs
npm run scrape

# Convert scraped data to GeoJSON
npm run convert

# Combine all GeoJSON files
npm run combine

# Run the complete build process
npm run build

# Watch for TypeScript changes during development
npm run dev

身份验证

需要得到 月球板 和基尔特董事会的位置。更详细地说 关于极光板的信息,如(张力,蚱蜢等),包括 健身房的地址,板的角度,或旋转状态,你需要提供你的 凭据通过环境变量。每个攀岩板应用程序都需要它的 自己的登录凭据集。刮刀将只获取额外的细节 您提供有效登录信息的特定应用程序。

重要法律通知:在使用此刮刀与凭证之前,您 必须:

  1. 有一个有效的帐户,并明确接受每个使用条款 平台。
  2. 确保您使用此工具符合平台的服务条款
  3. 请注意,此工具会向这些服务发出经过身份验证的API请求

设置说明:

  1. 复制 .env.example 文件 .env:
cp .env.example .env
  1. 在表格中填写你的证件 .env 文件:
# Aurora Climbing Boards (Tension, Grasshoper etc.)
TENSIONBOARDAPP_USERNAME=your_username
TENSIONBOARDAPP_PASSWORD=your_password

# Kilter Boards (requires authentication for location data)
KILTERBOARDAPP_USERNAME=your_username
KILTERBOARDAPP_PASSWORD=your_password

# MoonBoard (requires authentication for location data)
MOONBOARD_USERNAME=your_username
MOONBOARD_PASSWORD=your_password

# Add credentials for other boards as needed

API使用保障:刮板包括内置保护:

  • 速率限制(每块板每分钟30个请求)
  • 自动请求节流
  • 重试机制与指数回退速率限制错误
  • 高使用率警告(在速率限制的80%触发)
  • 身份验证和API问题的错误处理

注意:当刮刀实现速率限制和其他保障时,你 仍然有责任确保您的使用符合每个服务的条款 使用。

出版物

Kilter Board应用一夜之间消失了。这不是意外。

学分

叉形的 Georift / climbing-board-locations

许可证

Unlicense

版本与发布记录

@hangtime/climbing-boards 共发布 136 个版本,首次发布于 2026/03/30;过去 12 个月发布了 136 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.135latest2026/11/012 天前
1.0.1342026/10/313 天前
1.0.1332026/10/304 天前
1.0.1322026/10/295 天前
1.0.1312026/10/286 天前
1.0.1302026/10/277 天前

关于 @hangtime/climbing-boards 的常见问题

@hangtime/climbing-boards 是什么?

自动更新Aurora攀岩板位置GeoJSON数据集:Kilter, Tension, Grasshopper, Decoy, So iLL, Touchstone和Aurora。

如何安装 @hangtime/climbing-boards?

在项目目录运行 npm install @hangtime/climbing-boards,或使用 pnpm add / yarn add / bun add。

@hangtime/climbing-boards 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/hangtime__climbing-boards 是否存在。

@hangtime/climbing-boards 支持 ESM 还是 CommonJS?

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

@hangtime/climbing-boards 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@hangtime/climbing-boards 可以商用吗?

@hangtime/climbing-boards 使用 Unlicense 许可。作者将代码贡献到公共领域,可不受限制地使用。以上为概括,不构成法律意见,请以许可原文为准。

@hangtime/climbing-boards 还在维护吗?

最新版本 1.0.135 发布于 2026/11/01(2 天前);至今共发布 136 个版本,其中过去 12 个月发布了 136 个;首次发布于 2026/03/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。