Ich habe in dieser Github-Ausgabe einen Thread über die Geodatenerweiterung für Presto gelesen , in dem eine Funktion line_locate_point
eingeführt wurde. Es basiert auf der ST_LineLocatePoint
Funktion von PostGIS , die einen Gleitkommawert zurückgibt, der den Bruch entlang einer Linie des nächstgelegenen Punkts auf dieser Linie zu einer bestimmten Position darstellt.
Es wurde die Frage aufgeworfen, warum es benannt wurde line_locate_point
und nicht ST_LineLocatePoint
wie die PostGIS-Version. Die Antwort war, dass diese Funktion im SQL / MM Part 3-Standard nicht vorhanden ist und daher nicht mit beginnen sollte ST_
.
Wenn ich den Standard schnell durchlese, sehe ich keine Kommentare zur Behandlung von Fällen, in denen Sie Ihrer Datenbank eine räumliche Funktion hinzufügen, die nicht im Standard enthalten ist. Entspricht das ST_
Präfix dem Gedanken , räumliche Funktionen von nicht-räumlichen Funktionen zu unterscheiden (wie dies bei PostGIS der Fall zu sein scheint), oder soll es angeben, dass die Funktion einer äquivalenten Funktion in SQL / MM Teil 3 entspricht?
Mit Blick auf den aktuellen Stand der API von Presto muss ich sagen, dass der letztgenannte Ansatz weniger sauber aussieht und einige Verwirrung darüber hervorruft, warum die Namen nicht konsistent sind, aber dies könnte möglicherweise durch einen einfachen Hinweis oben behoben werden.
Meine Frage ist also, ob es einen Aspekt des Standards gibt, den ich übersehen habe, der Erweiterungen über den definierten Satz von räumlichen Objekten hinaus zulässt, oder ob dies alternativ ausdrücklich durch eine schriftliche oder ungeschriebene Regel der folgenden Standards verboten ist .
quelle
Antworten:
Die OpenSpatial-Spezifikation sagt zahlreiche Dinge darüber aus,
Und,
Aus diesem Komitee Entwurf ISO / IEC CD13249-3 ed 5
Also hier ist was wir haben,
ST_
Präfix.Ich würde das sagen,
ST_
sollte als nicht reservierte Schlüsselwörter für Endbenutzer betrachtet werden. Es gibt wirklich keinen Grund, Endbenutzerfunktionen mit diesem Präfix zu erstellen. Du bist besser dran, wenn du nur benutztSTx_
. Wir kennen mindestens zwei Stellen, die mit diesem Präfix Vorschläge (OpenSpatial) SQL / MM und ISO veröffentlicht haben. Darüber hinaus verschmutzen viele RDBMS-Symbole mit diesem Präfix.Es mag mehr in der Geschichte geben, aber ich kann keine aktuelleren Informationen dazu finden.
quelle