创建地图与空间规划
核心目标
让用户依靠空间关系做出正确判断或行动。空间事实、分析、制图样式和产品界面分别由合适工具承担, 再通过同一数据与视觉语言组合;手绘折线不能替代路网,专业地图也不能嵌进另一套随意 UI。
按以下顺序工作:
空间任务 → 来源与空间模型 → 分析/路网工具 → 制图母版与 Style
→ 产品视觉系统 → 代表地图 → Web/印刷等终态
本 Skill 拥有空间数据、网络、分析、制图和介质派生。最终由浏览器消费时,与
$build-polished-visual-frontends 组合;它负责产品外壳、控件和 Web 工程,本 Skill 继续拥有地图
source、layer、style、路线和空间 claim。通用渲染、review 与交付沿用 $visual-artifact-design。
1. 先确认任务真由空间关系驱动
只选一个主子型,其他子型作为依赖:
| 主子型 | 用户依赖的空间真相 |
|---|---|
| 定位与参考 | 范围、位置、方向、地名层级与参照物 |
| 导航与路线 | 合法起终点、连续有向网络、连接、成本和限制 |
| 专题与分区 | 区域几何、量纲、分类、缺失、时间和来源 |
| 服务区与空间分析 | 网络或空间方法、成本、阈值、阻隔、孔洞和边界 |
| 场地与规划 | 边界、单位、现状/方案、尺寸、流线、限制和版本 |
| 楼层与室内 | 本地坐标、楼层、门/走廊、跨层连接和观察方向 |
去掉真实位置、邻接、方向、范围或可达性后任务仍成立,转技术图;主要比较数值、排名或趋势,转数据 可视化;持续搜索、编辑和调度对象时,产品 Skill 拥有工作流,本 Skill 只拥有空间引擎和地图真相。
先记录:world_state: observed | proposed | simulated、空间模型、范围、单位、消费者、媒介、数据日期、
允许结论和最危险误读。公共导航、无障碍、安全、疏散、施工、产权、测量或合规要求必须明确证据
边界;作者自检不能替代现场或合格专业判断。
2. 分开空间事实、分析、制图与界面
每项职责只有一个主要负责人:
来源与观测 → 空间要素/CRS/单位 → 网络与分析 → 制图 Style
↓
Web、PDF、印刷或标牌布局
坐标、几何、路线、服务区、距离和分类从上游母版单向派生。HTML、SVG、Canvas、截图和手写文案不能 反向创造空间事实;显示层不得移动入口、拉直路线、补画连接或重写距离来获得更漂亮的构图。
来源、许可、CRS、参数、hash、算法验证和工具比较属于内部 evidence。最终地图只显示用户理解和行动 所需的来源日期、方法、单位、限制与未知,并贴近受影响图层、路线或结论;详细审计按需展开,不做成 侧栏卡片墙、巨幅横幅或重复告示。
3. 按职责选择专业工具
先选择空间/分析工具,再选择制图母版和成熟 Style,最后选择产品视觉系统。地图渲染器并不自动 提供好看的地图,组件库也不能决定道路层级、标签、图例和服务区表达。
| 职责与约束 | 优先考察 |
|---|---|
| Web 矢量地图、缩放、图层、相机和要素状态 | MapLibre GL JS |
| 复杂投影、多源 GIS 与编辑 | OpenLayers;简单小型地图才考虑 Leaflet |
| 成熟地图视觉起点 | 经许可的 MapTiler/CARTO/组织 Style;离线时固定并本地化 Style、sprite、glyph 和数据 |
| 大规模点、弧线、热区或 GPU 空间叠加 | deck.gl,只有数据量和图层需求成立时 |
| 离线瓦片分发 | PMTiles 或项目已有受控瓦片方案 |
| CRS、几何处理、空间连接和自动 QA | GDAL、GeoPandas/Shapely 或现有 GIS 管线 |
| 有限冻结路网和可审计路线 | OSMnx/NetworkX 或项目已有图网络;真实使用有向 edge 与 cost |
| 持久空间数据库和路网服务 | PostGIS + pgRouting,或经验证的专用路由引擎 |
| 专业印刷地图、地图册和固定版 | QGIS Print Layout;组织生态要求时使用 ArcGIS Pro |
| 建筑、楼层和场地权威母版 | 现有 BIM/CAD/GIS 工程及相应专业工具 |
Turf 适合经验证的几何变换、buffer、测量和空间谓词,但不能把障碍栅格最短路或直线计算冒充给定 街道网络上的合法路线。路线必须由真实图网络或相应路由引擎计算,并保留 ordered edge、方向、限制、 connector 和 cost。
工具选择基于真实数据模型、任务能力、视觉和主题能力、离线、许可、性能、导出及当前环境。查看 真实样张(环境提供本地 visual catalog 时以其图版为准,可联网时看官方样张)并运行包含最难状态 的最小示例。选定工具后使用其 source、layer、style、feature-state、CRS、 network、layout 和 export 原语;只创建一个 Map 实例再用 DOM/SVG 重画主要空间对象,不算原生采用。
4. 先建立空间模型和可复算分析
- 明确 geographic、projected、local planar、topological 或 indoor multilevel;
- 记录 CRS、轴序、单位、本地原点、精度、时间和版本;
- 检查空几何、自交、多部件、重叠、孔洞、方向、连接、楼层和阻隔;
- 路线从合法 connector 进入有向网络,保存 ordered edge、成本、限制和显示 segment;
- 服务区明确是网络、欧氏、行政、插值还是其他方法,不能用圆冒充网络可达;
- 专题图记录指标、分母、缺失、分类方法、时间和空间单元;
- observed、proposed、simulated 保持不同状态,不让方案覆盖现状母版。
“展示提供的路线”“计算路线”“最短/最快/最优”和“无障碍可达”是不同强度的结论。后一项需要路径级 属性、当前来源以及必要的现场/专业 coverage;缺少证据时只写未知或待确认。
5. 先选择制图视觉系统
从真实生产地图或成熟 Style 提取一份制图合同:
范围与相机 / 背景地理层级 / 道路和边界层级 / 标签字体与优先级
主路线或主区域 / 次要上下文 / 风险与未知 / 图例、比例和方向 / 交互状态
Web 产品的按钮、筛选、弹层和列表另由一套成熟设计系统负责,再把其字体、强调色、中性色、焦点和 控件密度映射到地图合同。地图 Style 保留专业图层语法,但不能与外围 UI 形成第二套字体、青绿色细框、 胶囊状态和任意圆角。
颜色职责要少而稳定。主任务对象最强,关键阻隔、风险和未知使用专门语义;普通区域和备选路线不 争夺饱和色。颜色之外用线型、宽度、形状、纹理和直接标签冗余。图例只解释用户无法直接理解的符号。
每条线、色带、边框、背景场和图标外框都必须编码边界、路线、状态、尺度、选择或真实空间分组; 装饰色条和“地图感”界面镀层没有制图职责。CSS 只承担地图外壳的布局、必要分隔、真实状态反馈与 图像裁切,不用渐变或伪元素伪造地形、路线或精致资产。
6. 先完成决定成败的代表地图
先制作一个包含真实数据或明确模拟状态的代表终态,覆盖:
- 用户打开后需要定位的范围和主要对象;
- 典型和最高标签密度;
- 主要路线、服务区、分区或规划关系;
- 阻隔、断网、缺失、未知或不可路由状态;
- 最小与最大目标尺度,以及每种额外媒介的关键片段。
地图应占据与任务相称的主要空间。先检查范围、层级、标签、路线/区域、决策点和风险语义;不成立时 调整地图 Style、相机或布局,不用额外卡片、说明条、装饰地标和小字掩盖。方向稳定后再扩展图层、 筛选、路线、响应式和印刷版本。
公开页面若以空间图像建立开场,只在承担定位或世界建立职责的页面族使用;进入主要地图后,以同源 制图语言、标签和交互延续身份,不重复铺大背景或叠半透明说明板。
7. Web 与印刷分别派生
Web
- 图层、筛选、路线、楼层、时间和选择状态同步更新地图、图例、文字和导出;
- 地图控件使用专业引擎或成熟设计系统,保留真实键盘、触摸和焦点行为;
- 离线合同检查 Style、sprite、glyph、字体、GeoJSON/瓦片、worker 和所有网络请求;
- 合同环境变化时恢复当前位置、主要对象和下一动作,不把原有侧栏机械压到地图下方。
Static / Print / Installation
- 从空间和制图母版派生,不以网页截图代替专业固定版;
- 独立包含必要标题、图例、方向、比例尺或“不按比例”、来源日期、单位、假设和限制;
- 检查真实纸张尺寸、地图框、比例、字体、矢量、裁切、MediaBox 和必要物理样张;
- 安装地图还需考虑安装点、高度、视距、环境光和现场方向。
8. 完成检查
- 空间事实、分析、制图和界面各有清楚的专业 owner,并从同一来源派生;
- 专业地图引擎、分析工具、成熟 Style 和产品视觉系统均真实采用,没有手写第二套地图;
- 主要路线、区域、阻隔、标签和图例在目标尺度中可读且不会误导;
- 缺失、未知、不可路由和高风险结论得到与风险相称的处理;
- 每种媒介在自己的最终消费者中验证,Web 通过不能替代 A3、标牌或 GIS/BIM 工程;
- 没有独立 reviewer 时只标记
SELF_REVIEW_ONLY,不声称空间、视觉、现场或合规获外部通过。
需要空间模型、路线、服务区和制图细则时读取 领域模式;需要比较工具能力时 读取 工具能力档案,只加载当前任务相关章节。