Sortowanie wierszy po odległości od punktu geograficznego

0

Witam serdecznie. Mam w bazie danych wiersze danych z kolumnami Latitude / Longtitude. Wysyłając żądanie API polegające na wczytaniu listy obiektów użytkownik potrzebuje posortować wiersze względem odległości od punktu Latitude/Longtitude użytkownika.
Aktualnie w innej aplikacji używam tego wzoru do filtrowania względem odległości i działa bardzo dobrze, jednak co sądzicie o sortowaniu? Czy to jest dobry sposób i będzie działać? Nie chcę zaczynać tej drogi, jeżeli się okaże błędna.

.Where(x => input.DistanceFilter == null || !x.MapLongitude.HasValue || !x.MapLatitude.HasValue ? true : 
(
    60 * 1.1515 * (180 / Math.PI) * Math.Acos(Math.Sin(x.MapLatitude.Value * (Math.PI / 180)) * Math.Sin(input.DistanceFilter.LocationLat * (Math.PI / 180)) + Math.Cos(x.MapLatitude.Value * (Math.PI / 180)) * Math.Cos(input.DistanceFilter.LocationLat * (Math.PI / 180)) * Math.Cos((x.MapLongitude.Value - input.DistanceFilter.LocationLng) * (Math.PI / 180))) * 1.609344
) 
<= input.DistanceFilter.DistanceInKilometers)

Zależy mi bardzo, aby operacja zachodziła w bazie danych bez niejawnego pobierania całej tabeli.

0

Tak, szukałem w internecie. Przebrnąłem przez wiele błędów zanim udało mi się złożyć poprawne zapytanie. Zaraz zerknę

1 użytkowników online, w tym zalogowanych: 0, gości: 1