站点定位与功能总览
本项目是一个基于 Astro 5+ 构建的极简高扩展性个人技术小站,集成了 Markdown 内容集合博客系统与基于 PostgreSQL / PostGIS (osmchina) 驱动的自制 GeoJSON 交互式地图体系。
一、极简博客站功能实现
- Astro 基础架构:采用最新 Astro 5+ 静态构建(SSG 模式),零臃肿配置。
- 内容集合 (Content Collections):通过
src/content.config.ts定义blog集合,结合globloader 自动加载src/blog/**/*.md文章。 - 博客专用布局:定制 BlogPostLayout.astro,提供清晰的文章头、元信息标签、优雅的正文排版及暗色自适应代码块。
- 动态路由与目录页:
/blog:自动按文章发布日期倒序排序的博客文章列表页。/blog/[...slug]:动态路由匹配并渲染对应的 Markdown 文章。
- 全局共享导航与明暗主题切换:
- Navigation.astro 贯穿全站,包含首页、博客、地图入口。
- 内置昼夜主题切换按钮,支持
localStorage本地偏好记忆与系统色彩偏好侦测。 - 配置 Shiki 双主题(亮色
github-light/ 暗色github-dark),彻底解决代码阅读对比度问题。
- 极简首页:src/pages/index.astro 纯粹简洁,提供直接直达博客和地图的导流入口。
二、OSM 数据库的使用与参考文档
- 底层数据源:本地 PostgreSQL 数据库
osmchina(容量约 33GB),基于osm2pgsql 2.3.1(slim 增量模式)将全国china-latest.osm.pbf导入生成,并融入了中国各级行政区划图层(china_provinces及map_*表)。 - 已输出的专题分析文档:
- OSM中国区数据表总体概览与结构分析:全景梳理 2.4 亿节点、千万级线面要素及空间参考系(EPSG:3857 与 EPSG:4326)。
- OSM数据表字段详解与应用方向:详解
amenity、highway、building、hstore扩展标签等核心字段含义与业务场景。 - 基于 osmchina 数据库的综合业务应用场景实践:实战演练行政区要素空间聚合、15分钟生活圈评估、动态 MVT 矢量切片与生态红线相交检测。
- 在 osmchina 数据库中高效查询国道与骨干路网的实战技巧:总结国道 Superroute 关系拓扑、精确定位技巧与沿途行政区空间相交提取方案。
三、自制地图体系与“零代码”动态路由架构
- GeoJSON 内容集合:在
src/content.config.ts中配置map集合,指向src/map/**/*.json,支持name、description、category、tags、updated_at等元数据校验。 - 地图专属双 Tab 布局 (MapLayout.astro):
- 地图视图 Tab (
slot="map"):100% 填满视口容器,无多余边距干扰,充分释放屏幕空间用于地图漫游交互。 - 数据属性 Tab (
slot="data"):独立滚动面板,展示图层统计、业务说明与各要素明细属性表格。
- 地图视图 Tab (
- 高性能 ECharts 地图渲染组件 (GeoJsonMap.astro):
- 支持多边形底图 + 矢量线路(Lines)混合分层渲染与高亮光晕效果。
- 深度联动全站明暗模式,切换主题时无需刷新自动响应调整色盘。
- 零代码(Zero-Code)通用动态路由机制:
- 目录页 src/pages/map/index.astro 与详情页 src/pages/map/[…slug].astro 实现完全通用化。
- 后端 Python 脚本生成新的 GeoJSON 时自动注入顶层元数据;前端无需编写或修改任何一行代码,即可自动完成目录索引、路径路由与多视图渲染。
- 已落地的特色专题地图案例:
- 成都市区县行政区划 (
/map/chengdu-districts):成都 20 个区县级边界多边形底图。 - 成都市地铁线路网络 (
/map/chengdu-metro):提取缝合全部 17 条地铁/市域铁路线网,带官方代表色与里程。 - 成都市区县与地铁网络综合图 (
/map/chengdu-metro-and-districts):区县底图与全网地铁线的多图层叠加。 - 318国道沿线市级城市地图 (
/map/g318-cities):精准提取 318 国道(沪聂线)全线 7,200+ 公里及沿线穿过的 30 个地级市/州。 - 318国道沿线区县级行政区地图 (
/map/g318-counties):横跨上海至西藏边陲的 96 个区县精细脉络底图。
- 成都市区县行政区划 (