返回顶部
h

historical-map

Generate beautiful vintage-style historical maps from GeoJSON data. Supports multiple projections, color palettes, timelines, compass roses, parchment overlays, and vignette effects. Perfect for history blogs, videos, articles, and educational content.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
72
下载量
0
收藏
概述
安装方式
版本历史

historical-map

# Historical Map Generator Generate beautiful vintage-style historical maps from GeoJSON data. ## Quick Start ```bash # 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 ```bash python generate.py --year 1914 --region europe --output europe_1914.png ``` ### World map with custom palette ```bash python generate.py --year 1600 --region world --projection mollweide --palette dark --output world_1600.png ``` ### China with custom colors ```bash python generate.py --year 1400 --region china --palette pastel \ --title "MING DYNASTY" --title-cn "明朝疆域" --output ming.png ``` ### Custom region (Balkans) ```bash python generate.py --year 1815 --region 18,34,32,48 --output balkans_1815.png ``` ### With custom events timeline Create `my_events.json`: ```json [ {"year": "1789", "label": "Revolution", "cn": "法国大革命", "color": "#4169E1"}, {"year": "1804", "label": "Empire", "cn": "拿破仑称帝", "color": "#2E5E2E"}, {"year": "1815", "label": "Fall", "cn": "滑铁卢", "color": "#8B0000"} ] ``` ```bash python generate.py --year 1815 --events my_events.json --output napoleon.png ``` ### Custom country colors ```bash 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 ```python 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](https://github.com/aourednik/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](https://github.com/muxueqingze) / OpenClaw Agent Data: [historical-basemaps](https://github.com/aourednik/historical-basemaps) (CC BY 4.0)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 historical-map-1775958014 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 historical-map-1775958014 技能

通过命令行安装

skillhub install historical-map-1775958014

下载 Zip 包

⬇ 下载 historical-map v1.0.0

文件大小: 14.64 KB | 发布时间: 2026-4-13 10:33

v1.0.0 最新 2026-4-13 10:33
Initial release: vintage historical map generator with 4 projections, 4 palettes, decorative elements, post-processing pipeline, CLI and Python API, bilingual README

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部