返回表示几何值的 SVG 图形。
geometry-expression.ST_AsSVG([ format])
名称 | 类型 | 说明 |
---|---|---|
format |
VARCHAR(128) |
定义将 geometry-expression 转换为 SVG 表示时使用的参数的字符串。如果未指定,缺省值是 'SVG'。 |
LONG VARCHAR 返回呈现 geometry-expression 的完整或部分 SVG 文档。
ST_AsSVG 方法返回可用于使用 SVG 查看器以图形方式显示几何的完整或部分 SVG 文档。大多数主要 Web 浏览器(不包括 Microsoft Internet Explorer)都包括内置的 SVG 查看器。
支持许多不同选项,使用可选 format 参数选择所需格式。如果未指定 format 参数,缺省值是 'SVG'。
格式字符串定义输出格式和格式参数。格式字符串具有以下格式之一:
format-name |
format-name(parameter1=value1;parameter2=value2;...) |
parameter1=value1;parameter2=value2;... |
第一种格式指定格式名称,但不指定格式参数。所有格式参数均使用缺省值。第二种格式指定格式名称以及指定参数值列表。未提供参数值的参数使用缺省值。最后一种格式仅指定参数值,格式名称缺省为 'SVG'。
可能使用以下格式名称:
SVG 由万维网联盟(World Wide Web Consortium,简称 W3C)定义的可缩放矢量图形(Scalable Vector Graphics,简称 SVG)1.1 格式。
可以指定以下格式参数:
格式名称 | 参数名称 | 缺省值 | 允许值 | 说明 |
---|---|---|---|---|
SVG | Approximate | Yes | Yes 或 No | Approximate 参数可指定是否通过略微减少显示的详细信息来减小输出 SVG 文档的大小。可通过不包含位于最后一个点的线宽范围内的点来计算 SVG 数据的近似值。在几何多达几兆字节时使用此参数会获得 80% 或以上的压缩率。 |
SVG | Attribute | 自动生成的可选属性 | 可应用于 SVG 形状元素的一个或多个 SVG 属性 | 缺省情况下会生成 fill、stroke 和 stroke-width 等可选 SVG 形状属性。如果已指定 Attribute 参数,则不生成任何可选 SVG 形状属性,而是使用 Attribute 值。如果指定了 PathDataOnly=Yes,则此参数将被忽略。 |
SVG | DecimalDigits | 基于空间参照系的 "捕捉到网格" 网格大小中的小数位数。最大缺省值为 5,最小缺省值为 0。 | integer | DecimalDigits 参数可限制在 SVG 输出中生成的坐标的小数点后面的位数。将位数指定为负值表示 SVG 输出应包含坐标的完整精度。 |
SVG | PathDataOnly | No(生成完整的 SVG 文档) | Yes 或 No | PathDataOnly 参数可指定是否应只生成 SVG 路径元素的数据。下面的 PathDataOnly 示例中演示了如何使用 PathDataOnly=Yes 建立可以显示的完整 SVG 文档。缺省情况下会生成一个完整的 SVG 文档。由 PathDataOnly=Yes 返回的路径数据可用于构建更加灵活且包含其它元素(如文本)的 SVG 文档。 |
SVG | RandomFill | Yes | Yes 或 No | RandomFill 参数可指定是否应使用随机生成的颜色填充多边形。使用颜色时不遵循明确定义的顺序,且通常在每次生成 SVG 输出时发生变化。No 表示只绘制每个多边形的轮廓。如果指定了 Attribute 或 PathDataOnly=Yes 参数,则将忽略 RandomFill 参数。 |
SVG | Relative | Yes | Yes 或 No | Relative 参数可指定坐标应以相对(偏移)格式输出还是绝对格式输出。相对坐标数据通常比绝对坐标数据更精简。 |
缺省情况下,如果几何的原始格式可用,ST_AsSVG 将使用该格式。否则使用内部格式。有关内部和原始格式的详细信息,请参见STORAGE FORMAT 子句,CREATE SPATIAL REFERENCE SYSTEM 语句。
SQL/MM (ISO/IEC 13249-3: 2006) 服务商扩充
以下示例返回多边形以随机颜色填充的完整 SVG 文档。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 0 20, 60 10, 0 0 ))' ) .ST_AsSVG() |
以下示例返回具有多边形轮廓并将坐标限制到小数点后 3 位数的完整 SVG 文档。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 0 20, 60 10, 0 0 ))' ) .ST_AsSVG( 'RandomFill=No;DecimalDigits=3' ) |
以下示例返回多边形以蓝色填充且坐标具有最大精度的完整 SVG 文档。因为同时生成 fill="none" 和 fill="blue",所以包含曲线的 Shape 均包含无效 SVG。
SELECT Shape.ST_AsSVG( 'Attribute=fill="blue";DecimalDigits=-1' ) FROM SpatialShapes |
以下示例使用限制到小数点后 5 位数的相对坐标从 SVG 路径数据返回完整的 SVG 文档。
SELECT '<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg viewBox="-180 -90 360 180" xmlns="http://www.w3.org/2000/svg" version="1.1"> <path fill="lightblue" stroke="black" stroke-width="0.1%" d="' || NEW ST_Polygon( 'Polygon(( 0 0, 0 20, 60 10, 0 0 ))' ) .ST_AsSVG( 'PathDataOnly=Yes' ) || '"/></svg>' |
以下示例使用限制到小数点后 7 位数的绝对坐标返回 SVG 路径数据。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 0 20, 60 10, 0 0 ))' ) .ST_AsSVG( 'PathDataOnly=Yes;Relative=No;DecimalDigits=7' ) |
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |