GeomFromText
和 ST_GeomFromText
都是用于将纯文本格式的 WKT (Well-Known Text) 表示的几何对象转换为空间数据类型的函数
函数名称:GeomFromText
是一个较早的函数,而 ST_GeomFromText
是一个更现代且遵循 OGC (Open Geospatial Consortium) 标准的函数。在许多现代地理空间数据库中,建议使用 ST_GeomFromText
,因为它提供了更好的兼容性和一致性。
命名空间:ST_GeomFromText
属于 SQL/MM (ISO 标准) 的一部分,并遵循 Simple Features for SQL 规范。这意味着,当你在支持空间数据的数据库(如 PostGIS、MySQL、SQL Server 等)中使用时,可以确保更好的兼容性和一致性。
参数:两者之间的主要区别在于参数。GeomFromText
通常需要两个参数:WKT 字符串和 SRID(空间引用 ID)。而 ST_GeomFromText
只需要一个参数,即 WKT 字符串。SRID 可以作为 WKT 字符串的一部分提供,或者在单独的函数(如 ST_SetSRID
)中设置。
示例:
使用 GeomFromText
的 MySQL 查询:
SELECT GeomFromText('POINT(1 1)', 4326);
使用 ST_GeomFromText
的 PostGIS 查询:
SELECT ST_GeomFromText('POINT(1 1)', 4326);
总之,ST_GeomFromText
是一个更现代、遵循 OGC 标准的函数,具有更好的兼容性和一致性。在处理空间数据时,建议使用 ST_GeomFromText
。然而,在某些情况下,你可能会遇到 GeomFromText
,特别是在较旧的系统或不完全支持 OGC 标准的数据库中。