другие ответы упоминают postgis.для полноты я также упомяну pgsphere.http://pgsphere.projects.postgresql.org/
разница между ними состоит в том, что pgsphere предназначен для точек на "теоретической" сфере, в то время как postgis предназначен для точек на поверхности Земли.это может показаться странным - это в основном означает, что postgis включает в себя поддержку определенных проекций карты, в то время как pgsphere - это просто базовая сферическая тригонометрия.
Я упоминаю phsphere, потому что, если вы довольны математическими вычислениями / приближениями, то это так,по моему опыту, проще и проще в установке и использовании.с другой стороны, если вы не знаете, как преобразовать угловое расстояние между двумя точками в их действительное расстояние или вам нужно точно обрабатывать координаты в конкретной проекции карты, тогда предпочтительнее использовать postgis.Интеграция postgis с geodjango, о которой упоминает ilvar, также может быть в пользу Postgis в вашем случае.
В любом случае вам нужно скомпилировать пакет, а затем включить и расширить базу данных, как описывает Тайлер.