You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL技术问询:筛选起始及终点位于指定边界框内的行程

没问题,我来帮你搞定这个行程筛选的需求!

筛选起点与终点均在指定边界框内的行程

首先我们先明确边界框的坐标范围逻辑:

  • 纬度方向:左上角纬度(41.24895)比右下角纬度(41.11591)更高,所以有效纬度区间是 41.11591 ≤ 纬度 ≤ 41.24895
  • 经度方向:左上角经度(-8.68494)更偏西(数值更小),右下角经度(-8.47569)更偏东,所以有效经度区间是 -8.68494 ≤ 经度 ≤ -8.47569

接下来我们需要同时校验行程的起点和终点坐标,确保两者都落在这个边界框内。对应的SQL查询语句如下:

SELECT *
FROM trips
WHERE
    -- 校验起点坐标在边界框内
    lat_start BETWEEN 41.11591 AND 41.24895
    AND lon_start BETWEEN -8.68494 AND -8.47569
    -- 校验终点坐标也在边界框内
    AND lat_end BETWEEN 41.11591 AND 41.24895
    AND lon_end BETWEEN -8.68494 AND -8.47569;

小补充:

  • BETWEEN 是一种简洁的区间判断写法,完全等价于 lat_start >= 41.11591 AND lat_start <= 41.24895,可读性更高
  • 必须同时过滤起点和终点,避免出现"起点在框内但终点在框外"的行程被误筛选出来
  • 如果你的数据库支持空间地理函数(比如PostGIS),也可以用更专业的空间判断方法(例如ST_Within),但上面的基础SQL写法在绝大多数关系型数据库中都能直接运行

内容的提问来源于stack exchange,提问作者arilwan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 13:22:34