本节中列出的函数不会限制其参数并接受任何类型的几何值。GydF4y2Ba
除非另有说明,否则本节中的函数处理其几何参数,如下所示:GydF4y2Ba
如果有任何参数是GydF4y2Ba
空值GydF4y2Ba
,返回值是GydF4y2Ba空值GydF4y2Ba
。GydF4y2Ba如果任何几何参数不是句法良好的几何形状,则GydF4y2Ba
er_gis_invalid_data.GydF4y2Ba
发生错误。GydF4y2Ba如果任何几何参数是未定义的空间参考系统(SRS)中的句法良好的几何形状,则GydF4y2Ba
er_srs_not_found.GydF4y2Ba
发生错误。GydF4y2Ba如果任何SRID参数不在32位无符号整数的范围内,则GydF4y2Ba
ER_DATA_OUT_OF_RANGEGydF4y2Ba
发生错误。GydF4y2Ba如果任何SRID参数指的是未定义的SRS,则GydF4y2Ba
er_srs_not_found.GydF4y2Ba
发生错误。GydF4y2Ba否则,返回值为non-GydF4y2Ba
空值GydF4y2Ba
。GydF4y2Ba
这些功能可用于获取几何属性:GydF4y2Ba
st_dimension(GydF4y2Ba
GGydF4y2Ba
)GydF4y2Ba返回几何值的固有尺寸GydF4y2Ba
GGydF4y2Ba
。尺寸可以是-1,0,1或2.提供这些值的含义GydF4y2Ba第11.4.2.2节,“几何课”GydF4y2Ba。GydF4y2Bast_dimension()GydF4y2Ba
如本节介绍中所述处理其参数。GydF4y2Bamysql> SELECT ST_Dimension(ST_GeomFromText('LineString(1 1,2 2)'));+------------------------------------------------------+ | ST_Dimension (ST_GeomFromText(“LineString (1 1 2 2 )')) | +------------------------------------------------------+ | 1 | +------------------------------------------------------+GydF4y2Ba
st_envelope(GydF4y2Ba
GGydF4y2Ba
)GydF4y2Ba返回几何值的最小边界矩形(MBR)GydF4y2Ba
GGydF4y2Ba
。结果返回为aGydF4y2Ba多边形GydF4y2Ba
由边界框的角点定义的值:GydF4y2Ba多边形((minx miny,maxx miny,maxx maxy,minx maxy,minx miny))GydF4y2Ba
mysql> select st_astext(st_envelope(st_geomfromtext('linestring(1 1,2 2)')));+ --------------------------------------------------------- + |st_astext(st_envelope(st_geomfromtext('linestring(1 1,2 2)')))|+ --------------------------------------------------------- + |多边形((1,2 1,2 2,12,11))|+ ---------------------------------------------------------GydF4y2Ba
如果参数是点或垂直或水平线段,GydF4y2Ba
st_envelope()GydF4y2Ba
将点或行段作为其MBR返回,而不是返回无效的多边形:GydF4y2Bamysql> select st_astext(st_envelope(st_geom fromtext('linestring(1 1,12)')))));+ --------------------------------------------------------- + |st_astext(st_envelope(st_geomfromtext('linestring(1 1,12)')))|+ --------------------------------------------------------- + |Linestring(1 1,12)|+ ---------------------------------------------------------GydF4y2Ba
st_envelope()GydF4y2Ba
处理本节简介中的说明,处理其参数,其中:GydF4y2Ba如果几何形状具有用于地理空间参考系统(SRS)的SRID值,则GydF4y2Ba
er_not_implemented_for_geographic_srs.GydF4y2Ba
发生错误。GydF4y2Ba
st_geometrytype(GydF4y2Ba
GGydF4y2Ba
)GydF4y2Ba返回二进制字符串,指示几何类型的几何类型的名称GydF4y2Ba
GGydF4y2Ba
是会员。名称对应于一个可行的一个GydF4y2Ba几何学GydF4y2Ba
子类。GydF4y2Bast_geometrytype()GydF4y2Ba
如本节介绍中所述处理其参数。GydF4y2Bamysql> select st_geometrytype(st_geomfromtext('point(1 1)'));+ --------------------------------------------|st_geometrytype(st_geomfromtext('point(1 1)'))|+ --------------------------------------------|点|+ --------------------------------------------GydF4y2Ba
st_isempty(GydF4y2Ba
GGydF4y2Ba
)GydF4y2Ba此函数是一个占位符,否则为空几何收集值或0返回1。GydF4y2Ba
唯一有效的空几何图形以空几何集合值的形式表示。MySQL不支持GISGydF4y2Ba
空的GydF4y2Ba
价值如GydF4y2Ba点空GydF4y2Ba
。GydF4y2Bast_isempty()GydF4y2Ba
如本节介绍中所述处理其参数。GydF4y2Bast_issimple(GydF4y2Ba
GGydF4y2Ba
)GydF4y2Ba如果几何值返回1GydF4y2Ba
GGydF4y2Ba
根据ISO很简单GydF4y2BaSQL / MM第3部分:空间GydF4y2Ba标准。GydF4y2Bast_issimple()GydF4y2Ba
如果参数不简单,则返回0。GydF4y2Ba在给出的可行的几何类的描述GydF4y2Ba第11.4.2节“OpenGIS几何模型”GydF4y2Ba包括使类实例归类为不简单的特定条件。GydF4y2Ba
st_issimple()GydF4y2Ba
处理本节简介中的说明,处理其参数,其中:GydF4y2Ba如果几何形状具有具有超出范围的经度或纬度的地理SRS,则会发生错误:GydF4y2Ba
如果经度值不在范围内(-180,180],则GydF4y2Ba
er_geometry_param_longitude_out_of_range.GydF4y2Ba
发生错误(GydF4y2Baer_longitude_out_of_range.GydF4y2Ba
在MySQL 8.0.12之前)。GydF4y2Ba如果纬度值不在范围内[-90,90],则GydF4y2Ba
er_geometry_param_latitude_out_of_range.GydF4y2Ba
发生错误(GydF4y2Baer_latitude_out_Of_Range.GydF4y2Ba
在MySQL 8.0.12之前)。GydF4y2Ba
所示的范围是度数。由于浮点算术,确切范围限制略微偏离。GydF4y2Ba
st_srid(GydF4y2Ba
GGydF4y2Ba
[,GydF4y2Ba萨里德GydF4y2Ba
])GydF4y2Ba使用表示有效几何对象的单个参数GydF4y2Ba
GGydF4y2Ba
那GydF4y2Bast_srid()GydF4y2Ba
返回指示与之关联的空间参考系统(SRS)的ID的整数GydF4y2BaGGydF4y2Ba
。GydF4y2Ba使用代表有效的SRID值的可选第二个参数,GydF4y2Ba
st_srid()GydF4y2Ba
将具有与其第一个参数返回一个对象,其中srid值等于第二个参数。这仅设置对象的SRID值;它不会执行坐标值的任何转换。GydF4y2Bast_srid()GydF4y2Ba
处理本节简介中的说明,处理其参数,其中:GydF4y2Ba对于单参数语法,GydF4y2Ba
st_srid()GydF4y2Ba
返回几何SRID,即使它引用一个未定义的SRS。一个GydF4y2Baer_srs_not_found.GydF4y2Ba
错误不会发生。GydF4y2Ba
st_srid(GydF4y2Ba
和GydF4y2BaGGydF4y2Ba
那GydF4y2Batarget_srid.GydF4y2Ba
)GydF4y2Bast_transform(GydF4y2Ba
与如下不同之处如下:GydF4y2BaGGydF4y2Ba
那GydF4y2Batarget_srid.GydF4y2Ba
)GydF4y2Bast_srid()GydF4y2Ba
更改几何SRID值而不会转换其坐标。GydF4y2Bast_transform()GydF4y2Ba
除了更改其SRID值之外,还会转换几何坐标。GydF4y2Ba
mysql>设置@g = st_geom fromtext('linestring(1 1,2 2)',0);mysql>选择st_srid(@g);+ ------------- + |st_srid(@g)|+ ------------- + |0 |+ ------------- + MySQL>设置@g = st_srid(@g,4326);mysql>选择st_srid(@g);+ ------------- + |st_srid(@g)| +-------------+ | 4326 | +-------------+
通过传递到,可以在特定SRID中创建几何图形GydF4y2Ba
st_srid()GydF4y2Ba
一个特定于空间值的MySQL特定功能的结果以及SRID值。例如:GydF4y2BaSET @g1 = ST_SRID(Point(1,1), 4326);GydF4y2Ba
但是,该方法在SRID 0中创建几何图形,然后将其投递给SRID 4326(WGS 84)。优选的替代方案是用正确的空间参考系统创建几何图形以开始。例如:GydF4y2Ba
设置@ g1 = st_pointfromtext('point(1 1)',4326);设置@ g1 = st_geomfromtext('point(1 1)',4326);GydF4y2Ba
双争论形式GydF4y2Ba
st_srid()GydF4y2Ba
对于校正或更改具有不正确的SRID的几何SR,可用于任务是有用的。GydF4y2Ba