360 Secure SkillHub
360 安全技能中心

geoskill-hillshade-visualization

该 Skill 是 Python 命令行工具,用 Horn 算法从本地 GeoTIFF/矢量 DEM 计算山体阴影,支持多方位角加权合成、zfactor 垂直夸张和地形色彩叠加。输出色彩阴影 PNG、hillshade GeoTIFF、元数据 JSON 和运行清单,合成数据模式可完全离线运行。

ruiduobao
ruiduobao
热度 13.45
最近更新 2026-08-04 20:17:00
分类:数据依赖:代码执行 / 读写文件应用场景:数据处理 / 图像生成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add geoskill-hillshade-visualization
Metadata
name
geoskill-hillshade-visualization
description
Multi-directional hillshade with vertical exaggeration and color overlay using the Horn algorithm

山体阴影可视化 | Hillshade Visualization

Computes hillshade using the Horn (1981) algorithm, with support for multi-directional weighted compositing (highlighting terrain textures of different orientations), vertical exaggeration via the zfactor, and terrain color overlay.

Multi-directional compositing computes the hillshade for each azimuth angle separately and then combines them with the given weights (automatically normalized).

Core Algorithm / 核心算法

Horn 3×3 differencing yields dz/dx, dz/dy → slope/aspect → sin(alt)cos(slope)+cos(alt)sin(slope)cos(az-aspect); the multi-directional output is the normalized weighted sum of the per-azimuth hillshades.

Dependencies / 依赖

pip install numpy rasterio scipy matplotlib geopandas shapely pillow

Usage / 使用方法

Example 1 (Synthetic Data, Offline)

python geoskill-hillshade-visualization.py --bbox 116.0 39.0 117.0 40.0 --synthetic --output-dir ./out

Example 2 (Custom Azimuths and Weights)

python geoskill-hillshade-visualization.py --input dem.tif --azimuths 315 270 --weights 0.7 0.3

Example 3 (Lower Sun Angle for Sharper Relief)

python geoskill-hillshade-visualization.py --input dem.tif --altitude 30 --zfactor 2

Example 4 (Grayscale Colormap)

python geoskill-hillshade-visualization.py --input dem.tif --cmap gray

Example 5 (Synthetic Multi-ridge Terrain)

python geoskill-hillshade-visualization.py --bbox 116 39 117 40 --synthetic --zfactor 3

Output / 输出

File Format Description
color_shaded.png PNG Color-overlaid hillshade (primary output)
hillshade.tif GeoTIFF Hillshade raster [0,1] (verifiable output)
hillshade_meta.json JSON Azimuths/weights/statistics

Each run also produces output-manifest.json (run manifest).

Data Source / 数据源 / Source

Local GeoTIFF / vector files; --synthetic mode generates physically consistent simulated data, fully offline.

Privacy / 隐私声明 / Privacy

  • Runs offline by default; --synthetic mode requires no network at all.
  • All processing is done locally; user data is never uploaded.

License / License

MIT



name: geoskill-hillshade-visualization description: 'Multi-directional hillshade with vertical exaggeration and color overlay using the Horn algorithm'

山体阴影可视化 | Hillshade Visualization

用 Horn (1981) 算法计算山体阴影,支持多方向加权合成(突出不同走向的地形纹理)、垂直夸张 zfactor 与地形色彩叠加。

多方向合成对每个方位角分别求 hillshade 再按权重(自动归一化)加权。

核心算法

Horn 3×3 差分求 dz/dx,dz/dy → slope/aspect → sin(alt)cos(slope)+cos(alt)sin(slope)cos(az-aspect);多方向为各方位角 hillshade 的归一化加权和。

依赖

pip install numpy rasterio scipy matplotlib geopandas shapely pillow

使用方法

示例 1(合成数据,离线)

python geoskill-hillshade-visualization.py --bbox 116.0 39.0 117.0 40.0 --synthetic --output-dir ./out

示例 2(自定义方位与权重)

python geoskill-hillshade-visualization.py --input dem.tif --azimuths 315 270 --weights 0.7 0.3

示例 3(低太阳角更锐利)

python geoskill-hillshade-visualization.py --input dem.tif --altitude 30 --zfactor 2

示例 4(灰度配色)

python geoskill-hillshade-visualization.py --input dem.tif --cmap gray

示例 5(合成多山脊)

python geoskill-hillshade-visualization.py --bbox 116 39 117 40 --synthetic --zfactor 3

输出

文件 格式 说明
color_shaded.png PNG 色彩叠加山体阴影(主产物)
hillshade.tif GeoTIFF 山体阴影栅格 [0,1](可验证产物)
hillshade_meta.json JSON 方位/权重/统计

每次运行还会产出 output-manifest.json(运行清单)。

数据源 / Source

本地 GeoTIFF / 矢量文件;--synthetic 模式生成物理一致的模拟数据,完全离线。

隐私声明 / Privacy

  • 默认离线运行,--synthetic 模式完全无网络。
  • 所有处理在本地完成,不上传用户数据。

License

MIT