All Products
Search
Document Center

Simple Log Service:Fungsi geospasial

Last Updated:Jun 22, 2026

Topik ini menjelaskan sintaks dasar dan contoh fungsi geospasial.

Konsep geospasial

Fungsi geospasial dengan awalan ST_ mematuhi standar SQL/MM dan spesifikasi OpenGIS dari Open Geospatial Consortium (OGC). Fungsi-fungsi ini menggunakan format Well-Known Text (WKT) untuk merepresentasikan geometri, seperti point, line string, dan polygon. Tabel berikut mencantumkan geometri yang didukung beserta format WKT-nya.

Geometry

WKT format

Point

POINT (0 0)

Line string

LINESTRING (0 0, 1 1, 1 2)

Polygon

POLYGON((0 0, 4 0, 4 4, 0 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1))

Multipoint

MULTIPOINT(0 0, 1 2)

Multilinestring

MULTILINESTRING((0 0, 1 1, 1 2), (2 3, 3 2, 5 4))

Multipolygon

MULTIPOLYGON(((0 0, 4 0, 4 4, 0 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)), ((-1 -1, -1 -2, -2 -2, -2 -1, -1 -1)))

Geometry collection

GEOMETRYCOLLECTION(POINT(2 3), LINESTRING(2 3, 3 4))

Fungsi

Type

Function

Syntax

Description

SQL

SPL

Constructors

ST_AsText function

ST_AsText(x)

Mengembalikan representasi Well-Known Text (WKT) dari suatu geometry.

×

ST_GeometryFromText function

ST_GeometryFromText(x)

Membuat geometry dari representasi WKT.

×

ST_LineFromText function

ST_LineFromText(x)

Membuat line string dari representasi WKT.

×

ST_Polygon function

ST_Polygon(x)

Membuat polygon dari representasi WKT.

×

ST_Point function

ST_Point(x, y)

Membuat point dari koordinat X dan Y.

×

Operators

ST_Boundary function

ST_Boundary(x)

Mengembalikan batas (boundary) suatu geometry.

×

ST_Buffer function

ST_Buffer(x, distance)

Mengembalikan geometry yang mencakup semua titik dalam jarak tertentu dari geometry input.

×

ST_Difference function

ST_Difference(x, y)

Mengembalikan bagian dari geometry pertama yang tidak berpotongan dengan geometry kedua.

×

ST_Envelope function

ST_Envelope(x)

Mengembalikan kotak pembatas (bounding box) suatu geometry.

×

ST_ExteriorRing function

ST_ExteriorRing(x)

Mengembalikan line string yang merepresentasikan cincin luar (exterior ring) suatu polygon.

×

ST_Intersection function

ST_Intersection(x, y)

Mengembalikan geometry yang merepresentasikan irisan dua geometry.

×

ST_SymDifference function

ST_SymDifference(x, y)

Mengembalikan geometry yang merepresentasikan bagian dari geometry input yang tidak saling berpotongan.

×

Spatial relationship tests

ST_Contains function

ST_Contains(x, y)

Mengembalikan true jika geometry pertama memuat geometry kedua. Batas keduanya dapat berpotongan.

×

ST_Crosses function

ST_Crosses(x, y)

Mengembalikan true jika geometry tersebut saling bersilangan.

×

ST_Disjoint function

ST_Disjoint(x, y)

Mengembalikan true jika kedua geometry tidak memiliki titik yang sama.

×

ST_Equals function

ST_Equals(x, y)

Mengembalikan true jika kedua geometry identik.

×

ST_Intersects function

ST_Intersects(x, y)

Mengembalikan true jika kedua geometry berpotongan.

×

ST_Overlaps function

ST_Overlaps(x, y)

Mengembalikan true jika dua geometry tumpang tindih. Geometry tumpang tindih jika memiliki dimensi yang sama dan irisan keduanya menghasilkan geometry dengan dimensi yang sama, tetapi keduanya tidak sama.

×

ST_Relate function

ST_Relate(x, y, patternMatrix string)

Mengembalikan true jika kedua geometry memenuhi pola hubungan spasial yang ditentukan.

×

ST_Touches function

ST_Touches(x, y)

Mengembalikan true jika kedua geometry saling bersentuhan pada batasnya tetapi interior keduanya tidak berpotongan.

×

ST_Within function

ST_Within(x, y)

Mengembalikan true jika geometry pertama sepenuhnya berada di dalam geometry kedua.

×

Accessors

ST_Area function

ST_Area(x)

Mengembalikan luas Cartesian 2D dari suatu geometry.

×

ST_Centroid function

ST_Centroid(x)

Mengembalikan pusat geometris suatu geometry.

×

ST_CoordDim function

