ST_Distance_Spheroid 的 MySQL GeoSpatial 函数?返回 GLength 类型中使用的度量标准?

Posted

技术标签:

【中文标题】ST_Distance_Spheroid 的 MySQL GeoSpatial 函数?返回 GLength 类型中使用的度量标准?【英文标题】:MySQL GeoSpatial function for ST_Distance_Spheroid? Metric used in return Type of GLength? 【发布时间】:2012-07-14 14:11:47 【问题描述】:

mysql 的 GeoSpatial Support 中是否有 ST_Distance_Sphere、ST_Distance_Spheroid 等效函数?

如果没有,有什么方法可以模仿吗?


GLength(LineString 的长度)的返回类型中使用的度量是什么?

GLength 的手册说 GLength() 是一个非标准名称。它对应于 OpenGIS Length() 函数。 但我找不到 OpenGIS Length() 的任何文档。我发现的只是ST_Length 他们是一样的吗?


为了准确起见,我还需要指定 SRID(4326) 吗?如何在 MySQL 中执行此操作?

【问题讨论】:

【参考方案1】:

自 MySql 5.1 起,提供了 GIS 函数 distance_sphere()distance_spheroid() 函数。有一个explanation 的参数以及如何使用它们。

GLength() 函数返回的长度可以是坐标所具有的任一单位。因此,如果坐标是以度为单位的,则以度为单位的长度度量没有任何意义。为了解决这个问题,使用了投影。

对于 WGS84 投影,SRID = 4326,但对于球形墨卡托投影,SRID = 900913,这与 Google 地图使用的投影兼容。球形墨卡托投影墨卡托投影使用米,因此 GLength 函数将以米为单位返回长度。 This段落有助于MySql中的投影。

【讨论】:

以上是关于ST_Distance_Spheroid 的 MySQL GeoSpatial 函数?返回 GLength 类型中使用的度量标准?的主要内容,如果未能解决你的问题,请参考以下文章

postgrep sql几何量测量函数

MySQL配置文件my.ini或my.cnf的位置

MySQL配置文件生效顺序

这是啥通信:my_var = my_var || 69 [重复]

这样做的目的是啥 my_list = list(filter(None, my_list))

I lost my cap .I have a map to my cap.The map to my cap is on my lap.