AI PLAY玩法更新持续收录
← 回到更新流

2026-09-01 · 原文发布日

GeoJSON贴上图层实时预览成地图

这个在线查看器把Feature、FeatureCollection或Geometry粘贴进编辑器,直接叠到OpenStreetMap上;每个图形编号、可单独删改,填充色与透明度即时生效,后加图层盖在前面,适合做边界核对并导出PNG。作者还提到可用聊天模型从政府数据源拼出所需边界。

原文要点

Simon Willison发布了一个在线GeoJSON地图查看器:把Feature、FeatureCollection或Geometry粘贴进编辑器即可渲染到OpenStreetMap底图上,可调填充色与透明度且即时生效;每个图形有编号、可单独删除,后加的图形盖在前面;作者用它叠加展示两个地方行政边界并导出PNG。他还提到直接让ChatGPT从政府数据源抽取、合并文件生成所需边界GeoJSON,并用两句话式请求分别拿到了El Granada GCSD与Midcoast Community Council的边界。

这次做成什么

学会用该查看器叠加核对多份边界GeoJSON并导出PNG,同时掌握一套向聊天模型索取行政区划边界的提问方式,拿到结果后立即在地图上验证形状是否合理。

准备什么

  • 可访问该在线查看器与OpenStreetMap瓦片的网络环境
  • 一段GeoJSON文本(Feature、FeatureCollection或Geometry之一),或用聊天模型现生成
  • 如要向模型要边界,需要一个能联网检索政府数据源的聊天模型账号

具体怎么做

  1. 准备或生成边界GeoJSON

    若手头没有数据,打开聊天模型,用下方提示词点名具体行政区全称,要求输出纯GeoJSON(FeatureCollection,坐标为WGS84经纬度,即[经度,纬度]顺序)。把模型返回的代码块完整复制,先用JSON校验工具确认能解析,避免粘贴后因格式问题无法渲染。

  2. 粘贴渲染第一个图形

    打开查看器,把第一段GeoJSON粘进编辑器,选一个填充色(如红色)并把透明度调到0.3左右,渲染后图形立即出现在OpenStreetMap上并带有编号1。缩放到图形范围,核对它覆盖的城市、海岸线或公路是否与已知地名吻合。

  3. 叠加第二份并核对重叠

    不清空编辑器,直接追加第二份GeoJSON(换对比色如蓝色)。新图形编号为2并画在1之上,透明度建议更低(如0.2),这样两区交界处会显出叠色,方便确认边界是否相接、重叠或有缺口。

  4. 微调样式并单独删除错误图形

    每个图形可单独改色、改透明度或删除。若某份边界明显跑偏(常见原因是坐标顺序反了成[纬度,经度],图形会飞到地球另一边),删掉该编号图形,修正坐标顺序后重新粘贴。

  5. 导出PNG存档

    把视图缩放到能同时容纳全部图形的位置,用查看器的导出功能保存PNG(作者即为此需求做了该工具)。导出的图片适合贴进报告或发给同事核对边界;导出前先确认全部图形都落在当前视图内,避免边缘图形被裁掉。

可直接复制的材料

向聊天模型索取边界的提示词

参照作者两句式请求改写的本站版本,方括号处替换为你的区名;模型产出务必自行在地图上核对,不能当作法定边界

请给我【在此填行政区全称,含州/省与国家】的精确行政边界,输出为一个GeoJSON FeatureCollection:只含一个Polygon或MultiPolygon的Feature,坐标使用WGS84经纬度([经度,纬度]顺序),properties里加name字段写该区名称。请从公开政府或官方地理数据源抽取并合并,不要简化到失去形状,不要输出除GeoJSON以外的解释文字。如果该区由多块不相邻区域组成,请用MultiPolygon。

练习用合成GeoJSON(两个相邻小区)

本站虚构的两个相邻矩形,位于北京西北郊外,仅用于练习叠加与调透明度,不代表任何真实行政区

{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"示例东区"},"geometry":{"type":"Polygon","coordinates":[[[116.30,39.95],[116.36,39.95],[116.36,39.99],[116.30,39.99],[116.30,39.95]]]}},{"type":"Feature","properties":{"name":"示例西区"},"geometry":{"type":"Polygon","coordinates":[[[116.24,39.95],[116.30,39.95],[116.30,39.99],[116.24,39.99],[116.24,39.95]]]}}]}

输入与输出示例

本站虚构演示,未在原工具实际运行

输入

把上面合成GeoJSON整体粘贴进编辑器,填充色设为#e74c3c、透明度0.35渲染

对应输出

地图上在北京西北郊出现一个半透明红色矩形,编号1;再追加一份仅含“示例西区”的FeatureCollection(蓝色、透明度0.25)后,编号2的蓝矩形紧贴红矩形西侧,两区共用经度116.30的边,交界处无重叠无缝隙

做完检查这些

  • 粘贴非法JSON时先经校验工具解析通过再放入查看器,页面能正常渲染编号1
  • 追加第二份后编号递增且新图形压在旧图形之上,调低透明度能看到下层
  • 导出的PNG包含当前视图内全部图形且颜色与屏幕一致
  • 坐标顺序写反的图形会被识别并删除后重贴

容易卡住的地方

  • GeoJSON坐标是[经度,纬度],与日常“先纬后经”相反,反了图形会落到海洋或对面半球
  • 模型生成的边界可能来自过期或非官方数据,只能用于演示核对,不能作法律依据
  • FeatureCollection过大(数万顶点)粘贴后渲染可能卡顿,先简化再贴
  • 导出PNG前先把全部图形纳入当前视图并调好缩放级别,避免边缘图形被裁掉或图片构图不合适

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
GeoJSON Map Viewer
原作者
Simon Willison
原始发布日期
2026-09-01
来源
https://simonwillison.net/2026/Sep/1/geojson/