ST_CoordDim(x)

Mengembalikan dimensi koordinat suatu geometry.

×

ST_Dimension function

ST_Dimension(x)

Mengembalikan dimensi inheren suatu geometry, yang harus kurang dari atau sama dengan dimensi koordinatnya.

×

ST_Distance function

ST_Distance(x, y)

Mengembalikan jarak minimum antara dua geometry.

×

ST_EndPoint function

ST_EndPoint(x)

Mengembalikan titik terakhir dari suatu line string.

×

ST_IsClosed function

ST_IsClosed(x)

Mengembalikan true jika titik awal dan akhir suatu line string sama.

×

ST_IsEmpty function

ST_IsEmpty(x)

Mengembalikan true jika geometry yang ditentukan kosong.

×

ST_IsRing function

ST_IsRing(x)

Mengembalikan true jika line string tertutup dan simple (berupa ring).

×

ST_Length function

ST_Length(x)

Mengembalikan panjang Cartesian 2D dari suatu line string. Jika input berupa multilinestring, mengembalikan jumlah panjang elemennya.

×

ST_NumPoints function

ST_NumPoints(x)

Mengembalikan jumlah titik (vertices) dalam suatu geometry.

×

ST_NumInteriorRing function

ST_NumInteriorRing(x)

Mengembalikan jumlah cincin dalam (interior rings) dalam suatu polygon.

×

ST_StartPoint function

ST_StartPoint(x)

Mengembalikan titik pertama dari suatu line string.

×

ST_X function

ST_X(x)

Mengembalikan koordinat X dari suatu point.

×

ST_XMax function

ST_XMax(x)

Mengembalikan koordinat X maksimum dari suatu geometry.

×

ST_XMin function

ST_XMin(x)

Mengembalikan koordinat X minimum dari suatu geometry.

×

ST_Y function

ST_Y(x)

Mengembalikan koordinat Y dari suatu point.

×

ST_YMax function

ST_YMax(x)

Mengembalikan koordinat Y maksimum dari suatu geometry.

×

ST_YMin function

ST_YMin(x)

Mengembalikan koordinat Y minimum dari suatu geometry.

×

Bing tiles

bing_tile function

bing_tile(x, y, zoom_level)

Mengembalikan Bing tile dari koordinat X dan Y serta tingkat zoom yang ditentukan.

×

bing_tile(quadKey)

Mengembalikan Bing tile dari quadtree key yang ditentukan.

×

bing_tile_at function

bing_tile_at(x, y, zoom_level)

Mengembalikan Bing tile dari lintang, bujur, dan tingkat zoom yang ditentukan.

×

bing_tile_coordinates function

bing_tile_coordinates(x)

Mengembalikan koordinat X dan Y dari suatu Bing tile.

×

bing_tile_polygon function

bing_tile_polygon(x)

Mengembalikan representasi polygon dari suatu Bing tile.

×

bing_tile_quadkey function

bing_tile_quadkey(x)

Mengembalikan quadtree key dari suatu Bing tile.

×

bing_tile_zoom_level function

bing_tile_zoom_level(x)

Mengembalikan tingkat zoom dari suatu Bing tile.

×

ST_AsText function

Mengembalikan representasi WKT dari suatu geometry.

Sintaks

ST_AsText(x)

Parameter

Parameter

Description

x

Geometry input.

Tipe nilai kembalian

Tipe kembalian adalah varchar.

Contoh

Contoh ini mengembalikan WKT dari suatu point.

  • Pernyataan kueri

    * | SELECT ST_AsText(ST_Point(1,1))
  • Hasil kueri dan analisis adalah POINT (1 1).

ST_GeometryFromText function

Membuat geometry dari representasi Well-Known Text (WKT).

Sintaks

ST_GeometryFromText(x)

Parameter

Parameter

Description

x

Parameter harus bertipe varchar.

Tipe nilai kembalian

geometry

Contoh

Membuat multipolygon.

  • Pernyataan kueri

    * | SELECT ST_GeometryFromText('multipolygon(((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))')
  • Kueri mengembalikan MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((50 40, 50 50, 60 50, 60 40, 50 40))).

ST_LineFromText function

Membuat line string dari teks WKT.

Sintaks

ST_LineFromText(x)

Parameter

Parameter

Description

x

Nilai bertipe varchar.

Tipe nilai kembalian

tipe linestring

Contoh

Membuat line string.

  • Pernyataan kueri

    * | SELECT ST_LineFromText('linestring(10 10,20 20)')
  • Hasil kueri: LINESTRING (10 10, 20 20).

ST_Polygon function

Fungsi ST_Polygon membuat polygon dari representasi WKT.

Sintaks

ST_Polygon(x)

