SVG(二维矢量图形开放标准格式)
2026年08月10日 09:18

GISBox是一站式三维 GIS 数据编辑、转换、发布平台,支持 OSGB/GEOTIFF/RVT 等多种 GIS 格式编辑,转换为 3DTiles/Terrain 等并发布。

简介

SVG的中文全称为可缩放矢量图形,它是由W3C万维网联盟制定并维护的、基于XML的开放标准二维矢量图形置标语言,使用数学公式而非像素点阵来描述图形,能够实现任意尺寸无损缩放,文件体积通常远小于同等效果的JPEG、GIF等位图格式。它作为纯文本的XML文件,可直接用普通文本编辑器编辑修改,还能无缝对接CSS、JavaScript实现丰富的动画、交互效果,支持嵌入HTML网页,目前所有现代浏览器都对其提供原生支持,被广泛应用于网页图标、数据可视化、GIS地图、UI设计、矢量动画等多个场景。

Snipaste_2026-08-10_10-39-55.jpg

文件结构

SVG文件本质是纯文本格式的XML文档,完整的文件结构可分为以下核心部分:

  1. XML声明(可选):用于指定文件的XML版本和编码格式,在HTML中内嵌SVG时通常可以省略。
  2. 根元素<svg>:是整个SVG图像的容器,必须声明XML命名空间,可设置宽高、viewBox等核心属性定义绘图区域。
  3. 元信息元素:包含<title>和<desc>,分别用于设置图像标题和详细描述,提升可访问性。
  4. 定义区<defs>:用于存放可复用的图形资源,不会直接渲染,支持定义渐变、滤镜、裁剪路径、可复用图标等内容。
  5. 可渲染图形元素:是SVG的核心绘图部分,包含矩形、圆形、路径、文本等各类基础图形,直接在画布上显示。
  6. 辅助功能元素:包含<style>、<script>、<g>等,分别用于嵌入CSS样式、JavaScript交互脚本,以及对图形元素进行分组管理。

优点

  1. 无损缩放:作为矢量格式,任意放大缩小都不会出现像素模糊,适配不同分辨率的显示设备。
  2. 文件体积小:简单图形仅用数学公式描述,无需存储像素数据,比同效果的PNG/JPG体积更小。
  3. 可编辑可搜索:基于XML纯文本结构,用普通文本编辑器就能修改图形属性,内容可被搜索引擎索引。
  4. 交互与动画支持:可结合CSS、JavaScript、SMIL实现动态效果,支持事件响应,适合制作交互式地图、动态图表。
  5. 跨平台兼容:作为W3C开放标准,所有现代浏览器、主流操作系统都能原生支持,无需额外插件。
  6. 支持丰富特效:内置渐变、阴影、透明通道、滤镜等效果,无需借助外部软件就能实现复杂视觉表现。

缺点

  1. 复杂图形性能差:包含大量路径、节点的复杂图形,渲染时会占用大量资源,容易出现页面卡顿。
  2. 不适合摄影类图像:矢量描述逻辑无法高效处理照片这类细节丰富的光栅图像,嵌入位图后优势会大幅削弱。
  3. 复杂图形体积膨胀:图形元素过多时,文本格式的文件体积会快速增大,加载速度变慢。
  4. 存在安全风险:支持嵌入JavaScript代码,恶意文件可能携带跨站脚本攻击,用户上传场景需额外校验。
  5. 旧环境兼容性差:老旧版本的IE浏览器对SVG的支持不完整,部分特殊效果无法正常显示。
  6. 像素级控制不足:基于矢量逻辑,无法像位图那样精准控制单个像素,不适合精细的像素级图像编辑。

应用场景

SVG的应用场景覆盖了网页开发、数据可视化、GIS地图、UI设计等多个领域,在WebGIS和数据可视化领域,它常和D3.js结合实现高精度、高交互性的中小规模地图可视化,支持点击弹窗、悬停高亮、动态tooltip等丰富交互,也能作为自定义图标格式在GeoServer、ArcGIS Pro等GIS软件中制作统一的地图标识系统,还可用于时态GIS数据的存储与动态解析,提升时空数据的管理效率。在通用场景中,它被广泛用于网页矢量图标、可缩放矢量插画、动态数据图表、响应式UI界面元素,还能通过CSS和JavaScript实现轻量动画效果,适配任意分辨率的显示设备,同时凭借纯文本的开放特性,也常被用于无障碍网页内容制作,方便屏幕阅读器识别图形中的文本信息。

示例图

1. 基础SVG形状,包含矩形、圆形、椭圆、线条、折线和多边形元素。

Snipaste_2026-08-10_09-34-43.jpg

2. SVG动画示例。

Snipaste_2026-08-10_10-05-38.jpg

文件打开方式

1. 用Pixso打开SVG文件。

Snipaste_2026-08-10_10-33-27.jpg

相关 GIS 文件

MID

IMDF

STYLX

OpenDRIVE (.xodr)

参考资料

  1. https://elysiatools.com/zh/samples/svg-samples
  2. https://www.cnblogs.com/lhb25/p/15-awesome-svg-examples.html
  3. https://pixso.cn/designskills/what-software-is-used-to-open-svg/