Czytałem wątek o rozszerzeniu geoprzestrzennym dla Presto w tym numerze Github , w którym wprowadzono funkcję line_locate_point
. Został on oparty na ST_LineLocatePoint
funkcji PostGIS , która zwraca liczbę zmiennoprzecinkową reprezentującą ułamek wzdłuż linii najbliższego punktu na tej linii do danej lokalizacji.
Pojawiło się pytanie, dlaczego została nazwana, line_locate_point
a nie ST_LineLocatePoint
jak wersja PostGIS. Odpowiedź była taka, że ta funkcja nie istnieje w standardzie SQL / MM część 3, więc nie powinna zaczynać ST_
.
Czytając szybko ten standard, nie widzę żadnych komentarzy na temat obsługi przypadków, w których wprowadzasz do swojej bazy danych funkcję przestrzenną, która nie jest w standardzie. Czy duch ST_
przedrostka odróżniającego funkcje przestrzenne od funkcji nieprzestrzennych (jak wydaje się tak w przypadku PostGIS), czy może wskazywać, że funkcja jest zgodna z równoważną funkcją w części 3 SQL / MM?
Patrząc na obecny stan interfejsu API Presto , muszę powiedzieć, że to drugie podejście wygląda mniej czysto i wprowadza pewne zamieszanie, dlaczego nazwy nie są spójne, ale być może można to rozwiązać za pomocą prostej notatki na górze.
Moje pytanie brzmi zatem, czy istnieje jakiś aspekt standardu, który pomijam, który pozwala na rozszerzenie go poza zdefiniowany zestaw obiektów przestrzennych, lub alternatywnie, czy jest to wyraźnie zabronione przez jakąś pisemną lub niepisaną zasadę przestrzegania standardów .
źródło
Odpowiedzi:
Specyfikacja OpenSpatial mówi o tym wiele rzeczy,
I,
Z tego komitetu Projekt ISO / IEC CD13249-3 ed 5
Oto co mamy,
ST_
przedrostka ..Powiedziałbym to
ST_
należy traktować jako niezastrzeżone słowa kluczowe dla użytkowników końcowych. Naprawdę nie ma powodu, aby tworzyć funkcje użytkownika końcowego z tym prefiksem. Lepiej po prostu użyjSTx_
. Wiemy o co najmniej dwóch organach, które opublikowały z tymi sugestiami prefiksów (OpenSpatial) SQL / MM i ISO. Ponadto wiele symboli RDBMS zanieczyszcza ten prefiks.W historii może być coś więcej, ale nie mogę znaleźć więcej współczesnych informacji na ten temat.
źródło