Предполагая, что ваш массив ваших данных равен 4326, запрос, который вы ищете:
SELECT the_geom FROM mytable WHERE ST_DWithin(the_geom,ST_GeomFromEWKT("srid=4326;POINT(lon lat)"), 0.0008);
Обратите внимание, что единицы (0,0008) в ST_DWithin находятся в тех же единицах вашей проекции вВ случае, если они градусы.Если ваши проекционные данные указаны в метрах, вы сможете использовать метры.
Для производственного приложения вы должны использовать геометрические типы, это быстрее.Из стека переполнения предыдущий вопрос :
Краткий ответ: география - это новый тип данных, который поддерживает измерения расстояний на большие расстояния.Если вы используете географию - вам не нужно много узнавать о планарных системах координат.География, как правило, лучше всего, если все, что вам нужно, это измерение расстояний и длин, и у вас есть данные со всего мира.Тип данных Geometry - это более старый тип данных, который имеет множество функций, поддерживающих его, и пользуется большой поддержкой сторонних инструментов.Лучше всего, если вы достаточно знакомы с системами пространственной привязки или имеете дело с локализованными данными, в которых все ваши данные помещаются в единую систему пространственной привязки (SRID), или вам необходимо выполнить большую объемную обработку.Обратитесь к разделу 8.8, «Матрица поддержки функций PostGIS», чтобы узнать, что в данный момент поддерживается, а что нет.