ST_AsText 方法返回表示几何的文本字符串。支持许多不同的文本格式(及其关联选项),使用可选 format 参数选择所需格式。如果未指定 format 参数,则使用 st_geometry_astext_format 选项选择要使用的输出格式。请参见st_geometry_astext_format 选项。
格式字符串定义输出格式和格式参数。格式字符串具有以下格式之一:
format-name
format-name(parameter1=value1;parameter2=value2;...)
parameter1=value1;parameter2=value2;...
第一种格式指定格式名称,但不指定格式参数。所有格式参数均使用缺省值。第二种格式指定格式名称以及指定参数值列表。未提供参数值的参数使用缺省值。最后一种格式仅指定参数值,格式名称缺省为 'WKT'。
可能使用以下格式名称:
WKT 由 SQL/MM 和 OGC 定义的标准文本格式。
EWKT 扩展标准文本格式。此格式包括几何的 SRID 作为前缀。
GML 由 ISO 19136 和 OGC 定义的地理标记语言格式。
KML 由 OGC 定义的 Keyhole 标记语言格式。
GeoJSON GeoJSON 格式使用 http://geojson.org/geojson-spec.html 中定义的 JavaScript Object Notation (JSON)。
SVG 由万维网联盟(World Wide Web Consortium,简称 W3C)定义的可缩放矢量图形(Scalable Vector Graphics,简称 SVG)1.1 格式。
可以指定以下格式参数:
格式名称
参数名称
缺省值
允许值
说明
WKT
Version
1.2
1.1 由 OGC SFS 1.1 定义的 WKT。此格式不包含 Z 和 M 值。如果几何包含 Z 或 M 值,在输出中将移除这些值。
1.2 由 OGC SFS 1.2 定义的 WKT。应用于 2D 数据时此格式与版本 1.1 格式匹配,并扩展版本 1.1 格式以支持 Z 和 M 值。
PostGIS 一些其他供应商使用的 WKT 格式,包括 Z 和 M 值,但格式与 OGC 1.2 不匹配。
Version 参数控制所使用的 WKT 规范的版本。
GML
Version
3
2 GML 规范版本 2。
3 GML 规范版本 3.2。
Version 参数控制所使用的 GML 规范的版本。
GML
Namespace
none
local 为给定元素(在本例中为点)及其子元素提供缺省命名空间属性。
global 为给定元素及其子元素提供专用前缀 ("gml")。在集合操作中使用查询时此参数值很有用,通过此参数值某些顶级元素可以定义 "gml" 前缀的命名空间。
none 不为给定元素(在本例中为点)及其子元素提供命名空间或前缀。
Namespace 参数可指定命名空间的输出格式约定。
GML
SRSNameFormat
short
short 使用空间参照系名称的短格式,例如 EPSG:4326。
long 使用空间参照系名称的长格式,例如 urn:x-ogc:def:crs:EPSG:4326。
none 几何不包括空间参照系名称属性。
SRSNameFormat 参数指定 srsName 属性的格式。
GML
SRSDimension
No
Yes 或 No
SRSDimension 参数指定给定几何的坐标值数。此参数仅适用于 GML(version=3)。
GML
SRSFillAll
No
Yes 或 No
SRSFillAll 参数指定是否将 SRS 属性传播到子几何元素。例如,MultiGeometry 或 MultiPolygon 会将属性传播到子几何。
GML
UseDeprecated
No
Yes 或 No
UseDeprecated 参数仅适用于 GML(version=3)。使用此参数时,只要可能就输出更早的 GML 表示。例如,如果几何中不包含 CircularString,则可以将 Surface 输出为 Polygon。
GML
Attribute
自动生成的可选属性
仅可以为顶级几何元素指定一个或多个属性。
可以指定任何合法的 XML 属性。
GML
SubElement
自动生成的 GML 子元素
仅可以为顶级几何元素指定一个或多个子元素。
可以指定任何合法的 XML 元素。
KML
Version
2
2
支持 KML 2.2 版本。
KML
Attribute
自动生成的可选属性
仅可以为顶级几何元素指定一个或多个属性。
可以指定任何合法的 XML 属性。
KML
Namespace
No
local 为给定几何元素(在本例中为点)及其子元素提供缺省命名空间属性 http://www.opengis.net/kml/2.2。
global 为给定元素及其子元素提供专用前缀 ("kml")。在集合操作中使用查询时此参数值很有用,通过此参数值某些顶级元素可以定义 "kml" 前缀的命名空间。
none 不为给定元素(在本例中为点)及其子元素提供命名空间或前缀。
Namespace 参数可指定命名空间的输出格式约定。
KML
SubElement
自动生成的 KML 子元素
仅可以为顶级几何元素指定一个或多个子元素。
可以指定任何合法的 XML 元素。例如,可以指定 extrude、tessellate 和 altitudeMode 元素。
GeoJSON
Version
1
1
所遵守的 GeoJSON 规范的版本。目前仅支持 1.0 版本。
SVG
Approximate
Yes
Yes 或 No
Approximate 参数可指定是否通过略微减少显示的详细信息来减小输出 SVG 文档的大小。可通过不包含位于最后一个点的线宽范围内的点来计算 SVG 数据的近似值。在几何多达几兆字节时使用此参数会获得 80% 或以上的压缩率。
SVG
Attribute
自动生成的可选属性
可应用于 SVG 形状元素的一个或多个 SVG 属性
缺省情况下会生成 fill、stroke 和 stroke-width 等可选 SVG 形状属性。如果已指定 Attribute 参数,则不生成任何可选 SVG 形状属性,而是使用 Attribute 值。如果指定了 PathDataOnly=Yes,则此参数将被忽略。Attribute
值的最大长度为约 1000 个字节。
SVG
DecimalDigits
基于空间参照系的“对齐网格”网格大小中的小数位数。最大缺省值为 5,最小缺省值为 0。
整数
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 参数可指定坐标应以相对(偏移)格式输出还是绝对格式输出。相对坐标数据通常比绝对坐标数据更精简。
注意
将几何值转换为 VARCHAR 或 NVARCHAR 时,服务器使用 ST_AsText 方法。使用 st_geometry_astext_format 选项定义转换时所使用的格式。请参见st_geometry_astext_format 选项。
注意
缺省情况下,如果几何的原始格式可用,ST_AsText 将使用该格式。否则使用内部格式。有关内部和原始格式的详细信息,请参见STORAGE FORMAT 子句,CREATE SPATIAL REFERENCE SYSTEM 语句。