Terminologi untuk data spasial Amazon Redshift - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terminologi untuk data spasial Amazon Redshift

Istilah berikut digunakan untuk menggambarkan beberapa fungsi spasial Amazon Redshift.

Kotak pembatas

Kotak pembatas geometri atau geografi didefinisikan sebagai produk silang (lintas dimensi) dari luasan koordinat semua titik dalam geometri atau geografi. Untuk geometri dua dimensi, kotak pembatas adalah persegi panjang yang sepenuhnya mencakup semua titik dalam geometri. Misalnya, kotak pembatas poligon POLYGON((0 0,1 0,0 2,0 0)) adalah persegi panjang yang ditentukan oleh titik (0, 0) dan (1, 2) sebagai sudut kiri bawah dan kanan atas. Amazon Redshift menghitung dan menyimpan kotak pembatas di dalam geometri untuk mempercepat predikat geometris dan gabungan spasial. Misalnya jika kotak pembatas dari dua geometri tidak berpotongan, maka kedua geometri ini tidak dapat berpotongan, dan mereka tidak dapat berada dalam kumpulan hasil gabungan spasial menggunakan predikat ST_Intersects.

Anda dapat menggunakan fungsi spasial untuk menambahkan (AddBbox), menjatuhkan (DropbBox), dan menentukan support (DukunganBBOX) untuk kotak pembatas. Amazon Redshift mendukung precomputaton kotak pembatas untuk semua subtipe geometri.

Contoh berikut menunjukkan cara memperbarui geometri yang ada dalam tabel untuk menyimpannya dengan kotak pembatas. Jika cluster Anda berada di cluster versi 1.0.26809 atau yang lebih baru, maka semua geometri baru dibuat dengan kotak pembatas yang telah dihitung sebelumnya secara default.

UPDATE my_table SET geom = AddBBox(geom) WHERE SupportsBBox(geom) = false;

Setelah Anda memperbarui geometri yang ada, kami sarankan Anda menjalankan VACUUM perintah pada tabel yang diperbarui. Untuk informasi selengkapnya, lihat VACUUM.

Untuk mengatur apakah geometri dikodekan dengan kotak pembatas selama sesi, lihat. default_geometry_encoding

Validitas geometris

Algoritma geometris yang digunakan oleh Amazon Redshift mengasumsikan bahwa geometri input adalah geometri yang valid. Jika input ke algoritma tidak valid, maka hasilnya tidak terdefinisi. Bagian berikut menjelaskan definisi validitas geometris yang digunakan oleh Amazon Redshift untuk setiap subtipe geometri.

Poin

Sebuah poin dianggap valid jika salah satu dari kondisi berikut benar:

  • Intinya adalah titik kosong.

  • Semua koordinat titik adalah bilangan floating point terbatas.

Sebuah titik bisa menjadi titik kosong.

Tali garis

Sebuah linestring dianggap valid jika salah satu kondisi berikut benar:

  • Linestring kosong; artinya, tidak mengandung poin.

  • Semua titik dalam linestring yang tidak kosong memiliki koordinat yang merupakan bilangan floating point terbatas.

  • Linestring, jika tidak kosong, harus satu dimensi; artinya, ia tidak dapat merosot ke suatu titik.

Sebuah linestring tidak dapat berisi poin kosong.

Sebuah linestring dapat memiliki duplikat poin berturut-turut.

Sebuah linestring dapat memiliki persimpangan sendiri.

Polygon

Poligon dianggap valid jika salah satu dari kondisi berikut ini benar:

  • Poligon kosong; artinya, tidak mengandung cincin.

  • Jika tidak kosong, poligon valid jika semua kondisi berikut benar:

    • Semua cincin poligon valid. Cincin dianggap valid jika semua kondisi berikut benar:

      • Semua titik cincin memiliki koordinat yang merupakan bilangan floating point yang terbatas.

      • Cincin ditutup; yaitu, titik pertama dan titik terakhirnya bertepatan.

      • Cincin itu tidak memiliki persimpangan sendiri.

      • Cincin itu dua dimensi.

    • Cincin poligon memiliki orientasi yang konsisten. Artinya, jika Anda melintasi cincin apa pun, bagian dalam poligon ada di sebelah kanan atau ke kiri Anda. Ini berarti bahwa jika cincin eksterior poligon berorientasi searah jarum jam atau berlawanan arah jarum jam, semua cincin interior poligon harus memiliki orientasi berlawanan arah jarum jam atau searah jarum jam yang sama.

    • Semua cincin interior harus berada di dalam cincin eksterior poligon.

    • Cincin interior tidak bisa bersarang; artinya, cincin interior tidak bisa berada di dalam cincin interior lain.

    • Cincin interior dan eksterior hanya dapat berpotongan pada sejumlah titik yang terbatas.

    • Bagian dalam poligon harus terhubung secara sederhana.

Poligon tidak dapat berisi titik kosong.

Multipoint

Multipoint dianggap valid jika salah satu dari kondisi berikut benar:

  • Multipoint kosong; artinya, tidak mengandung poin.

  • Multipoint tidak kosong, dan semua poin valid sesuai dengan definisi validitas titik.

Sebuah multipoint dapat berisi satu atau lebih titik kosong.

Multipoint dapat memiliki poin duplikat.

Multiinestring

