GeoJSON 转 SVG 地图
生成器所有处理都在浏览器本地完成,数据不上传服务器
把 GeoJSON 粘进来,立刻画成一张 SVG 地图,可以复制源码或下载 `.svg`。支持 Point / LineString / Polygon 以及它们的 Multi 形式,也接受 Feature、FeatureCollection 与 GeometryCollection。坐标是 `[经度, 纬度]`。 ⚠️ 纬度的 y 轴翻过来了。纬度向北变大,而 SVG 的 y 向下变大 —— 不翻的话整张地图上下颠倒,而它看起来仍然「像一张地图」(海洋还是海洋),所以这个错很难靠肉眼发现。这里一律翻过来,北半球的点落在画面上方。 三种投影:等距圆柱(最简单,高纬度会横向拉长)、墨卡托(网页地图用的那个,局部形状对了但高纬度失真)、直接用经纬度(非等比缩放,把画布填满,会拉伸)。 ⚠️ 坐标点有上限。一份高精度国界 GeoJSON 能有几十万个点,全画出来会把标签页卡死,而它不报错、只是越来越慢。所以超过阈值直接报错说明,而不是硬撑着算。 图下方会给出要素数、坐标点数与包围盒 —— 数据对不对,看一眼包围盒就知道。
功能
- 粘贴 GeoJSON,实时画成 SVG 地图
- 支持 Point / LineString / Polygon 与它们的 Multi 形式
- Feature、FeatureCollection、GeometryCollection 都认
- ⚠️ 纬度 y 轴翻转,北半球在上(不翻会上下颠倒,而它看起来仍像地图)
- 三种投影:等距圆柱 / 墨卡托 / 直接用经纬度
- 描边色、填充色、线宽可调;可显示顶点与经纬网格
- 给出要素数、坐标点数与包围盒
- ⚠️ 坐标点超过上限时报错说明,不会卡死标签页
- 可复制 SVG 源码或下载 .svg
- 全部在浏览器本地完成,不上传任何内容
使用方法
- 把 GeoJSON 粘进输入框
- 选投影,按需要改颜色、线宽
- 勾选顶点或经纬网格
- 看预览与下方的要素数、包围盒;复制源码或下载 .svg
常见问题
- 为什么地图要上下翻转 y 轴?
- 因为纬度向北变大,而 SVG 的 y 向下变大,两者方向相反。不翻的话整张地图会上下颠倒 —— 而它看起来仍然像一张地图(海洋还是海洋、陆地还是陆地),所以这个错误很难靠肉眼发现。这里的做法是把投影后的 y 取负,北半球的点自然落在画面上方。
- 墨卡托和等距圆柱有什么区别?
- 等距圆柱直接拿经纬度当平面坐标(`x = 经度`、`y = -纬度`),最简单,但纬度高时横向被拉长(格陵兰会显得巨大)。墨卡托对纬度做了非线性变换(`y = ln(tan(π/4 + φ/2))`),局部形状更对 —— 网页地图用它就是因为这一点 —— 但同样有高纬度失真,且纬度要夹到 ±85.0511°(再往上会趋于无穷)。范围小的图两者差别看不出来。
- 为什么我的 GeoJSON 报「坐标点太多」?
- 因为它超过了两万个坐标点。一份高精度的国界或海岸线数据动辄几十万个点,全画成 `<path>` 会把标签页卡死 —— 而它不报错,只是越用越慢,很难查。所以这里设了一个上限,超过就明确报错,让你先简化几何(比如用 mapshaper 之类的工具降精度)再试。
- 出来的图能直接当图片用吗?
- 能。复制的是带 `xmlns` 的完整 SVG,可以存成 `.svg` 文件、插进网页,或拖进 Illustrator / Figma 继续改。它是矢量的,放大不糊。
相关工具
SVG 编辑预览
图像左边写 SVG 代码、右边实时预览,可切换棋盘格/深浅背景看透明度,并自动检查 xmlns、viewBox、外部资源等常见问题。代码不会进页面。
图表生成
生成器粘贴「标签,数值」两列数据,生成饼图、柱状图、折线图、散点图或雷达图,实时预览并导出 SVG 源码。
在线思维导图
生成器左边写缩进大纲,右边实时生成思维导图。可左右分叉或只向右,能导出 SVG。全部在浏览器本地完成,不上传任何内容。
UUID 生成
生成器一次生成一整列 UUID v4、v7、ULID、NanoID 或 MongoDB ObjectId,每行一条,可直接粘进表格或脚本。随机数取自浏览器加密接口,不联网、不记录。
占位文本
生成器生成占位文本,可选拉丁文 Lorem ipsum、英文句子、中文或日文填充句,按段落、句子或单词输出。全部在浏览器本地生成,不联网。
模拟数据
生成器按「字段名:类型」写几行字段,就能得到一整批格式逼真的模拟数据,可导出 JSON、CSV、TSV、SQL、XML、YAML 或 TOML。