Install
openclaw skills install @ruiduobao/geoskill-map-symbology-optimizerOptimize map symbology using color theory, contrast, visual hierarchy and accessible palettes
openclaw skills install @ruiduobao/geoskill-map-symbology-optimizerOptimizes map symbology colors based on color theory and visual perception: WCAG contrast (selects the optimal black/white text color for each class), color-vision accessibility (class colors must remain distinguishable after deuteranopia simulation) and visual hierarchy (inter-class color distance metric).
Classification uses the Okabe-Ito / Tol accessible palettes, and outputs a complete symbology scheme as JSON plus a color scheme figure.
relative_luminance/contrast_ratio (WCAG, (L1+.05)/(L2+.05)) → simulate_deuteranopia linear matrix → min_pairwise_separation determines color-vision safety → best_text_color picks the text color → optimize_symbology assembles the scheme.
pip install numpy rasterio scipy matplotlib geopandas shapely pillow
python geoskill-map-symbology-optimizer.py --bbox 116.0 39.0 117.0 40.0 --synthetic --output-dir ./out
python geoskill-map-symbology-optimizer.py --input landcover.tif --method equal_interval --classes 6
python geoskill-map-symbology-optimizer.py --input landcover.tif --palette tol-muted
python geoskill-map-symbology-optimizer.py --bbox 116 39 117 40 --synthetic --classes 4
python geoskill-map-symbology-optimizer.py --input landcover.tif --method quantile --palette okabe-ito
| File | Format | Description |
|---|---|---|
symbology.png | PNG | Color-classified map + legend (main deliverable) |
classes.tif | GeoTIFF | Class index raster (verifiable deliverable) |
symbology.json | JSON | Breaks/colors/contrast/color-vision-safety QA |
Each run also produces output-manifest.json (run manifest).
Local GeoTIFF / vector files; --synthetic mode generates physically consistent simulated data, fully offline.
--synthetic mode requires no network at all.MIT
基于色彩理论与视觉感知优化地图符号配色:WCAG 对比度(为每类选最优黑/白文字)、色觉无障碍(deuteranopia 模拟后要求类别色仍可区分)、视觉层次(类间色彩距离度量)。
分类采用 Okabe-Ito / Tol 无障碍调色板,输出完整符号方案 JSON 与配色图。
relative_luminance/contrast_ratio(WCAG,(L1+.05)/(L2+.05)) → simulate_deuteranopia 线性矩阵 → min_pairwise_separation 判定色觉安全 → best_text_color 选文字色 → optimize_symbology 组装方案。
pip install numpy rasterio scipy matplotlib geopandas shapely pillow
python geoskill-map-symbology-optimizer.py --bbox 116.0 39.0 117.0 40.0 --synthetic --output-dir ./out
python geoskill-map-symbology-optimizer.py --input landcover.tif --method equal_interval --classes 6
python geoskill-map-symbology-optimizer.py --input landcover.tif --palette tol-muted
python geoskill-map-symbology-optimizer.py --bbox 116 39 117 40 --synthetic --classes 4
python geoskill-map-symbology-optimizer.py --input landcover.tif --method quantile --palette okabe-ito
| 文件 | 格式 | 说明 |
|---|---|---|
symbology.png | PNG | 配色分类图+图例(主产物) |
classes.tif | GeoTIFF | 类别索引栅格(可验证产物) |
symbology.json | JSON | 断点/配色/对比度/色觉安全 QA |
每次运行还会产出 output-manifest.json(运行清单)。
本地 GeoTIFF / 矢量文件;--synthetic 模式生成物理一致的模拟数据,完全离线。
--synthetic 模式完全无网络。MIT