[英]How can I plot a heatmap on a sphere given a list of latitudes and longitudes?
[英]How do i get a list of all the latitudes and longitudes from a database within a specific area?
我在 Postgres 数据库中有一个表,其中包含地点及其相应的纬度和经度值。
Places (id, name, lat, lng) # primary-key(id)
我将得到一对形成一个矩形的纬度和经度的输入。
{
"long_ne": 12.34,
"lat_ne": 34.45,
"long_sw": 15.34,
"lat_sw": 35.56
}
我想获取落在矩形内的所有行。
无法根据它们的 lat-lng 值对行进行排序,因为这会在插入新值时造成麻烦。
go 关于解决此问题以优化查询以获得结果的最佳方法是什么?
我显然可以使用WHERE
子句来做到这一点,但它会是最优化的解决方案吗? 表中会有大量的行,有没有办法可以优化这个查询来加快结果?
这是你想要的吗?
select *
from places
where
lat between :lat_no and :lat_sw
and lng between :long_no and :long_sw
其中:lat_no
、 :lat_ws
:long_no
和:long_sw
是查询的输入参数。
这将为您提供纬度和经度在正方形边界之间的所有行。 请注意, between
考虑了包含它们两端的边界的 inteval。 您可以根据需要使用不等式条件更改此设置,例如,这使得匹配在下限上包含而在上限上排除:
where
lat >= :lat_no and lat < :lat_sw
and lng >= :long_no and lng < :long_sw
一个简单的 SQL 查询在这里不够吗?
SELECT *
FROM Places
WHERE (lat > lat_sw)
AND (long > long_sw)
AND (lat < lat_ne)
AND (long < long_ne)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.