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 .