Я читал тему о геопространственном расширении для Presto в этом выпуске Github , где была представлена функция line_locate_point
. Он основан на ST_LineLocatePoint
функции PostGIS , которая возвращает число с плавающей запятой, представляющее дробь вдоль линии ближайшей точки на этой линии в заданном месте.
Был задан вопрос, почему он был назван, line_locate_point
а не ST_LineLocatePoint
как версия PostGIS. Ответ был таков: эта функция не существует в стандарте SQL / MM Part 3 и поэтому не должна начинаться с ST_
.
Быстро читая стандарт, я не вижу никаких комментариев о том, как обрабатывать случаи, когда вы вводите пространственную функцию в вашу базу данных, которая не входит в стандарт. Является ли смысл ST_
префикса отличать пространственные функции от непространственных функций (как это имеет место в PostGIS), или это указывает на то, что функция соответствует эквивалентной функции в SQL / MM Part 3?
Глядя на текущее состояние API Presto , я должен сказать, что последний подход выглядит менее чистым и вносит некоторую путаницу в вопрос о том, почему имена не согласованы, но, возможно, это можно решить с помощью простой заметки вверху.
Мой вопрос, таким образом, заключается в том, есть ли какой-то аспект стандарта, который я пропускаю, который позволяет расширить его за пределы определенного набора пространственных объектов, или, в качестве альтернативы, если это прямо запрещено каким-либо письменным или неписаным правилом следования стандартам ,