I was reading a thread on the geospatial extension for Presto in this Github issue, where a function, line_locate_point
, was introduced. It was based off PostGIS's ST_LineLocatePoint
function, which returns a float representing the fraction along a line of the closest point on that line to a given location.
The question was brought up why it was named line_locate_point
and not ST_LineLocatePoint
like the PostGIS version. The response was that this function does not exist in the SQL/MM Part 3 standard, and so it should not start with ST_
.
Reading quickly through the standard, I don't see any comments on how to handle cases where you introduce a spatial function to your database that is not in the standard. Is the spirit of the ST_
prefix to differentiate spatial functions from non-spatial functions (as seems to be the case with PostGIS), or is it to indicate that the function complies with an equivalent function in SQL/MM Part 3?
Looking at the current state of Presto's API, I have to say that the latter approach looks less clean and introduces some confusion as to why the names aren't consistent, but perhaps this could be addressed by a simple note at the top.
My question, then, is whether there is some aspect of the standard that I'm overlooking that allows for extensions to it beyond the defined set of spatial objects, or alternatively, if this is expressly forbidden by some written or unwritten rule of following standards.