PostgreSQL & PostGIS LBS检索

PostGIS安装,点这里

高性能ElasticSearch LBS检索解决方案点击这里
LBS 通用检索解决方案点击这里

1.建表

-- 只给出gis字段
select AddGeometryColumn('表名','要添加的字段名',4326,'geometry',2);
-- 4326对应的是WGS84坐标系 中国使用的是该类型

有关WGS84坐标系介绍及深入了解请点这里……

2.插入数据

insert into table_name
    (name,geometry_column)
values
    ('用户1', ST_GeometryFromText('POINT(longitude latitude)',4326))

3.附近的人搜索(在此之前先给geometry_column添加GiST索引)

select
    *,
    ST_Distance_Sphere(
                      geometry_column,
                      ST_GeometryFromText('POINT(longitude latitude)',
                      4326
                      ) distance
from
    table_name
order by
    geometry_column <-> ST_GeometryFromText('POINT(longitude latitude)',4326)
LIMIT 10 offset 0

结束

去打赏

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

发表评论

电子邮件地址不会被公开。