2026-03-30 16:44:54 +08:00
|
|
|
|
# Novel-Map
|
|
|
|
|
|
|
2026-03-30 19:15:41 +08:00
|
|
|
|
小说地图制作。
|
|
|
|
|
|
|
|
|
|
|
|
## Content
|
|
|
|
|
|
|
|
|
|
|
|
存放大唐双龙传小说内容。
|
|
|
|
|
|
|
|
|
|
|
|
## data
|
|
|
|
|
|
|
|
|
|
|
|
存放小说地理信息数据。
|
|
|
|
|
|
|
|
|
|
|
|
## frontend
|
|
|
|
|
|
|
|
|
|
|
|
存放前端代码。
|
|
|
|
|
|
|
|
|
|
|
|
## 技术路线设计
|
|
|
|
|
|
|
|
|
|
|
|
1. 数据提取层(最关键的一步)
|
|
|
|
|
|
|
|
|
|
|
|
问题:500万字远超上下文,需要分批处理。
|
|
|
|
|
|
|
|
|
|
|
|
方案:用 AI 逐卷/逐章提取结构化数据,输出 JSON:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 每章输出一个这样的结构
|
|
|
|
|
|
{
|
|
|
|
|
|
"chapter": "卷01-第01章",
|
|
|
|
|
|
"locations": [
|
|
|
|
|
|
{ "name": "扬州", "aliases": ["江都"], "type": "city", "lat": 32.39, "lng": 119.43 }
|
|
|
|
|
|
],
|
|
|
|
|
|
"factions": [
|
|
|
|
|
|
{ "name": "宇文阀", "type": "门阀", "territory": ["长安"], "key_figures": ["宇文化及","宇文伤"] }
|
|
|
|
|
|
],
|
|
|
|
|
|
"events": [
|
|
|
|
|
|
{ "description": "宇文化及率五牙大舰沿运河南下扬州夺《长生诀》",
|
|
|
|
|
|
"from": "运河", "to": "扬州", "characters": ["宇文化及","张士和"] }
|
|
|
|
|
|
],
|
|
|
|
|
|
"character_movements": [
|
|
|
|
|
|
{ "character": "寇仲", "location": "扬州城东废园" },
|
|
|
|
|
|
{ "character": "焦邪", "location": "扬州城外北郊" }
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
2. 地理编码层
|
|
|
|
|
|
|
|
|
|
|
|
建一个 地名→坐标 的映射表(隋唐古地名 → 现代经纬度)
|
|
|
|
|
|
仅第一章就涉及:扬州、长江、运河、丹阳、长安等
|
|
|
|
|
|
古今地名有差异(如"江都"="扬州"),需要一个 alias 映射
|
|
|
|
|
|
|
|
|
|
|
|
3. 可视化层(前端渲染)
|
|
|
|
|
|
推荐技术栈:
|
|
|
|
|
|
|
|
|
|
|
|
组件 技术 理由
|
|
|
|
|
|
底图 Leaflet + 古风地图瓦片 轻量、开源、可自定义底图样式
|
|
|
|
|
|
势力范围 GeoJSON 多边形 + 颜色编码 每个势力一种颜色
|
|
|
|
|
|
人物轨迹 Polyline + 动画标记 可做成带方向箭头的路线
|
|
|
|
|
|
时间轴 自定义 slider 或 noUiSlider 拖动时间轴看势力演变
|
|
|
|
|
|
数据格式 JSON 文件按章节组织 前端直接 fetch
|
|
|
|
|
|
|
|
|
|
|
|
4. 分步实施计划
|
|
|
|
|
|
|
|
|
|
|
|
Phase 1 (静态地图 - 前5卷)
|
|
|
|
|
|
├── Step 1: 逐章提取地名/势力/事件 → JSON
|
|
|
|
|
|
├── Step 2: 建立古地名坐标库
|
|
|
|
|
|
├── Step 3: Leaflet 静态地图 + 势力标注 + 人物位置
|
|
|
|
|
|
└── Step 4: HTML 单文件,可直接浏览器打开
|
|
|
|
|
|
|
|
|
|
|
|
Phase 2 (动态演化)
|
|
|
|
|
|
├── 时间轴控件,按章节/卷切换
|
|
|
|
|
|
├── 势力范围随时间变化(多边形动画)
|
|
|
|
|
|
└── 人物移动路线动画
|
|
|
|
|
|
|
|
|
|
|
|
Phase 3 (全书覆盖)
|
|
|
|
|
|
└── 批量处理剩余58卷
|