← 返回 Skills 市场
muxueqingze

Historical Map

作者 muxueqingze · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
121
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install historical-map
功能描述
Generate beautiful vintage-style historical maps from GeoJSON data. Supports multiple projections, color palettes, timelines, compass roses, parchment overla...
使用说明 (SKILL.md)

Historical Map Generator

Generate beautiful vintage-style historical maps from GeoJSON data.

Quick Start

# Install dependencies
pip install geopandas matplotlib numpy Pillow pyproj shapely

# Download historical GeoJSON data
git clone https://github.com/aourednik/historical-basemaps.git
# Copy world_YYYY.geojson files to ./data/

# Generate a map
python generate.py --year 1914 --region europe --output europe_1914.png

What It Does

  • Historical boundaries from 10,000 BC to 2010 AD (50+ time slices)
  • Multiple projections: Lambert Azimuthal, Lambert Conformal Conic, Mollweide, Plate Carrée
  • 4 color palettes: Vintage (HOI4-inspired), Pastel, Dark, Satellite
  • Decorative elements: Compass rose, scale bar, timeline, legend, ocean labels
  • Post-processing: Parchment overlay, vignette darkening, paper grain noise
  • Customizable: Override any country color, add custom events, swap basemap textures

Available Time Slices

Commonly used years from historical-basemaps:

world_bc3000.geojson, world_bc1500.geojson, world_100.geojson
world_500.geojson, world_1000.geojson, world_1200.geojson
world_1400.geojson, world_1492.geojson, world_1600.geojson
world_1700.geojson, world_1783.geojson, world_1815.geojson
world_1880.geojson, world_1900.geojson, world_1914.geojson
world_1920.geojson, world_1930.geojson, world_1938.geojson
world_1945.geojson, world_1960.geojson, world_2000.geojson

Usage Examples

Basic: Europe 1914

python generate.py --year 1914 --region europe --output europe_1914.png

World map with custom palette

python generate.py --year 1600 --region world --projection mollweide --palette dark --output world_1600.png

China with custom colors

python generate.py --year 1400 --region china --palette pastel \
  --title "MING DYNASTY" --title-cn "明朝疆域" --output ming.png

Custom region (Balkans)

python generate.py --year 1815 --region 18,34,32,48 --output balkans_1815.png

With custom events timeline

Create my_events.json:

[
  {"year": "1789", "label": "Revolution", "cn": "法国大革命", "color": "#4169E1"},
  {"year": "1804", "label": "Empire", "cn": "拿破仑称帝", "color": "#2E5E2E"},
  {"year": "1815", "label": "Fall", "cn": "滑铁卢", "color": "#8B0000"}
]
python generate.py --year 1815 --events my_events.json --output napoleon.png

Custom country colors

python generate.py --year 1945 --region world \
  --title "POST-WAR WORLD" --title-cn "二战后的世界" \
  --palette vintage --output postwar.png

Parameters

Parameter Default Description
--year required Historical year (must match a GeoJSON file)
--region europe Region preset or lon_min,lat_min,lon_max,lat_max
--projection laea laea, lcc, mollweide, platecarree
--palette vintage vintage, pastel, dark, satellite
--title auto Main title (Latin/English)
--title-cn auto Chinese subtitle
--data auto-detect Path to GeoJSON file
--basemap none Path to satellite basemap image
--parchment none Path to parchment texture image
--events auto-preset Path to events JSON file
--dpi 300 Output resolution
--no-timeline false Disable bottom timeline
--no-compass false Disable compass rose
--no-postprocess false Skip vignette/noise effects
--output historical_map.png Output file path

Region Presets

Key Coverage
europe Full European continent
balkans Balkan Peninsula
world Global view
asia Asian continent
china China and surroundings
mediterranean Mediterranean basin
middle_east Middle East
americas North + South America

Color Palettes

Vintage (Default)

HOI4-inspired desaturated military colors. Ocean: dark teal. Perfect for war maps.

Pastel

Light, soft colors on off-white background. Great for educational content.

Dark

Deep navy background with gold accents. Dramatic, cinematic feel.

Satellite

Modern cartography style with clean lines. Professional and neutral.

