Saya membaca utas tentang ekstensi geospasial untuk Presto dalam masalah Github ini , di mana sebuah fungsi, line_locate_point
diperkenalkan. Itu didasarkan pada ST_LineLocatePoint
fungsi PostGIS , yang mengembalikan pelampung mewakili fraksi sepanjang garis titik terdekat pada garis itu ke lokasi tertentu.
Pertanyaannya adalah mengapa ini dinamai line_locate_point
dan tidak ST_LineLocatePoint
seperti versi PostGIS. Responsnya adalah bahwa fungsi ini tidak ada dalam standar SQL / MM Bagian 3, dan karenanya tidak boleh dimulai dengan ST_
.
Membaca dengan cepat melalui standar, saya tidak melihat komentar tentang bagaimana menangani kasus di mana Anda memperkenalkan fungsi spasial ke database Anda yang tidak ada dalam standar. Apakah semangat ST_
awalan untuk membedakan fungsi spasial dari fungsi non-spasial (seperti yang terlihat pada PostGIS), atau apakah ini menunjukkan bahwa fungsi tersebut sesuai dengan fungsi yang setara dalam SQL / MM Bagian 3?
Melihat keadaan API Presto saat ini , saya harus mengatakan bahwa pendekatan yang terakhir terlihat kurang bersih dan menimbulkan beberapa kebingungan mengapa nama-nama itu tidak konsisten, tetapi mungkin ini dapat diatasi dengan catatan sederhana di bagian atas.
Pertanyaan saya, kemudian, adalah apakah ada beberapa aspek dari standar yang saya abaikan yang memungkinkan untuk ekstensi di luar set objek spasial yang ditentukan, atau sebagai alternatif, jika ini secara tegas dilarang oleh aturan tertulis atau tidak tertulis dari mengikuti standar .
sumber
Jawaban:
Spesifikasi OpenSpatial mengatakan banyak hal tentang ini,
Dan,
Dari Draft Komite ini ISO / IEC CD13249-3 ed 5
Jadi inilah yang kita miliki,
ST_
awalan ..Saya akan mengatakan ini,
ST_
harus dianggap sebagai kata kunci yang tidak dicadangkan untuk pengguna akhir. Sebenarnya tidak ada alasan untuk membuat fungsi pengguna akhir dengan awalan ini. Anda lebih baik hanya menggunakanSTx_
. Kami tahu setidaknya dua badan yang telah menerbitkan dengan saran awalan ini (OpenSpatial) SQL / MM dan ISO. Selain itu, banyak simbol polusi RDBMS dengan awalan itu.Mungkin ada lebih banyak sejarah, tetapi saya tidak dapat menemukan informasi kontemporer mengenai hal ini.
sumber