Sebuah multilinestring dianggap valid jika salah satu kondisi berikut benar:

  • Multilinestring kosong; artinya, tidak mengandung linestrings.

  • Semua linestring dalam multilinestring nonempty valid sesuai dengan definisi validitas linestring.

Sebuah multilinestring nonempty yang hanya terdiri dari linestring kosong dianggap valid.

Sebuah linestring kosong dalam multilinestring tidak mempengaruhi validitasnya.

Sebuah multilinestring dapat memiliki linestrings dengan duplikat titik berturut-turut.

Sebuah multilinestring dapat memiliki persimpangan sendiri.

Sebuah multilinestring tidak dapat berisi poin kosong.

Multipoligon

Multipoligon dianggap valid jika salah satu dari kondisi berikut benar:

  • Multipoligon tidak mengandung poligon apa pun (kosong).

  • Multipoligon tidak kosong dan semua hal berikut ini benar:

    • Semua poligon dalam multipoligon valid.

    • Tidak ada dua poligon dalam multipoligon yang dapat berpotongan pada jumlah titik yang tak terbatas. Secara khusus, ini menyiratkan bahwa bagian dalam dua poligon tidak dapat berpotongan dan bahwa mereka hanya dapat menyentuh pada sejumlah titik yang terbatas.

Poligon kosong dalam multipoligon tidak membatalkan multipoligon.

Multipoligon tidak dapat berisi titik kosong.

Koleksi geometri

Koleksi geometri dianggap valid jika salah satu dari kondisi berikut benar:

  • Koleksi geometri kosong; artinya, tidak mengandung geometri apa pun.

  • Semua geometri dalam koleksi geometri nonempty valid.

Definisi ini masih berlaku, meskipun secara rekursif, untuk koleksi geometri bersarang.

Koleksi geometri dapat berisi titik kosong dan multipoint dengan titik kosong.

Kesederhanaan geometris

Algoritma geometris yang digunakan oleh Amazon Redshift mengasumsikan bahwa geometri input adalah geometri yang valid. Jika input ke algoritme tidak valid, maka pemeriksaan kesederhanaan tidak terdefinisi. Bagian berikut menjelaskan definisi kesederhanaan geometris yang digunakan oleh Amazon Redshift untuk setiap subtipe geometri.

Poin

Poin yang valid dianggap sederhana jika salah satu dari kondisi berikut benar:

  • Poin yang valid selalu dianggap sederhana.

  • Titik kosong dianggap sederhana.

Tali garis

Sebuah linestring yang valid dianggap sederhana jika salah satu kondisi berikut benar:

  • Linestring kosong.

  • Linestring tidak kosong dan semua kondisi berikut benar:

    • Ini tidak memiliki poin duplikat berturut-turut.

    • Ia tidak memiliki persimpangan diri, kecuali mungkin untuk poin pertama dan titik terakhir, yang dapat bertepatan. Dengan kata lain, linestring tidak dapat memiliki persimpangan sendiri kecuali pada titik batas.

Polygon

Poligon yang valid dianggap sederhana jika tidak mengandung duplikat poin berurutan.

Multipoint

Multipoint yang valid dianggap sederhana jika salah satu dari kondisi berikut benar:

  • Multipoint kosong; artinya, tidak mengandung poin.

  • Tidak ada dua titik nonempty dari multipoint yang bertepatan.

Multilinestring

Sebuah multilinestring yang valid dianggap sederhana jika salah satu kondisi berikut benar:

  • Multilinestring kosong.

  • Multilinestring adalah nonempty dan semua kondisi berikut adalah true:

    • Semua garis keturunannya sederhana.

    • Setiap dua garis garis dari multilinestring tidak berpotongan, kecuali pada titik-titik yang merupakan titik batas dari dua garis garis.

Sebuah multilinestring nonempty yang hanya terdiri dari linestrings kosong dianggap kosong.

Sebuah linestring kosong dalam multilinestring tidak mempengaruhi kesederhanaannya.

Sebuah linestring tertutup dalam multilinestring tidak dapat berpotongan dengan linestring lain di multilinestring.

Sebuah multilinestring tidak dapat memiliki linestring dengan duplikat titik berurutan.

Multipoligon

Multipoligon yang valid dianggap sederhana jika tidak mengandung duplikat poin berurutan.

Koleksi geometri

Koleksi geometri yang valid dianggap sederhana jika salah satu dari kondisi berikut benar:

  • Koleksi geometri kosong; artinya, tidak mengandung geometri apa pun.

  • Semua geometri dalam koleksi geometri yang tidak kosong sederhana.

Definisi ini masih berlaku, meskipun secara rekursif, untuk koleksi geometri bersarang.

H3

H3 adalah sistem grid pengindeksan geospasial hierarkis, yang menawarkan cara untuk mengindeks koordinat spasial hingga resolusi meter persegi. Data yang diindeks dapat digabungkan di seluruh kumpulan data yang berbeda dan digabungkan pada tingkat presisi yang berbeda. H3 memungkinkan berbagai algoritma dan pengoptimalan berdasarkan grid, termasuk tetangga terdekat, jalur terpendek, perataan gradien, dan banyak lagi. Indeks H3 mengacu pada sel yang dapat berupa segi enam atau segi lima. Ruang dibagi lagi secara hierarkis diberi resolusi. H3 mendukung 16 resolusi dari 0-15, inklusif. Dengan 0 menjadi yang paling kasar dan 15 menjadi yang terbaik.

Amazon Redshift menyediakan fungsi spasial H3 berikut: