Czy widziałeś projekt NHibernate.Spatial ? Może to zapewnić łatwe rozwiązanie Twojego problemu.
Alternatywą jest stworzenie własnej implementacji ICriterion
- nie jest to zbyt trudne, jeśli wywodzisz z AbstractCriterion
i kierujesz się na swoją konkretną platformę bazy danych. Umożliwi to następnie połączenie funkcji odległości z innymi kryteriami.