Hướng dẫn mysql 5.7 st_distance - mysql 5.7 st_distance

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

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 |
+---------------------+---------------------+
0 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 |
+---------------------+---------------------+
1, 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à

    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 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à
    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.

  • 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

    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.

  • 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

      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 |
      +---------------------+---------------------+
      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).
    • Nếu giá trị vĩ độ không nằm trong phạm vi [−90, 90], xảy ra lỗi

      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 |
      +---------------------+---------------------+
      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).

    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

    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 |
    +---------------------+---------------------+
    6
    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 |
    +---------------------+---------------------+
    7. Xem phần & nbsp; 26.3.37, Bảng thông tin_schema st_units_of_measure bảng.
  • Nếu một đơn vị được chỉ định nhưng không được MySQL hỗ trợ, xảy ra lỗi

    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 |
    +---------------------+---------------------+
    8.
  • 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

    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 |
    +---------------------+---------------------+
    9.
  • 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,

    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 |
    +---------------------+---------------------+
    1)

    Trả về 1 hoặc 0 để cho biết liệu

    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 |
    +---------------------+---------------------+
    0 có chứa hoàn toàn
    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 |
    +---------------------+---------------------+
    1 hay không. Điều này kiểm tra mối quan hệ ngược lại là

    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.
    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.
  • ST_CROSSES (____ 4,

    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 |
    +---------------------+---------------------+
    1)

    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: spatially cross if their spatial relation has the following properties:

    • Trừ khi

      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 |
      +---------------------+---------------------+
      0 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 |
      +---------------------+---------------------+
      1 là cả hai chiều 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 |
      +---------------------+---------------------+
      0 giao nhau
      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 |
      +---------------------+---------------------+
      1 nếu bên trong của
      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 |
      +---------------------+---------------------+
      1 có điểm chung với bên trong của
      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 |
      +---------------------+---------------------+
      0, như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 |
      +---------------------+---------------------+
      1 không bao gồm toàn bộ nội thất của
      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 |
      +---------------------+---------------------+
      0.

    • Nếu cả

      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 |
      +---------------------+---------------------+
      0 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 |
      +---------------------+---------------------+
      1 đề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

    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 |
    +---------------------+---------------------+
    0 có vượt qua không gian
    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 |
    +---------------------+---------------------+
    1 hay khô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 |
    +---------------------+---------------------+
    00 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 |
    +---------------------+---------------------+
    2 cho các điều kiện bổ sung này:

    • 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 |
      +---------------------+---------------------+
      0 có kích thước 2 (
      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 |
      +---------------------+---------------------+
      03 hoặc
      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 |
      +---------------------+---------------------+
      04).

    • 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 |
      +---------------------+---------------------+
      1 có kích thước 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 |
      +---------------------+---------------------+
      06 hoặc
      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 |
      +---------------------+---------------------+
      07).

  • St_Disjoint (________ 4,

    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 |
    +---------------------+---------------------+
    1)

    Trả về 1 hoặc 0 để cho biết liệu

    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 |
    +---------------------+---------------------+
    0 có phân tách không gian từ (không giao nhau)
    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 |
    +---------------------+---------------------+
    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 |
    +---------------------+---------------------+
    12 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,

    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 |
    +---------------------+---------------------+
    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 |
    +---------------------+---------------------+
    15])

    Trả về khoảng cách giữa

    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 |
    +---------------------+---------------------+
    0 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 |
    +---------------------+---------------------+
    1, đượ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ố
    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 |
    +---------------------+---------------------+
    15 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.

    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 |
    +---------------------+---------------------+
    19 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:

    • 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 |
      +---------------------+---------------------+
      19 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,
      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 |
      +---------------------+---------------------+
      19 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à
      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 |
      +---------------------+---------------------+
      06 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 |
      +---------------------+---------------------+
      06, hoặc
      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 |
      +---------------------+---------------------+
      06 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 |
      +---------------------+---------------------+
      07 (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ỗi
      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 |
      +---------------------+---------------------+
      26.

    • 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

      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 |
      +---------------------+---------------------+
      27 hoặc số âm, xảy ra lỗi
      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.

    Kể từ MySQL 8.0.14,

    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 |
    +---------------------+---------------------+
    19 cho phép đối số
    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 |
    +---------------------+---------------------+
    15 tùy chọn chỉ định đơn vị tuyến tính cho giá trị khoảng cách được trả 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 |
    +---------------------+---------------------+
    19 xử lý đối số
    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 |
    +---------------------+---------------------+
    15 của nó như được mô tả trong phần giới thiệu về phần này.

    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 |
    +---------------------+---------------------+
    0

    Đố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

    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 |
    +---------------------+---------------------+
    23.

  • St_equals (________ 4,

    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 |
    +---------------------+---------------------+
    1)

    Trả về 1 hoặc 0 để cho biết liệu

    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 |
    +---------------------+---------------------+
    0 có bằng không gian với
    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 |
    +---------------------+---------------------+
    1 hay khô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 |
    +---------------------+---------------------+
    28 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ề
    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 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,

    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 |
    +---------------------+---------------------+
    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 |
    +---------------------+---------------------+
    15]))

    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ố

    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 |
    +---------------------+---------------------+
    15 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ố

    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 |
    +---------------------+---------------------+
    44, 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.

    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 |
    +---------------------+---------------------+
    45 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ị

      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 |
      +---------------------+---------------------+
      44 đượ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ỗi
      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 |
      +---------------------+---------------------+
      44, xảy ra lỗi
      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 |
      +---------------------+---------------------+
      48 hoặc
      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 |
      +---------------------+---------------------+
      26, tùy thuộc vào loại SRS.

    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 |
    +---------------------+---------------------+
    45 xử lý đối số
    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 |
    +---------------------+---------------------+
    15 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,

    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 |
    +---------------------+---------------------+
    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 |
    +---------------------+---------------------+
    15]))

    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ố

    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 |
    +---------------------+---------------------+
    15 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ố

    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 |
    +---------------------+---------------------+
    44, 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.

    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 |
    +----------------------------------------+
    37 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

      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 |
      +---------------------+---------------------+
      48 hoặc
      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 |
      +---------------------+---------------------+
      26, tùy thuộc vào loại SRS. Những kết hợp này được hỗ trợ:

      • 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 |
        +---------------------+---------------------+
        44 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 |
        +---------------------+---------------------+
        44

      • 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 |
        +---------------------+---------------------+
        06 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 |
        +---------------------+---------------------+
        07

      • 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 |
        +---------------------+---------------------+
        44 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 |
        +---------------------+---------------------+
        05
      • 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 |
        +---------------------+---------------------+
        07 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 |
        +---------------------+---------------------+
        07

      • 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 |
        +---------------------+---------------------+
        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 |
        +---------------------+---------------------+
        05

    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 |
    +----------------------------------------+
    37 xử lý đối số
    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 |
    +---------------------+---------------------+
    15 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 @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 |
    +---------------------+---------------------+
    6

    Chức năng này đã được thêm vào trong MySQL 8.0.23.

  • St_hausdorffdistance (________ 4,

    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 |
    +---------------------+---------------------+
    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 |
    +---------------------+---------------------+
    15]))

    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ố

    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 |
    +---------------------+---------------------+
    15 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ố

    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 |
    +---------------------+---------------------+
    44, 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.

  • 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 |
    +----------------------------------------+
    37 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

    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 |
    +---------------------+---------------------+
    48 hoặc
    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 |
    +---------------------+---------------------+
    26, 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. 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.

    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 |
    +---------------------+---------------------+
    44 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 |
    +---------------------+---------------------+
    44

    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 |
    +---------------------+---------------------+
    06 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 |
    +---------------------+---------------------+
    07

  • ST_Touches (____ 4,

    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 |
    +---------------------+---------------------+
    1)

    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. 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

    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 |
    +---------------------+---------------------+
    0 có chạm không gian
    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 |
    +---------------------+---------------------+
    1 hay khô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 |
    +---------------------+---------------------+
    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 |
    +---------------------+---------------------+
    2 cho điều kiện bổ sung rằng cả hai hình học đều có kích thước 0 (
    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 |
    +---------------------+---------------------+
    06 hoặc
    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 |
    +---------------------+---------------------+
    07).
  • St_within (____ 4,

    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 |
    +---------------------+---------------------+
    1)

    Trả về 1 hoặc 0 để cho biết liệu

    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 |
    +---------------------+---------------------+
    0 có phải là không gian trong
    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 |
    +---------------------+---------------------+
    1 hay không.Điều này kiểm tra mối quan hệ ngược lại là

    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.
    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.