我在PostgreSQL/PostGIS中有一个名为trip
的表,其中有两个几何列:源geom
(点
)和目的地geom
(点
),指示旅程的开始和结束位置。
我还有一个单独的表,名为business
,带有几何列office\u geom
(POINT
),指示办公室的位置。
我的目标是从表trip
中选择目标距离任何办公地点1000米以内的记录。
我需要激发什么查询才能获得所需的结果?
可以使用子查询或联接来完成。使用子查询的示例:
SELECT * FROM business
WHERE EXISTS(
SELECT 1 FROM trip
WHERE ST_Distance_Sphere(trip.destination_geom, business.office_geom) < 1000
)
但是这个查询不会使用索引,并且在大数据集中可能需要很长时间。如果需要,可以从几何
创建地理
列,在地理列上创建空间索引,并使用ST_DWithin:
select *
from business b
join trip t on ST_DWithin(trip.destination_geogr, business.office_geogr, 1000)
问题内容: 我有一个表,该表的列包含各个位置的纬度和经度。 然后,我还会从浏览器中的地理位置获得一个用户位置。 我需要做的是从表中找到所有记录,其中的值在10 km半径(或X km半径)内,并按距离最近的顺序排序。 我的表在列上有一个索引。 问题答案: 我目前正在从事一个项目,该项目正在计算多个位置之间的距离。我正在使用以下查询来选择给定半径内的object_id。 我无法解释ACOS公式本身,因
我正在研究一个问题,基本上可以归结为以下几点: 给定: null 对于这样一个位置,有什么算法的想法吗?我最终将使用java实现,但我可以使用PsuedoCode。
问题内容: 我有一个目前约有1万行的数据库。它们都基于邮政编码的中心具有经度/纬度。我发现了一个我正在尝试扩展的查询,但是总的来说它在某种程度上运行良好。但是,在下面的示例中,我试图找到半径25英里以内的事物,这似乎在大多数情况下都是可行的。我的大部分结果都在25英里标准范围内,但是我得到的结果很少,偏离了86英里到800英里。 示例:这是我的中心经度:37.2790669,-121.874722
问题内容: 我有这个脚本,它将在Google地图上显示自定义标记,但是我想包含一个输入文本框,并且能够输入城市/州和邮政编码,并查看其中是否有任何标记(例如400)距该城市/州或邮政编码的英里。如果地图可以是动态的,我会喜欢的,因此当您输入城市/州或邮政编码时,它会摆脱所有其他标记并仅保留该半径范围内的一个标记,从而在地图上显示结果,如果那太难了,那么说一个最接近单位的简单更改框也可以:)我搜索并
我有一个 netCDF 文件,其中包含特定时间南半球的多个气旋位置(纬度、纬度)和气温。 我想要的是提取温度值距离每个气旋位置中心10个测地线度(~1110公里)的半径内。想法是确定温度值与每个气旋相关(假设与气旋中心的最大径向距离为10º),并绘制一张仅包含这些温度值的全球等值线图。 我在这里搜索了很多,但我只找到了适用于距离一个特定的纬度中心的距离的代码(比如这个:如何从纬度和经度值的
我已经为此挣扎了很长一段时间,似乎找不到正确的说法(即使在谷歌的帮助下!) 我想做的是...(我真的希望这有意义) 从表2中的value1查找表1中的value1(以匹配),然后从第一个值匹配的表2 value2更新表1中的value2 到目前为止我有...