Eu sei muito pouco sobre a teoria, mas acho que você pode obter uma solução pseudo-orientada a objetos com o Postgis e um ORM como o framework Django ou SqlAlchemy.
Uso uma combinação de Postgis e Django e a maneira de lidar com os modelos geográficos é orientada a objetos, mas eles são armazenados como um banco de dados relacional.
Por exemplo, você pode ter um modelo de 'ponto' e um modelo de 'dados' (chave: valor).
Qualquer instância 'point' possui um método add_data () e também métodos geográficos como is_near (), contains (), get_xy () etc.
Você pode ter uma classe 'BurgerShop (point)' e BusStop (point) com métodos especiais como BurgerShop.get_burger_types (), BurgerShop.get_nearest_busstop () ou BusStop.get_nearest_burgershop ().