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 类型中使用的度量标准?的主要内容,如果未能解决你的问题,请参考以下文章
这是啥通信: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.