Parameter

Parameter

Description

x

Harus berupa nilai varchar.

Tipe nilai kembalian

polygon

Contoh

Membuat polygon.

  • Pernyataan Kueri dan Analisis

    * | SELECT ST_Polygon('polygon((10 10,10 20,20 20,20 15,10 10))')
  • Hasilnya adalah POLYGON ((10 10, 20 15, 20 20, 10 20, 10 10)).

ST_Point function

Membuat point dari koordinat X dan Y yang ditentukan.

Sintaks

ST_Point(x, y)

Parameter

Parameter

Description

x

Koordinat X dari point. Tipe data harus DOUBLE.

y

Koordinat Y dari point. Tipe data harus DOUBLE.

Tipe nilai kembalian

point

Contoh

Membuat point.

  • Pernyataan kueri

    * | SELECT ST_Point(0,0)
  • Hasil kueri dalam format WKT: POINT (0 0).

ST_Boundary function

Fungsi ST_Boundary mengembalikan batas (boundary) suatu geometry.

  • Batas suatu point kosong. Fungsi mengembalikan POINT EMPTY.

  • Batas suatu line string terdiri atas titik-titik ujungnya.

  • Batas suatu polygon terdiri atas line string yang membentuk cincin luarnya dan semua cincin dalamnya.

Sintaks

ST_Boundary(x)

Parameter

Parameter

Description

x

Nilai bertipe geography.

Tipe nilai kembalian

tipe geography

Contoh

Gunakan fungsi ST_Polygon untuk membuat polygon, lalu kembalikan batasnya dengan fungsi ST_Boundary.

  • Pernyataan kueri

    * | SELECT  ST_Boundary(ST_Polygon('polygon((10 10,10 20,20 20,20 15,10 10))'))
  • Kueri mengembalikan LINESTRING (10 10, 20 15, 20 20, 10 20, 10 10).

ST_Buffer function

Fungsi ST_Buffer mengembalikan geometry yang mencakup semua titik dalam jarak tertentu dari geometry input.

Sintaks

ST_Buffer(x, distance)

Parameter

Parameter

Description

x

Geometry input.

distance

Jarak buffer.

Tipe nilai kembalian

geometry

Contoh

Contoh ini menggunakan fungsi ST_Point untuk membuat point dan fungsi ST_Buffer untuk membuat polygon pada jarak tertentu dari point tersebut.

  • Pernyataan kueri

    * | SELECT ST_Buffer(ST_Point(1,1),1)
  • Kueri mengembalikan nilai POLYGON yang mendekati lingkaran. Polygon ini terdiri atas banyak titik koordinat, dimulai dengan (2 1, 1.9978589232386...).

ST_Difference function

Mengembalikan geometry yang merepresentasikan selisih himpunan titik dua geometry.

Sintaks

ST_Difference(x, y)

Parameter

Parameter

Description

x

Nilai geometry.

y

Nilai geometry.

Tipe nilai kembalian

Nilai geometry.

Contoh

Membuat dua geometry dengan fungsi ST_GeometryFromText, lalu menghitung selisih himpunan titiknya dengan fungsi ST_Difference.

  • Pernyataan Kueri dan Analisis

    * |
    SELECT
      ST_Difference(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,0 15,0 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      ) AS "Difference"
  • Kueri mengembalikan hasil berikut: MULTIPOLYGON (((0 10, 10 10, 10 17.5, 0 15, 0 10)), ((50 40, 60 40, 50 50, 50 40))).

ST_Envelope function

Mengembalikan kotak pembatas (bounding box) suatu geometry.

Sintaks

ST_Envelope(x)

Parameter

Parameter

Description

x

Nilai geometry.

Tipe nilai kembalian

geometry

Contoh

Contoh ini membuat geometry dengan fungsi ST_GeometryFromText dan mengembalikan kotak pembatasnya dengan fungsi ST_Envelope.

  • Pernyataan Kueri dan Analisis

    * |
    SELECT
      ST_Envelope(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      ) 
  • Kueri mengembalikan POLYGON ((10 10, 60 10, 60 50, 10 50, 10 10)).

ST_ExteriorRing function

Mengembalikan cincin luar (exterior ring) suatu geometry sebagai linestring.

Sintaks

ST_ExteriorRing(x)

Parameter

Parameter

Description

x

Geometry polygon atau multipolygon input.

Tipe nilai kembalian

geometry

Contoh

