12.17.9.1 & nbsp; các chức năng quan hệ không gian sử dụng hình dạng đối tượng
Thông số kỹ thuật OpenGIS xác định các chức năng sau để kiểm tra mối quan hệ giữa hai giá trị hình học g1
và g2
, sử dụng các hình dạng đối tượng chính xác. Các giá trị trả về 1 và 0 biểu thị đúng và sai, tương ứng, ngoại trừ các hàm khoảng cách trả về các giá trị khoảng cách.
Các chức năng trong phần này phát hiện các đối số trong các hệ thống tham chiếu không gian Cartesian hoặc địa lý [SRSS] và trả về kết quả phù hợp với SRS.
Trừ khi có quy định khác, các chức năng trong phần này xử lý các đối số hình học của chúng như sau:
Nếu bất kỳ đối số nào là
NULL
hoặc bất kỳ đối số hình học nào là hình học trống, giá trị trả về làNULL
.Nếu bất kỳ đối số hình học nào không phải là hình học được hình thành tốt về mặt cú pháp, xảy ra lỗi
ER_GIS_INVALID_DATA
.Nếu bất kỳ đối số hình học nào là hình học được hình thành tốt về mặt cú pháp trong hệ thống tham chiếu không gian không xác định [SRS], xảy ra lỗi ____99.
Đối với các hàm có nhiều đối số hình học, nếu các đối số đó không nằm trong cùng một SRS, xảy ra lỗi ____1010.
Nếu bất kỳ đối số hình học nào không hợp lệ về mặt hình học, kết quả là đúng hoặc sai [nó không được xác định] hoặc xảy ra lỗi.
Đối với các đối số hình học SRS địa lý, nếu bất kỳ đối số nào có kinh độ hoặc vĩ độ nằm ngoài phạm vi, xảy ra lỗi:
Nếu giá trị kinh độ không nằm trong phạm vi [−180, 180], xảy ra lỗi
1 [mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
2 trước MySQL 8.0.12].mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
Nếu giá trị vĩ độ không nằm trong phạm vi [−90, 90], xảy ra lỗi
3 [mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
4 trước MySQL 8.0.12].mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
Phạm vi hiển thị bằng độ. Nếu SRS sử dụng một đơn vị khác, phạm vi sử dụng các giá trị tương ứng trong đơn vị của nó. Các giới hạn phạm vi chính xác lệch một chút do số học dấu phẩy động.
Nếu không, giá trị trả về không phải là -________ 6.
Một số chức năng trong phần này cho phép một đối số đơn vị chỉ định đơn vị độ dài cho giá trị trả về. Trừ khi có quy định khác, các chức năng xử lý đối số đơn vị của họ như sau:
Một đơn vị được hỗ trợ nếu nó được tìm thấy trong bảng
6mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
7. Xem phần & nbsp; 26.3.37, Bảng thông tin_schema st_units_of_measure bảng.mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
Nếu một đơn vị được chỉ định nhưng không được MySQL hỗ trợ, xảy ra lỗi
8.mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
Nếu một đơn vị tuyến tính được hỗ trợ được chỉ định và SRID là 0, xảy ra lỗi
9.mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
Nếu một đơn vị tuyến tính được hỗ trợ được chỉ định và SRID không phải là 0, kết quả là ở đơn vị đó.
Nếu một đơn vị không được chỉ định, kết quả là trong đơn vị SRS của hình học, cho dù là Cartesian hay địa lý. Hiện tại, tất cả các SRS của MySQL đều được thể hiện bằng mét.
Các hàm hình đối tượng này có sẵn để kiểm tra các mối quan hệ hình học:
St_contains [________ 4,
g2
]Trả về 1 hoặc 0 để cho biết liệu
g1
có chứa hoàn toàng2
hay không. Điều này kiểm tra mối quan hệ ngược lại là
4.mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]']; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]']; mysql> SELECT ST_FrechetDistance[@ls1, @ls2]; +--------------------------------+ | ST_FrechetDistance[@ls1, @ls2] | +--------------------------------+ | 2.8284271247461903 | +--------------------------------+ mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]', 4326]; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]', 4326]; mysql> SELECT ST_FrechetDistance[@ls1, @ls2]; +--------------------------------+ | ST_FrechetDistance[@ls1, @ls2] | +--------------------------------+ | 313421.1999416798 | +--------------------------------+ mysql> SELECT ST_FrechetDistance[@ls1, @ls2, 'foot']; +----------------------------------------+ | ST_FrechetDistance[@ls1, @ls2, 'foot'] | +----------------------------------------+ | 1028284.7767115477 | +----------------------------------------+
5 xử lý các lập luận của nó như được mô tả trong phần giới thiệu về phần này.mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]']; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]']; mysql> SELECT ST_FrechetDistance[@ls1, @ls2]; +--------------------------------+ | ST_FrechetDistance[@ls1, @ls2] | +--------------------------------+ | 2.8284271247461903 | +--------------------------------+ mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]', 4326]; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]', 4326]; mysql> SELECT ST_FrechetDistance[@ls1, @ls2]; +--------------------------------+ | ST_FrechetDistance[@ls1, @ls2] | +--------------------------------+ | 313421.1999416798 | +--------------------------------+ mysql> SELECT ST_FrechetDistance[@ls1, @ls2, 'foot']; +----------------------------------------+ | ST_FrechetDistance[@ls1, @ls2, 'foot'] | +----------------------------------------+ | 1028284.7767115477 | +----------------------------------------+
ST_CROSSES [____ 4,
g2
]Hai hình học vượt qua không gian nếu mối quan hệ không gian của chúng có các thuộc tính sau:spatially cross if their spatial relation has the following properties:
Trừ khi
g1
vàg2
là cả hai chiều 1:g1
giao nhaug2
nếu bên trong củag2
có điểm chung với bên trong củag1
, nhưngg2
không bao gồm toàn bộ nội thất củag1
.Nếu cả
g1
vàg2
đều có kích thước 1: nếu các đường giao nhau với số điểm hữu hạn [nghĩa là không có phân đoạn dòng phổ biến, chỉ có điểm chung duy nhất].
Hàm này trả về 1 hoặc 0 để cho biết liệu
g1
có vượt qua không giang2
hay không.g1
0 xử lý các đối số của nó như được mô tả trong phần giới thiệu về phần này ngoại trừ giá trị trả về làNULL
cho các điều kiện bổ sung này:g1
có kích thước 2 [g1
3 hoặcg1
4].g2
có kích thước 1 [g1
6 hoặcg1
7].
St_Disjoint [________ 4,
g2
]Trả về 1 hoặc 0 để cho biết liệu
g1
có phân tách không gian từ [không giao nhau]g2
.g2
2 xử lý các lập luận của nó như được mô tả trong phần giới thiệu về phần này.ST_DISTANCE [____ 4,
g2
[,g2
5]]Trả về khoảng cách giữa
g1
vàg2
, được đo trong đơn vị chiều dài của hệ thống tham chiếu không gian [SRS] của các đối số hình học hoặc trong đơn vị của đối sốg2
5 tùy chọn nếu được chỉ định.Hàm này xử lý các tập hợp hình học bằng cách trả về khoảng cách ngắn nhất trong số tất cả các kết hợp của các thành phần của hai đối số hình học.
g2
9 xử lý các đối số hình học của nó như được mô tả trong phần giới thiệu về phần này, với các ngoại lệ này:g2
9 phát hiện các đối số trong hệ thống tham chiếu không gian địa lý [Ellipsoidal] và trả về khoảng cách trắc địa trên ellipsoid. Kể từ MySQL 8.0.18,g2
9 hỗ trợ tính toán khoảng cách cho các đối số SRS địa lý của tất cả các loại hình học. Trước MySQL 8.0.18, các loại đối số địa lý được phép duy nhất làg1
6 vàg1
6, hoặcg1
6 vàg1
7 [theo bất kỳ thứ tự đối số nào]. Nếu được gọi với các kết hợp đối số loại hình học khác trong SRS địa lý, xảy ra lỗiNULL
6.Nếu bất kỳ đối số nào không hợp lệ về mặt hình học, kết quả là khoảng cách không xác định [nghĩa là, nó có thể là bất kỳ số nào] hoặc xảy ra lỗi.
Nếu kết quả trung gian hoặc cuối cùng tạo ra
NULL
7 hoặc số âm, xảy ra lỗiER_GIS_INVALID_DATA
.
Kể từ MySQL 8.0.14,
g2
9 cho phép đối sốg2
5 tùy chọn chỉ định đơn vị tuyến tính cho giá trị khoảng cách được trả về.g2
9 xử lý đối sốg2
5 của nó như được mô tả trong phần giới thiệu về phần này.mysql> SET @g1 = ST_GeomFromText['POINT[1 1]']; mysql> SET @g2 = ST_GeomFromText['POINT[2 2]']; mysql> SELECT ST_Distance[@g1, @g2]; +-----------------------+ | ST_Distance[@g1, @g2] | +-----------------------+ | 1.4142135623730951 | +-----------------------+ mysql> SET @g1 = ST_GeomFromText['POINT[1 1]', 4326]; mysql> SET @g2 = ST_GeomFromText['POINT[2 2]', 4326]; mysql> SELECT ST_Distance[@g1, @g2]; +-----------------------+ | ST_Distance[@g1, @g2] | +-----------------------+ | 156874.3859490455 | +-----------------------+ mysql> SELECT ST_Distance[@g1, @g2, 'metre']; +--------------------------------+ | ST_Distance[@g1, @g2, 'metre'] | +--------------------------------+ | 156874.3859490455 | +--------------------------------+ mysql> SELECT ST_Distance[@g1, @g2, 'foot']; +-------------------------------+ | ST_Distance[@g1, @g2, 'foot'] | +-------------------------------+ | 514679.7439273146 | +-------------------------------+
Đối với trường hợp đặc biệt của tính toán khoảng cách trên một hình cầu, hãy xem hàm
NULL
3.St_equals [________ 4,
g2
]Trả về 1 hoặc 0 để cho biết liệu
g1
có bằng không gian vớig2
hay không.NULL
8 xử lý các đối số của nó như được mô tả trong phần giới thiệu về phần này, ngoại trừ việc nó không trả vềNULL
cho các đối số hình học trống.mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
ST_FrechetDistance [________ 4,
g2
[,g2
5]]]Trả về khoảng cách fréchet rời rạc giữa hai hình học, phản ánh mức độ tương tự của hình học. Kết quả là một số độ chính xác kép được đo trong đơn vị chiều dài của hệ thống tham chiếu không gian [SRS] của các đối số hình học hoặc trong đơn vị chiều dài của đối số
g2
5 nếu đối số đó được đưa ra.Hàm này thực hiện khoảng cách fréchet rời rạc, có nghĩa là nó bị giới hạn ở khoảng cách giữa các điểm của hình học. Ví dụ, đưa ra hai đối số
ER_GIS_INVALID_DATA
4, chỉ các điểm được đề cập rõ ràng trong hình học được xem xét. Điểm trên các phân đoạn dòng giữa các điểm này không được xem xét.ER_GIS_INVALID_DATA
5 xử lý các đối số hình học của nó như được mô tả trong phần giới thiệu về phần này, với các ngoại lệ này:Các hình học có thể có SRS Cartesian hoặc địa lý, nhưng chỉ có giá trị
ER_GIS_INVALID_DATA
4 được hỗ trợ. Nếu các đối số nằm trong cùng một SRS Cartesian hoặc địa lý, nhưng không phải là lỗiER_GIS_INVALID_DATA
4, xảy ra lỗiER_GIS_INVALID_DATA
8 hoặcNULL
6, tùy thuộc vào loại SRS.
ER_GIS_INVALID_DATA
5 xử lý đối sốg2
5 tùy chọn của nó như được mô tả trong phần giới thiệu về phần này.mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]']; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]']; mysql> SELECT ST_FrechetDistance[@ls1, @ls2]; +--------------------------------+ | ST_FrechetDistance[@ls1, @ls2] | +--------------------------------+ | 2.8284271247461903 | +--------------------------------+ mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]', 4326]; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]', 4326]; mysql> SELECT ST_FrechetDistance[@ls1, @ls2]; +--------------------------------+ | ST_FrechetDistance[@ls1, @ls2] | +--------------------------------+ | 313421.1999416798 | +--------------------------------+ mysql> SELECT ST_FrechetDistance[@ls1, @ls2, 'foot']; +----------------------------------------+ | ST_FrechetDistance[@ls1, @ls2, 'foot'] | +----------------------------------------+ | 1028284.7767115477 | +----------------------------------------+
Chức năng này đã được thêm vào trong MySQL 8.0.23.
St_hausdorffdistance [________ 4,
g2
[,g2
5]]]Trả về khoảng cách Hausdorff rời rạc giữa hai hình học, phản ánh mức độ tương tự của hình học. Kết quả là một số độ chính xác kép được đo trong đơn vị chiều dài của hệ thống tham chiếu không gian [SRS] của các đối số hình học hoặc trong đơn vị chiều dài của đối số
g2
5 nếu đối số đó được đưa ra.Hàm này thực hiện khoảng cách Hausdorff rời rạc, có nghĩa là nó bị giới hạn ở khoảng cách giữa các điểm của hình học. Ví dụ, đưa ra hai đối số
ER_GIS_INVALID_DATA
4, chỉ các điểm được đề cập rõ ràng trong hình học được xem xét. Điểm trên các phân đoạn dòng giữa các điểm này không được xem xét.ER_SRS_NOT_FOUND
7 xử lý các đối số hình học của nó như được mô tả trong phần giới thiệu về phần này, với các ngoại lệ này:Nếu các đối số hình học nằm trong cùng một SRS của Cartesian hoặc địa lý, nhưng không có kết hợp được hỗ trợ, xảy ra lỗi
ER_GIS_INVALID_DATA
8 hoặcNULL
6, tùy thuộc vào loại SRS. Những kết hợp này được hỗ trợ:ER_GIS_INVALID_DATA
4 vàER_GIS_INVALID_DATA
4g1
6 vàg1
7ER_GIS_INVALID_DATA
4 và
05mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
g1
7 vàg1
7
05 vàmysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
05mysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
ER_SRS_NOT_FOUND
7 xử lý đối sốg2
5 tùy chọn của nó như được mô tả trong phần giới thiệu về phần này.mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]']; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]']; mysql> SELECT ST_HausdorffDistance[@ls1, @ls2]; +----------------------------------+ | ST_HausdorffDistance[@ls1, @ls2] | +----------------------------------+ | 1 | +----------------------------------+ mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]', 4326]; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]', 4326]; mysql> SELECT ST_HausdorffDistance[@ls1, @ls2]; +----------------------------------+ | ST_HausdorffDistance[@ls1, @ls2] | +----------------------------------+ | 111319.49079326246 | +----------------------------------+ mysql> SELECT ST_HausdorffDistance[@ls1, @ls2, 'foot']; +------------------------------------------+ | ST_HausdorffDistance[@ls1, @ls2, 'foot'] | +------------------------------------------+ | 365221.4264870815 | +------------------------------------------+
Chức năng này đã được thêm vào trong MySQL 8.0.23.
St_hausdorffdistance [________ 4,
g2
[,g2
5]]]Trả về khoảng cách Hausdorff rời rạc giữa hai hình học, phản ánh mức độ tương tự của hình học. Kết quả là một số độ chính xác kép được đo trong đơn vị chiều dài của hệ thống tham chiếu không gian [SRS] của các đối số hình học hoặc trong đơn vị chiều dài của đối số
g2
5 nếu đối số đó được đưa ra.Hàm này thực hiện khoảng cách Hausdorff rời rạc, có nghĩa là nó bị giới hạn ở khoảng cách giữa các điểm của hình học. Ví dụ, đưa ra hai đối số
ER_GIS_INVALID_DATA
4, chỉ các điểm được đề cập rõ ràng trong hình học được xem xét. Điểm trên các phân đoạn dòng giữa các điểm này không được xem xét.ER_SRS_NOT_FOUND
7 xử lý các đối số hình học của nó như được mô tả trong phần giới thiệu về phần này, với các ngoại lệ này:Nếu các đối số hình học nằm trong cùng một SRS của Cartesian hoặc địa lý, nhưng không có kết hợp được hỗ trợ, xảy ra lỗi
ER_GIS_INVALID_DATA
8 hoặcNULL
6, tùy thuộc vào loại SRS. Những kết hợp này được hỗ trợ:spatially overlap if they intersect and their intersection results in a geometry of the same dimension but not equal to either of the given geometries.ER_GIS_INVALID_DATA
4 vàER_GIS_INVALID_DATA
4g1
6 vàg1
7ST_Touches [____ 4,
g2
]Hai hình học chạm vào không gian nếu nội thất của chúng không giao nhau, nhưng ranh giới của một trong các hình học giao nhau với ranh giới hoặc bên trong của cái kia.spatially touch if their interiors do not intersect, but the boundary of one of the geometries intersects either the boundary or the interior of the other.
Hàm này trả về 1 hoặc 0 để cho biết liệu
g1
có chạm không giang2
hay không.
27 xử lý các đối số của nó như được mô tả trong phần giới thiệu về phần này ngoại trừ giá trị trả về làmysql> SET @g1 = Point[1,1], @g2 = Point[2,2]; mysql> SELECT ST_Equals[@g1, @g1], ST_Equals[@g1, @g2]; +---------------------+---------------------+ | ST_Equals[@g1, @g1] | ST_Equals[@g1, @g2] | +---------------------+---------------------+ | 1 | 0 | +---------------------+---------------------+
NULL
cho điều kiện bổ sung rằng cả hai hình học đều có kích thước 0 [g1
6 hoặcg1
7].St_within [____ 4,
g2
]Trả về 1 hoặc 0 để cho biết liệu
g1
có phải là không gian trongg2
hay không.Điều này kiểm tra mối quan hệ ngược lại là
5.mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]']; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]']; mysql> SELECT ST_FrechetDistance[@ls1, @ls2]; +--------------------------------+ | ST_FrechetDistance[@ls1, @ls2] | +--------------------------------+ | 2.8284271247461903 | +--------------------------------+ mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]', 4326]; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]', 4326]; mysql> SELECT ST_FrechetDistance[@ls1, @ls2]; +--------------------------------+ | ST_FrechetDistance[@ls1, @ls2] | +--------------------------------+ | 313421.1999416798 | +--------------------------------+ mysql> SELECT ST_FrechetDistance[@ls1, @ls2, 'foot']; +----------------------------------------+ | ST_FrechetDistance[@ls1, @ls2, 'foot'] | +----------------------------------------+ | 1028284.7767115477 | +----------------------------------------+
4 xử lý các lập luận của nó như được mô tả trong phần giới thiệu về phần này.mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]']; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]']; mysql> SELECT ST_FrechetDistance[@ls1, @ls2]; +--------------------------------+ | ST_FrechetDistance[@ls1, @ls2] | +--------------------------------+ | 2.8284271247461903 | +--------------------------------+ mysql> SET @ls1 = ST_GeomFromText['LINESTRING[0 0,0 5,5 5]', 4326]; mysql> SET @ls2 = ST_GeomFromText['LINESTRING[0 1,0 6,3 3,5 6]', 4326]; mysql> SELECT ST_FrechetDistance[@ls1, @ls2]; +--------------------------------+ | ST_FrechetDistance[@ls1, @ls2] | +--------------------------------+ | 313421.1999416798 | +--------------------------------+ mysql> SELECT ST_FrechetDistance[@ls1, @ls2, 'foot']; +----------------------------------------+ | ST_FrechetDistance[@ls1, @ls2, 'foot'] | +----------------------------------------+ | 1028284.7767115477 | +----------------------------------------+