Post-Processing Pipeline

  1. Parchment overlay — Semi-transparent parchment texture (alpha=18/255)
  2. Vignette — Edge darkening for focal point emphasis
  3. Paper grain — Subtle noise for aged paper texture
  4. Desaturation — 14% color reduction for vintage feel

Python API

from generate import HistoricalMapGenerator

gen = HistoricalMapGenerator(
    data_path='data/world_1914.geojson',
    basemap_path='textures/satellite.jpg',
    parchment_path='textures/parchment.jpg',
)

gen.generate(
    year=1914,
    region='europe',
    projection='laea',
    title='EUROPA ANNO DOMINI MCMXIV',
    title_cn='第一次世界大战前夜的欧洲',
    color_palette='vintage',
    dpi=300,
    output_path='my_map.png',
)

Data Source

historical-basemaps by @aourednik. 50+ GeoJSON time slices covering 10,000 BC to 2010 AD.

Note: Border precision varies. The BORDERPRECISION field indicates accuracy (1=high, 3=approximate). Some regions (especially Balkans) may have minor gaps between neighboring territories. For publication-quality maps, consider manually editing the GeoJSON or using commercial data.

Requirements

  • Python 3.9+
  • geopandas >= 0.14
  • matplotlib >= 3.8
  • numpy >= 1.24
  • Pillow >= 10.0
  • pyproj >= 3.6
  • shapely >= 2.0

License

MIT

Credits

Developed by Lumielle / OpenClaw Agent Data: historical-basemaps (CC BY 4.0)

安全使用建议
This skill appears to do what it says: generate vintage maps from local GeoJSON. Before installing: (1) be prepared to install system-level geospatial prerequisites (GDAL/PROJ) for geopandas; (2) supply or download the historical GeoJSON files into the data paths the tool checks (it does not automatically fetch them); (3) review any GeoJSON you load for sensitive content (the tool will read local files); and (4) run the code in a sandbox or isolated environment if you prefer, since it will read files from your home and project directories (fonts and data) but does not exfiltrate data or require credentials.
功能分析
Type: OpenClaw Skill Name: historical-map Version: 1.0.0 The historical-map skill bundle is a legitimate tool for generating vintage-style maps from GeoJSON data using standard GIS and image processing libraries (GeoPandas, Matplotlib, Pillow). The code in generate.py implements standard cartographic logic, including projections, decorative elements, and post-processing effects like vignettes and parchment overlays, without any evidence of data exfiltration, malicious execution, or prompt injection.
能力评估
Purpose & Capability
Name/description match what the files do: generate.py and the docs implement GeoJSON-based map generation, projections, palettes, and post-processing. Required Python geospatial libraries are appropriate for this functionality.
Instruction Scope
SKILL.md and generate.py limit actions to loading local GeoJSON, optional basemap/parchment images, and rendering images. The code searches expected local paths (~/.openclaw/... , ~/historical-basemaps, ./data) and font locations; it does not contain network calls, credential reads, or instructions to transmit data to remote endpoints.
Install Mechanism
Install is instruction-only (pip installs listed in SKILL.md). The listed packages (geopandas, pyproj, shapely, matplotlib, Pillow, numpy) are expected for geospatial plotting but geopandas often requires non-Python system libraries (GDAL, PROJ). Users may need to install system packages prior to pip; this is a usability note rather than a security issue.
Credentials
The skill requests no environment variables, no credentials, and no config paths beyond reading local data directories and fonts. The resources accessed are proportionate to map generation.
Persistence & Privilege
Skill does not request always:true and does not modify other skill or system configurations. It is instruction-only and will run only when invoked.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install historical-map
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /historical-map 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: vintage historical map generator with 4 projections, 4 palettes, decorative elements, post-processing pipeline, CLI and Python API, bilingual README
元数据
Slug historical-map
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Historical Map 是什么?

Generate beautiful vintage-style historical maps from GeoJSON data. Supports multiple projections, color palettes, timelines, compass roses, parchment overla... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 121 次。

如何安装 Historical Map?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install historical-map」即可一键安装,无需额外配置。

Historical Map 是免费的吗?

是的,Historical Map 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Historical Map 支持哪些平台?

Historical Map 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Historical Map?

由 muxueqingze(@muxueqingze)开发并维护,当前版本 v1.0.0。

💬 留言讨论