Contoh ini menggunakan ST_GeometryFromText untuk membuat geometry dan ST_ExteriorRing untuk mengembalikan cincin luarnya.

  • Pernyataan kueri

    * |
    SELECT
      ST_ExteriorRing(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Kueri mengembalikan LINESTRING (10 10, 10 20, 20 20, 20 15, 10 10).

ST_Intersection

Mengembalikan irisan dua geometry.

Sintaks

ST_Intersection(x, y)

Parameter

Parameter

Description

x

Geometry pertama.

y

Geometry kedua.

Tipe nilai kembalian

geometry

Contoh

Contoh ini menggunakan fungsi ST_GeometryFromText untuk membuat dua geometry dan fungsi ST_Intersection untuk menghitung irisannya.

  • Pernyataan kueri

    * |
    SELECT
      ST_Intersection(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      ) 
  • Hasil kueri: MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((50 40, 50 50, 60 50, 60 40, 50 40))).

ST_SymDifference function

Mengembalikan geometry yang merepresentasikan selisih simetris dua geometry.

Sintaks

ST_SymDifference(x, y)

Parameter

Parameter

Description

x

Geometry.

y

Geometry.

Tipe nilai kembalian

geometry

Contoh

Contoh ini menggunakan fungsi ST_GeometryFromText untuk membuat dua geometry dan fungsi ST_SymDifference untuk menghitung selisih simetrisnya.

  • Pernyataan kueri

    * |
    SELECT
      ST_SymDifference(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Kueri mengembalikan GEOMETRYCOLLECTION EMPTY.

ST_Contains function

ST_Contains mengembalikan true jika geometry pertama memuat geometry kedua. Kedua geometry dapat berpotongan pada batasnya.

Sintaks

ST_Contains(x, y)

Parameter

Parameter

Description

x

Geometry input pertama.

y

Geometry input kedua.

Tipe nilai kembalian

boolean

Contoh

Contoh ini memeriksa apakah suatu polygon memuat suatu point.

  • Pernyataan kueri

    * |
    SELECT
      ST_Contains(
        ST_GeometryFromText(
          'polygon((10 10,10 20,20 20,20 15,10 10))'
        ),
        ST_GeometryFromText(
          'point(11 11)'
        )
      )
  • Kueri mengembalikan true.

ST_Crosses function

Fungsi ST_Crosses mengembalikan true jika dua geometry memiliki titik interior yang sama.

Sintaks

ST_Crosses(x, y)

Parameter

Parameter

Description

x

Nilai geometry.

y

Nilai geometry.

Tipe nilai kembalian

Nilai boolean.

Contoh

Contoh ini menggunakan fungsi ST_GeometryFromText untuk membuat dua geometry dan fungsi ST_Crosses untuk menentukan apakah keduanya memiliki titik interior yang sama.

  • Pernyataan kueri

    * |
    SELECT
      ST_Crosses(
        ST_GeometryFromText(
          'multipolygon (((10 10, 10 20, 20 20, 20 15 , 10 10), (50 40, 50 50, 60 50, 60 40, 50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10, 10 20, 20 20, 20 15 , 10 10), (50 40, 50 50, 60 50, 60 40, 50 50)))'
        )
      )
  • Kueri mengembalikan false.

ST_Disjoint

Fungsi ST_Disjoint memeriksa apakah dua geometry saling lepas (disjoint). Fungsi ini mengembalikan true jika geometry tersebut tidak berpotongan.

Sintaks

ST_Disjoint(x, y)

Parameter

Parameter

Description

x

Nilai geometry.

y

Nilai geometry.

Tipe nilai kembalian

boolean

Contoh

Contoh ini membuat dua geometry dengan ST_GeometryFromText lalu menggunakan ST_Disjoint untuk memeriksa apakah keduanya berpotongan.

  • Pernyataan kueri

    * |
    SELECT
       ST_Disjoint(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • Kueri mengembalikan false.

ST_Equals function

Fungsi ST_Equals menentukan apakah dua geometry identik, mengembalikan true jika iya.

Sintaks

ST_Equals(x, y)

Parameter

Parameter

Description

x

Geometry pertama.

y

Geometry kedua.

Tipe nilai kembalian

boolean

Contoh

Contoh ini menggunakan fungsi ST_GeometryFromText untuk membuat dua geometry dan fungsi ST_Equals untuk memeriksa apakah keduanya identik.

  • Pernyataan kueri

    * |
    SELECT
       ST_Equals(
        ST_GeometryFromText(
          'multipolygon(((10 10,10 20,20 20,20 15,10 10),(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon(((10 10,10 20,20 20,20 15,10 10),(50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • Kueri mengembalikan false.

ST_Intersects function

Mengembalikan true jika proyeksi planar dua geometry berpotongan.

Sintaks

ST_Intersects(x, y)

Parameter

Parameter

Description

x

Nilai bertipe geometry.

y

Nilai bertipe geometry.

Tipe nilai kembalian

boolean

Contoh

Gunakan fungsi ST_GeometryFromText untuk membuat dua geometry, lalu gunakan fungsi ST_Intersects untuk memeriksa apakah keduanya berpotongan.

  • Kueri contoh

    * |
    SELECT
       ST_Intersects(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • Hasil kueri adalah true.

ST_Overlaps function

Fungsi ST_Overlaps mengembalikan true jika dua geometry dengan dimensi yang sama tumpang tindih, tetapi tidak ada yang sepenuhnya memuat yang lain.

Sintaks

ST_Overlaps(x, y)

Parameter

Parameter

Description

x

Geometry input pertama.

y

Geometry input kedua.

Tipe nilai kembalian

boolean

Contoh

Contoh ini membuat dua geometry menggunakan fungsi ST_GeometryFromText lalu memeriksa apakah keduanya tumpang tindih menggunakan fungsi ST_Overlaps.

  • Pernyataan Kueri dan Analisis

    * |
    SELECT
      ST_Overlaps(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • Kueri mengembalikan false.

ST_Relate function

Fungsi ST_Relate menentukan apakah dua geometry saling berhubungan dengan memeriksa apakah interior atau batasnya berpotongan. Fungsi ini mengembalikan true jika iya.

Sintaks

ST_Relate(x, y, patternMatrix string)

Parameter

Parameter

Description

x

Nilai geometry.

y

Nilai geometry.

patternMatrix string

String matriks pola DE-9IM. Nilainya bertipe varchar.

Tipe nilai kembalian

boolean

Contoh

Contoh ini membuat dua geometry dengan fungsi ST_GeometryFromText lalu menggunakan fungsi ST_Relate untuk memeriksa apakah keduanya saling berhubungan secara spasial.

  • Pernyataan kueri

    * |
    SELECT
      ST_Relate(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        ),  '****T****'
      )
  • Kueri mengembalikan true.

ST_Touches function

Fungsi ST_Touches mengembalikan true jika dua geometry saling bersentuhan pada batasnya tetapi interior keduanya tidak berpotongan.

Sintaks

ST_Touches(x, y)

Parameter

Parameter

Description

x

Geometry pertama.

y

Geometry kedua.

Tipe nilai kembalian

Mengembalikan nilai boolean.

Contoh

Kueri berikut menggunakan fungsi ST_GeometryFromText untuk membuat dua geometry dan fungsi ST_Touches untuk memeriksa apakah keduanya saling bersentuhan.

  • Pernyataan kueri

    * |
    SELECT
       ST_Touches(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • Kueri mengembalikan false.

ST_Within function

Fungsi ST_Within mengembalikan true jika geometry pertama sepenuhnya berada di dalam geometry kedua dan batas keduanya tidak berpotongan.

Sintaks

ST_Within(x, y)

Parameter

Parameter

Description

x

Geometry input pertama.

y

Geometry input kedua.

Tipe nilai kembalian

boolean

Contoh

Contoh ini membuat dua geometry menggunakan fungsi ST_GeometryFromText lalu menggunakan fungsi ST_Within untuk menentukan apakah geometry pertama sepenuhnya berada di dalam geometry kedua.

  • Pernyataan Kueri dan Analisis

    * |
    SELECT
      ST_Within(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • Kueri mengembalikan false.

ST_Area function

Fungsi ST_Area menghitung luas proyeksi suatu geometry pada bidang dua dimensi menggunakan Jarak Euclidean.

Sintaks

ST_Area(x)

Parameter

Parameter

Description

x

Geometry input.

Tipe nilai kembalian

double

Contoh

Contoh ini menghitung luas suatu multipolygon.

  • Pernyataan kueri

    * |
    SELECT
      ST_Area(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Mengembalikan -25.0.

ST_Centroid function

Fungsi ST_Centroid mengembalikan pusat matematis suatu geometry input sebagai point.

Sintaks

ST_Centroid(x)

Parameter

Parameter

Description

x

Geometry input.

Tipe nilai kembalian

geometry

Contoh

Contoh ini menghitung pusat suatu geometry multipolygon.

  • Pernyataan Kueri dan Analisis

    * |
    SELECT
      ST_Centroid(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Pernyataan mengembalikan POINT (176.66666666666669 131.66666666666669).

ST_CoordDim function

Fungsi ST_CoordDim mengembalikan dimensi koordinat suatu geometry.

Sintaks

ST_CoordDim(x)

Parameter

Parameter

Description

x

Nilai geometry.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi ST_GeometryFromText untuk membuat geometry lalu gunakan fungsi ST_CoordDim untuk mengembalikan dimensi koordinatnya.

  • Pernyataan kueri

    * |
    SELECT
      ST_CoordDim(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Kueri mengembalikan 2.

ST_Dimension function

Mengembalikan dimensi inheren suatu geometry, yang tidak boleh melebihi dimensi koordinatnya.

Sintaks

ST_Dimension(x)

Parameter

Parameter

Description

x

Nilai geometry.

  • Jika x berupa point atau geometry kosong, fungsi mengembalikan 0.

  • Jika x berupa line string, fungsi mengembalikan 1.

  • Jika x berupa polygon, fungsi mengembalikan 2.

  • Jika x berupa geometry collection, fungsi mengembalikan dimensi maksimum dari geometry dalam koleksi tersebut.

Tipe nilai kembalian

bigint

Contoh

Contoh ini menggunakan ST_Dimension untuk menemukan dimensi inheren suatu geometry yang dibuat oleh ST_GeometryFromText.

  • Pernyataan kueri

    * |
    SELECT
      ST_Dimension(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Kueri mengembalikan 2.

ST_Distance function

Mengembalikan jarak minimum antara dua geometry.

Sintaks

ST_Distance(x, y)

Parameter

Parameter

Description

x

Nilai geometry.

y

Nilai geometry.

Tipe nilai kembalian

double

Contoh

Contoh ini menggunakan fungsi ST_GeometryFromText untuk membuat dua geometry dan fungsi ST_Distance untuk menghitung jarak minimum di antara keduanya.

  • Pernyataan kueri

    * |
    SELECT
      ST_Distance(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Hasil kueri adalah 0.0.

ST_EndPoint function

ST_EndPoint mengembalikan titik terakhir dari suatu line string.

Sintaks

ST_EndPoint(x)

Parameter

Parameter

Description

x

Nilai bertipe geometry.

Tipe nilai kembalian

Nilai bertipe point.

Contoh

Membuat line string dengan ST_LineFromText, lalu menggunakan ST_EndPoint untuk mengembalikan titik terakhir.

  • Pernyataan Kueri dan Analisis

    * |
    SELECT
      ST_EndPoint(
        ST_LineFromText(
          'linestring (10 10,20 20)'
        )
      )
  • Mengembalikan POINT (20 20).

ST_IsClosed

Fungsi ST_IsClosed mengembalikan true jika suatu geometry tertutup.

Sintaks

ST_IsClosed(x)

Parameter

Parameter

Description

x

Geometry yang akan diperiksa.

Tipe nilai kembalian

Nilai boolean.

Contoh

Contoh ini menggunakan ST_LineFromText untuk membuat line string dan ST_IsClosed untuk memeriksa apakah line string tersebut tertutup.

  • Pernyataan kueri

    * |
    SELECT
      ST_IsClosed(
        ST_LineFromText(
          'linestring (10.05 10.28 , 20.95 20.89 )'
        )
      )
  • Hasil kueri: false.

ST_IsEmpty function

Fungsi ST_IsEmpty mengembalikan true jika geometry input kosong.

Sintaks

ST_IsEmpty(x)

Parameter

Parameter

Description

x

Input harus berupa nilai bertipe geometry.

Tipe nilai kembalian

Nilai boolean.

Contoh

Gunakan fungsi ST_Point untuk membuat point, lalu fungsi ST_IsEmpty untuk memeriksa apakah point tersebut kosong.

  • Pernyataan kueri

    * | SELECT ST_IsEmpty(ST_Point(1,1))
  • Hasil kueri dan analisis adalah false.

ST_IsRing function

Fungsi ST_IsRing mengembalikan true jika geometry input berupa ring (line string yang tertutup dan simple).

Sintaks

ST_IsRing(x)

Parameter

Parameter

Description

x

Parameter harus bertipe geometry.

Tipe nilai kembalian

Boolean

Contoh

Contoh ini membuat line string dengan ST_LineFromText lalu memeriksa apakah berupa ring dengan ST_IsRing.

  • Pernyataan kueri

    * |
    SELECT
      ST_IsRing(
        ST_LineFromText(
          'linestring (10.05 10.28,20.95 20.89 )'
        )
      )
  • Kueri mengembalikan false.

ST_Length function

Fungsi ST_Length menghitung panjang proyeksi 2D suatu line string menggunakan Jarak Euclidean. Untuk multilinestring, fungsi ini mengembalikan jumlah panjang line string penyusunnya.

Sintaks

ST_Length(x)

Parameter

Parameter

Description

x

Nilai geometry.

Tipe nilai kembalian

Nilai double.

Contoh

Gunakan ST_LineFromText untuk membuat line string dan ST_Length untuk menghitung panjangnya.

  • Pernyataan kueri

    * |
    SELECT
      ST_Length(
        ST_LineFromText(
          'linestring (10.05 10.28,20.95 20.89)'
        )
      )
  • Kueri mengembalikan 15.211249126879752.

ST_NumPoints function

Mengembalikan jumlah titik dalam suatu geometry.

Sintaks

ST_NumPoints(x)

Parameter

Parameter

Description

x

Nilai geometry.

Tipe nilai kembalian

bigint

Contoh

Contoh ini pertama-tama membuat line string dengan fungsi ST_LineFromText, lalu menggunakan fungsi ST_NumPoints untuk mengembalikan jumlah titik di dalamnya.

  • Pernyataan kueri

    * |
    SELECT
      ST_NumPoints(
        ST_LineFromText('linestring (10 10,20 20)')
      )
  • Hasil kueri: 2.

ST_NumInteriorRing function

Mengembalikan jumlah cincin dalam (interior rings) dalam suatu geometry.

Sintaks

ST_NumInteriorRing(x)

Parameter

Parameter

Description

x

Objek geometry.

Tipe nilai kembalian

Nilai bigint.

Contoh

Contoh ini menggunakan ST_GeometryFromText untuk membuat geometry dan ST_NumInteriorRing untuk menghitung jumlah cincin dalamnya.

  • Pernyataan kueri

    * |
    SELECT
      ST_NumInteriorRing(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Kueri mengembalikan 1.

ST_StartPoint function

Mengembalikan titik pertama dari suatu line string.

Sintaks

ST_StartPoint(x)

Parameter

Parameter

Description

x

Menentukan line string input.

Tipe nilai kembalian

point

Contoh

Contoh ini membuat line string dengan fungsi ST_LineFromText lalu mengembalikan titik pertamanya menggunakan fungsi ST_StartPoint.

  • Pernyataan kueri

    * |
    SELECT
      ST_StartPoint(
        ST_LineFromText(
          'linestring (10 10,20 20 )'
        )
      )
  • Hasil kueri: POINT (10 10).

ST_X function

Mengembalikan koordinat X dari suatu point input.

Sintaks

ST_X(x)

Parameter

Parameter

Description

x

Parameter harus berupa point.

Tipe nilai kembalian

Tipe kembalian adalah double.

Contoh

Contoh ini menggunakan fungsi ST_Point untuk membuat point dan ST_X untuk mengembalikan koordinat X-nya.

  • Pernyataan kueri

    * | SELECT ST_X(ST_Point(1,3))
  • Kueri mengembalikan 1.0.

ST_XMax function

ST_XMax mengembalikan koordinat x maksimum dari suatu geometry.

Sintaks

ST_XMax(x)

Parameter

Parameter

Description

x

Nilai geometry.

Tipe nilai kembalian

Mengembalikan double.

Contoh

Gunakan fungsi ST_GeometryFromText untuk membuat geometry, lalu gunakan fungsi ST_XMax untuk mengembalikan koordinat x maksimumnya.

  • Pernyataan kueri

    * |
    SELECT
      ST_XMax(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Kueri mengembalikan 60.0.

ST_XMin function

Fungsi ST_XMin mengembalikan koordinat x minimum dari suatu geometry.

Sintaks

ST_XMin(x)

Parameter

Parameter

Description

x

Geometry input.

Tipe nilai kembalian

double

Contoh

Contoh ini membuat geometry dengan fungsi ST_GeometryFromText lalu menggunakan fungsi ST_XMin untuk mengembalikan koordinat x minimumnya.

  • Pernyataan kueri

    * |
    SELECT
      ST_XMin(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Hasil kueri: 10.0.

ST_Y function

Mengembalikan koordinat y dari suatu point input.

Sintaks

ST_Y(x)

Parameter

Parameter

Description

x

Nilai bertipe point.

Tipe nilai kembalian

Nilai bertipe double.

Contoh

Contoh ini menggunakan fungsi ST_Point untuk membuat point dan fungsi ST_Y untuk mengambil koordinat y-nya.

  • Pernyataan Kueri dan Analisis

    * | SELECT ST_Y(ST_Point(1,3))
  • Hasil kueri dan analisis: 3.0

ST_YMax function

Fungsi ST_YMax mengembalikan koordinat y maksimum dari suatu geometry.

Sintaks

ST_YMax(x)

Parameter

Parameter

Description

x

Nilai geometry.

Tipe nilai kembalian

double

Contoh

Contoh ini membuat geometry dengan fungsi ST_GeometryFromText dan mengembalikan koordinat y maksimumnya dengan fungsi ST_YMax.

  • Pernyataan Kueri dan Analisis

    * |
    SELECT
      ST_YMax(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Hasil kueri: 50.0.

ST_YMin function

Mengembalikan koordinat Y minimum dari suatu geometry.

Sintaks

ST_YMin(x)

Parameter

Parameter

Description

x

Geometry input.

Tipe nilai kembalian

double

Contoh

Contoh ini menggunakan fungsi ST_GeometryFromText untuk membuat geometry dan fungsi ST_YMin untuk mengembalikan koordinat Y minimumnya.

  • Pernyataan Kueri dan Analisis

    * |
    SELECT
      ST_YMin(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Hasilnya adalah 10.0.

bing_tile

Fungsi bing_tile membuat Bing tile.

Sintaks

  • Membuat Bing tile dari koordinat x, koordinat y, dan tingkat zoom.

    bing_tile(x, y, zoom_level)
  • Membuat Bing tile dari quadtree key.

    bing_tile(quadKey)

Parameter

Parameter

Description

x

Koordinat x. Harus berupa integer.

y

Koordinat y. Harus berupa integer.

zoom_level

Tingkat zoom. Harus berupa integer dari 1 hingga 23.

quadKey

Quadtree key.

Tipe nilai kembalian

Mengembalikan Bing tile.

Contoh

  • Contoh 1: Membuat Bing tile dari koordinat x, koordinat y, dan tingkat zoom.

    • Pernyataan kueri

      * | SELECT bing_tile(10, 20, 20)
    • Hasil kueri: {"x":10,"y":20,"zoom":20}.

  • Contoh 2: Membuat Bing tile dari quadtree key.

    • Pernyataan kueri

      * | SELECT bing_tile(bing_tile_quadkey(bing_tile(10, 20, 20)))
    • Hasil kueri: {"x":10,"y":20,"zoom":20}.

Bing_tile_at function

Fungsi bing_tile_at membuat Bing tile dari lintang, bujur, dan tingkat zoom.

Sintaks

bing_tile_at(x, y, zoom_level)

Parameter

Parameter

Description

x

Lintang, sebagai nilai double dalam rentang [-85.05112878, 85.05112878].

y

Bujur, sebagai nilai double dalam rentang [-180, 180].

zoom_level

Tingkat zoom, sebagai integer dari 1 hingga 23.

Tipe nilai kembalian

Objek BingTile.

Contoh

Contoh ini membuat Bing tile.

  • Kueri

    * | SELECT bing_tile_at(47.265511, -122.465691, 12)
  • Kueri mengembalikan {"x":654,"y":1436,"zoom":12}.

bing_tile_coordinates function

Mengembalikan koordinat X dan Y dari Bing tile yang ditentukan.

Sintaks

bing_tile_coordinates(x)

Parameter

Parameter

Description

x

Nilai BingTile.

Tipe nilai kembalian

Mengembalikan array dua integer: [X, Y].

Contoh

Contoh ini mengambil koordinat untuk Bing tile yang ditentukan.

  • Pernyataan kueri

    * | SELECT bing_tile_coordinates(bing_tile_at(47.265511, -122.465691, 12))
  • Hasil: [654,1436].

bing_tile_polygon

Mengembalikan representasi polygon dari Bing tile.

Sintaks

bing_tile_polygon(x)

Parameter

Parameter

Description

x

Nilai BingTile.

Tipe nilai kembalian

polygon

Contoh

Mengembalikan representasi polygon dari Bing tile.

  • Pernyataan kueri

    * | SELECT bing_tile_polygon(bing_tile_at(30.26, 120.19, 12))
  • Hasil kueri: POLYGON ((120.146484375 30.297017883372042, 120.146484375 30.221101852485987, 120.234375 30.221101852485987, 120.234375 30.297017883372042, 120.146484375 30.297017883372042)).

Bing_tile_quadkey

Fungsi bing_tile_quadkey mengembalikan quadtree key untuk Bing tile.

Sintaks

bing_tile_quadkey(x)

Parameter

Parameter

Description

x

Nilai BingTile.

Tipe nilai kembalian

varchar

Contoh

Contoh ini mengonversi tile pada koordinat (10, 20) dan tingkat zoom 20 menjadi quadtree key-nya.

  • Pernyataan kueri

    * | SELECT bing_tile_quadkey(bing_tile(10, 20, 20))
  • Kueri mengembalikan quadtree key 000000000000021210.

bing_tile_zoom_level function

Mengembalikan tingkat zoom dari Bing tile.

Sintaks

bing_tile_zoom_level(x)

Parameter

Parameter

Description

x

Objek BingTile.

Tipe nilai kembalian

double

Contoh

Contoh berikut menghitung tingkat zoom untuk Bing tile tertentu.

  • Pernyataan kueri

    * | SELECT bing_tile_zoom_level(bing_tile(10, 20, 20))
  • Hasil kueri: 20.