All Products
Search
Document Center

AnalyticDB:Konstruktor\ spasial

Last Updated:Mar 29, 2026

Fungsi konstruktor spasial membangun dan mengonversi objek geometri di AnalyticDB for MySQL. Fungsi ini digunakan untuk membuat geometri POINT, LINESTRING, dan POLYGON dari koordinat atau teks, mengonversi antara representasi Well-Known Text (WKT) dan Well-Known Binary (WKB), serta mengonversi antara sistem koordinat planar dan bola.

Sebagian besar fungsi spasial mengembalikan nilai GEOMETRY biner. Menanyakan nilai-nilai ini secara langsung dengan SELECT menghasilkan output yang tidak dapat dibaca. Bungkus hasilnya dengan ST_AsText() untuk mendapatkan string WKT yang dapat dibaca.

Rangkuman fungsi

KategoriFungsiDeskripsi
Bangun dari koordinatST_PointMembangun titik dari koordinat x dan y
Bangun dari WKTST_GeometryFromText / ST_GeomFromTextMembangun tipe geometri apa pun dari string WKT
ST_LineFromTextMembangun LineString dari string WKT
ST_PointFromTextMembangun titik dari string WKT
ST_PolygonFromTextMembangun poligon dari string WKT
Bangun dari array titikST_LineStringMembangun LineString dari array titik
ST_MultiPointMembangun MultiPoint dari array titik
Konversi ke teksST_AsTextMengonversi geometri ke representasi WKT-nya
Konversi ke/dari binerST_AsBinaryMengonversi geometri ke representasi WKB-nya
ST_GeomFromBinaryMembangun geometri dari nilai WKB
ValidasiST_IsValidWKTMemeriksa apakah string merupakan WKT yang valid
Sistem koordinatTo_spherical_geographyMengonversi geometri planar menjadi objek geografi bola
To_geometryMengonversi kembali objek geografi bola menjadi geometri planar
Interop HadoopGeometry_from_hadoop_shapeMembangun geometri dari nilai biner Spatial Framework for Hadoop
BufferST_BufferMengembalikan semua titik dalam jarak d dari suatu geometri

ST_Point

ST_Point(x double, y double) → GEOMETRY (subtype POINT)

Mengembalikan geometri POINT dari nilai koordinat x dan y yang ditentukan. Nilai kembali berupa biner — bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

SELECT ST_AsText(ST_Point(1, 1));

Hasil:

+--------------------------+
| ST_AsText(ST_Point(1,1)) |
+--------------------------+
| POINT (1 1)              |
+--------------------------+

ST_AsText

ST_AsText(geometry) → WKT

Mengembalikan representasi Well-Known Text (WKT) dari suatu geometri. Gunakan fungsi ini untuk mengonversi output biner dari fungsi spasial lainnya menjadi teks yang dapat dibaca.

Contoh

SELECT ST_AsText(ST_Point(1, 1));

Hasil:

+--------------------------+
| ST_AsText(ST_Point(1,1)) |
+--------------------------+
| POINT (1 1)              |
+--------------------------+

ST_GeometryFromText / ST_GeomFromText

ST_GeometryFromText(wkt varchar) → GEOMETRY
ST_GeomFromText(wkt varchar) → GEOMETRY

Membangun objek geometri dari string WKT. ST_GeometryFromText dan ST_GeomFromText setara. Nilai kembali berupa biner — bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

SELECT ST_AsText(ST_GeometryFromText('Point(1 1)'));

Hasil:

+----------------------------------------------+
| ST_AsText(ST_GeometryFromText('Point(1 1)')) |
+----------------------------------------------+
| POINT (1 1)                                  |
+----------------------------------------------+

ST_IsValidWKT

ST_IsValidWKT(wkt varchar) → INT

Mengembalikan 1 jika string input merupakan WKT yang valid, atau 0 jika tidak valid.

Contoh

SELECT ST_IsValidWKT('MULTIPOINT (1 2, 2 4, 3 6, 4 8)');

Hasil:

+---------------------------------------------------+
| ST_IsValidWKT('MULTIPOINT (1 2, 2 4, 3 6, 4 8)') |
+---------------------------------------------------+
| 1                                                 |
+---------------------------------------------------+

ST_LineFromText

ST_LineFromText(wkt varchar) → GEOMETRY

Mengembalikan geometri LineString dari string WKT. Nilai kembali berupa biner — bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

SELECT ST_AsText(ST_LineFromText('LINESTRING (1 1, 2 2, 1 3)'));

Hasil:

+----------------------------------------------------------+
| ST_AsText(ST_LineFromText('LINESTRING (1 1, 2 2, 1 3)')) |
+----------------------------------------------------------+
| LINESTRING (1 1, 2 2, 1 3)                               |
+----------------------------------------------------------+

ST_PointFromText

ST_PointFromText(wkt varchar) → GEOMETRY

Mengembalikan objek Point dari string WKT. Nilai kembali berupa biner — bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

SELECT ST_AsText(ST_PointFromText('POINT (1 2)'));

Hasil:

+-------------------------------------------+
| ST_AsText(ST_PointFromText('POINT (1 2)')) |
+-------------------------------------------+
| POINT (1 2)                               |
+-------------------------------------------+

ST_PolygonFromText

ST_PolygonFromText(wkt varchar) → GEOMETRY

Mengembalikan objek PolygonString dari string WKT. Nilai kembali berupa data biner—bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

