如何将地图矢量化
7 分钟 阅读 · 发布于 2026年8月2日 · 更新于 2026年10月2日
地图是人们日常矢量化的东西里信息最密的:发丝一样细的道路、几十种不同的填充、无处不在的小字。它回报你对源图的耐心,也产出巨大的文件——这两件事都值得开工前知道。
常见的需求是大幅面印刷——导视牌或展板,位图在上面会明显发虚——以及给一张只有图片形态的地图重新上色或改风格。
先查一查现成的矢量数据是否存在
这一步值三十秒,先做。如果地图画的是真实地点,OpenStreetMap 数据早就覆盖了,从 QGIS 导出真正的矢量数据,得到的东西和任何描摹结果不是一类:正确的拓扑、真实的属性、有意义的图层。只有当地图本身就是那件“孤本”——一张历史图幅、一幅风格化插画、一份别处没有的总平面图——描摹图片才是正确答案。
如果是这种情况,本指南剩下的部分就都用得上了。
分辨率决定一切
一像素宽的道路没有内部可供辨认。引擎寻找区域并画出边界,而一像素的线就是一条内部空无一物的边界——它要么消失,要么回来时是一根毛糙的线头。对地图描摹最有效的一件事,就是从更大的源图开始。
地图是扫描件,就用 600 dpi 而不是 300。是截图,就在高分屏上截,或者放大到细要素至少有三像素宽的缩放级别再截。多出来的像素不要钱,却决定了次要道路的存亡。
图幅大就分块转换
各套餐的像素上限以 MP 计——Free 2 MP,Lite 3 MP,Pro 及以上 5 MP——而一张 A1 图幅的 600 dpi 扫描件远超其中任何一个。超限文件虽然会在上传前被浏览器自动缩小到上限,但自动缩小恰恰会丢掉你扫描时追求的精细细节。正确做法是把图幅切成互相重叠的分块,逐块转换,再在编辑器里拼回。
分块之间保留一厘米左右的真实地图重叠区。有共同要素可以对齐,事后拼接比对齐平接缝容易得多;跨越分块边界的路径,无论如何都得手动重新接上。
图层来自颜色,所以要围绕颜色做规划
水系、绿地、建成区和道路等级通常靠填充颜色区分,而描摹结果会为每种独立颜色生成一组形状。在编辑器里按填充颜色选取,把每组各自移到一个图层,很快,也正是这一步让平面的描摹结果变成可以重新造型的东西。
源图颜色真正拉开差距时这招很好用,颜色接近时就很糟——公园和林地的两种绿只差 4% 的话,要么被合并,要么沿着边界以不可预测的方式分开。能控制源图的话,转换前先加大颜色区分度。
文件一定很大,要有目的地修剪
一张城市地图按可用分辨率描摹,节点数以万计。这不是毛病——信息确实在那里——但会让编辑器变卡、网页变慢。
修剪要有目的,而不是一刀切。海岸线简化 30% 通常看不出来;路网交叉口同样简化 30%,路网明显就断了。多数编辑器支持对选区简化,所以按图层一层层来。
分步操作
- 01
先查现成的矢量数据
地图画的是真实地点的话,通过 QGIS 用 OpenStreetMap 就能拿到带真实属性的矢量数据。只有地图本身就是“孤本”时才需要描摹。
- 02
拿到能拿到的最高分辨率
扫描件用 600 dpi。细道路至少要三像素宽,否则描摹时活不下来。
- 03
大图幅切成块
超过套餐像素上限的图幅,切成互相重叠的分块,而不是缩小了硬塞。重叠区保留一厘米左右的真实地图。
- 04
逐块转换为 SVG
上传并下载。Pro 及以上套餐可以把分块作为一次批量转换提交。
- 05
按填充颜色分图层并修剪
按颜色选取来建图层,再根据内容逐层简化——海岸线经得起简化,路网交叉口经不起。
常见毛病
- 次要道路消失了
- 它们在源图里只有一像素宽,引擎找不到任何区域。改用更高分辨率的扫描件或更大的截图。
- 两种不同颜色的区域被合并成了一块
- 两种颜色太接近,合并步骤保不住它们的区别。转换前在位图上加大颜色区分度。
- 上传因文件过大被拒绝
- 它超过了你所在套餐的像素上限——Free 2 MP,Lite 3 MP,Pro 及以上 5 MP;超限的文件会在上传前被浏览器自动缩小到上限。如果扫描件里的细要素对你重要,别依赖这个自动缩小,直接把图幅分块:重采样确实会丢失细节。
- SVG 巨大,编辑器卡得走不动
- 信息密集的地图动辄数万节点,属正常现象。按图层逐层简化——海岸线和绿地重度简化也看不出来,路网则不行。
常见问答
- 地图该描摹还是该导出矢量数据?
- 有真实数据就导出真实数据。通过 QGIS 用 OpenStreetMap 拿到的是正确拓扑和真实属性,描摹图片永远给不了这些。地图本身就是“孤本”——历史图幅、插画、一次性的总平面图——才值得描摹。
- 地图超过像素上限怎么办?
- 切成互相重叠的分块,逐块转换,再拼接回去。为塞进上限而缩小,毁掉的恰恰是让高分辨率值得一取的细道路和小字。
- 地名还能认出来吗?
- 地名会描成和原字体一样的形状,打印没问题,但不是文字。需要可搜索、可改样式的标注,就单独跑 OCR,或者手动重新排版。
- 图层的分离能自动化吗?
- 没法直接得到命名图层,但形状输出时已按颜色分组,在任何编辑器里按填充颜色选取,几步就能变成图层。源图颜色区分明显时,这招很好使。
相关指南
- 如何将蓝图和技术图纸矢量化 — 把扫描图纸和原理图转换成可编辑线稿,而不继承扫描仪带来的误差。
- 如何将传单或海报矢量化用于大幅面印刷 — 抢救一张平面设计,让它放大到 A1 以上也不发虚——并弄清哪些部分不该转换。
- 如何将图标矢量化 — 把像素图标变成干净利落、笔画统一的矢量图,从 16px favicon 到应用磁贴都能用。