不知道这是一个逻辑问题还是一个MySQL问题......但仍然需要帮助。MySQL嵌套对地理坐标的声明
我有一个地区列表,每个地区的坐标。该数据库大小约为115MB。下面是记录的取样:
| PC1 | PC2 | CITY | PROV | AREACODE | LAT | LNG |
| A1A | 0B8 | ST. JOHNS | NL | 709 |47.5986880000|-52.7255210000|
| A1A | 0B9 | ST. JOHNS | NL | 709 |47.5505750000|-52.7460720000|
等等,等等...
我需要做的,就是让记录每个代表的最大纬度和经度价值城市,则最大纬度和的最小经度值,则记录与最小纬度值和最小纵向值,则记录与最小纬度值和的最大纵向值。
我开始了与是:
SELECT MAX(lat), MAX(lng), MIN(lat), MIN(lng), city FROM places GROUP BY city
这给了我每个城市的一个记录,用最大/最小值我问,但那些最小值和最大值代表了最小纬度,最大个体查询纬度等...这给了我一个相当不错的地区估计,所以我可以在Google Map上画一个多边形......但它们是正方形,并且有很多重叠,我知道我可以使这个更好。这些结果代表城市记录组中的任意一条记录的北,南,东,西最大值。
我想要做的是搜索一条记录,其中h作为最大纬度和最大纵向值,然后是最大纬度和最小纵向值...等。
不知道如何嵌套这些SQL语句......我尝试了一些IN语句,但总是导致一个记录不完全代表任何最大值或最小值。
为了进一步说明这个问题:不是有四个结果,最大的经纬,以及最低纬度和一系列的城市分组坐标的纵向价值....我想四条记录;谁拥有最大的纬度和经度坐标的城市,谁拥有最大的纬度和最小纵向协调全市,谁拥有最低纬度和最小纵向协调全市,并具有最小的纬度和最大纬度坐标的城市。 –
你可以随心所欲多次联合。如果你有菱形定位,你必须在坐标上进行选择并选择一个 – Fabrizio