SELECT ST_AsText(ST_PolygonFromText('POLYGON ((1 1, 1 4, 4 4, 4 1))'));

Hasil:

+----------------------------------------------------------------+
| ST_AsText(ST_PolygonFromText('POLYGON ((1 1, 1 4, 4 4, 4 1))')) |
+----------------------------------------------------------------+
| POLYGON ((1 1, 1 4, 4 4, 4 1))                                 |
+----------------------------------------------------------------+

ST_LineString

ST_LineString(array(Point)) → GEOMETRY

Mengembalikan geometri LineString yang dibangun dari array objek geometri titik. Nilai kembali berupa biner — bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

SELECT ST_AsText(ST_LineString(array[ST_Point(1, 2), ST_Point(3, 4)]));

Hasil:

+------------------------------------------------------------------+
| ST_AsText(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))    |
+------------------------------------------------------------------+
| LINESTRING (1 2, 3 4)                                            |
+------------------------------------------------------------------+

ST_MultiPoint

ST_MultiPoint(array(Point)) → GEOMETRY

Mengembalikan geometri MultiPoint yang dibangun dari array objek geometri titik. Nilai kembali berupa biner — bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

SELECT ST_AsText(
  ST_MultiPoint(array[
    ST_GeometryFromText('POINT(1 2)'),
    ST_GeometryFromText('POINT (3 4)')
  ])
);

Hasil:

+---------------------------+
| ST_AsText(...)            |
+---------------------------+
| MULTIPOINT ((1 2), (3 4)) |
+---------------------------+

ST_GeomFromBinary

ST_GeomFromBinary(wkb varbinary) → GEOMETRY

Mengembalikan geometri dari nilai Well-Known Binary (WKB). Nilai kembali berupa biner — bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

Contoh berikut mengonversi geometri ke WKB dengan ST_AsBinary(), lalu merekonstruksi dan membacanya kembali dengan ST_GeomFromBinary() dan ST_AsText().

SELECT ST_AsText(
  ST_GeomFromBinary(
    ST_AsBinary(ST_GeometryFromText('MULTIPOINT ((1 2), (3 4))'))
  )
);

Hasil:

+---------------------------+
| ST_AsText(...)            |
+---------------------------+
| MULTIPOINT ((1 2), (3 4)) |
+---------------------------+

Geometry_from_hadoop_shape

Geometry_from_hadoop_shape(wkb varbinary) → GEOMETRY

Mengembalikan geometri dari nilai biner Spatial Framework for Hadoop. Nilai kembali berupa biner — bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

SELECT ST_AsText(
  Geometry_from_hadoop_shape(
    from_hex('000000000101000000000000000000F03F0000000000000040')
  )
);

Hasil:

+---------------------+
| ST_AsText(...)      |
+---------------------+
| POINT (1 2)         |
+---------------------+

To_spherical_geography

To_spherical_geography(geometry) → GEOMETRY

Mengonversi geometri planar menjadi objek geografi bola. Fungsi ini mengubah representasi yang didefinisikan dalam ruang 2D menjadi yang didefinisikan dalam ruang 3D. Nilai kembali berupa biner.

Contoh

SELECT To_spherical_geography(ST_Point(-71.0882, 42.3607));

To_geometry

To_geometry(geography) → GEOMETRY

Mengonversi kembali objek geografi bola menjadi geometri planar. Setiap objek geografi merupakan objek geometri yang valid. Nilai kembali berupa biner — bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

SELECT ST_AsText(
  To_geometry(To_spherical_geography(ST_Point(61.56, -58.54)))
);

Hasil:

+----------------------+
| ST_AsText(...)       |
+----------------------+
| POINT (61.56 -58.54) |
+----------------------+

ST_AsBinary

ST_AsBinary(geometry) → VARBINARY

Mengembalikan representasi WKB dari suatu geometri sebagai nilai VARBINARY. Gunakan fungsi ini untuk menyimpan atau mentransmisikan data geometri dalam format biner, lalu merekonstruksinya kembali dengan ST_GeomFromBinary().

Contoh

SELECT ST_AsText(
  ST_GeomFromBinary(
    ST_AsBinary(ST_GeometryFromText('MULTIPOINT ((1 2), (3 4))'))
  )
);

Hasil:

+---------------------------+
| ST_AsText(...)            |
+---------------------------+
| MULTIPOINT ((1 2), (3 4)) |
+---------------------------+

ST_Buffer

ST_Buffer(geometry, d double) → GEOMETRY

Mengembalikan geometri yang mencakup semua titik yang jaraknya dari geometri input kurang dari atau sama dengan d. Untuk input berupa titik, hasilnya adalah poligon yang menyerupai lingkaran dengan jari-jari d yang berpusat pada titik tersebut. Nilai kembali berupa biner — bungkus dengan ST_AsText() untuk mendapatkan hasil yang dapat dibaca.

Contoh

SELECT ST_AsText(ST_Buffer(ST_Point(0, 0), 0.5));

Hasil (disingkat):

+--------------------------------------------------------------------+
| ST_AsText(ST_Buffer(ST_Point(0, 0), 0.5))                         |
+--------------------------------------------------------------------+
| POLYGON ((0.5 0, 0.4989294616193014 0.03270156461507146, ...))     |
+--------------------------------------------------------------------+

Hasil lengkapnya adalah poligon yang menyerupai lingkaran berjari-jari 0,5 yang berpusat di titik asal. Poligon tersebut didefinisikan oleh 96 simpul.