這既是一個基本的SQL問題,也是一個postgres/postgis問題。計算posgres/posgis中兩個不相關表之間的重疊
我有兩個表集,在同一個數據庫中,但來自不同的來源,提供了類似但不同的地理數據。
例如,在第一組
select ST_Area(g.geog), g.geog area1
from
(--complicated joins on set1 tables---)
order by area1;
給出了查詢(示出第一列僅):
1449088812.57385
2209542976.77606
2419594400.94064
2680798195.72685
2921972342.3048
2936036972.01677
3420807650.41126
3426766723.91276
4098062224.01722
5082190891.49144
5137325111.41293
5726948701.13547
以及在所述第二組查詢:
select ST_Area(r.geog), r.geog area2
from
(--some other compilcated joins on set2 tables----)
order by area2;
給出(僅顯示第一列):
1449087081.39959
2209560820.96132
2419587161.04685
2680790097.03592
2922282361.4318
2936033639.82268
3420802892.77572
3427452706.69087
4098057825.46861
5082187140.27675
5137291729.45781
5726925279.07641
它們都是12行。我想將它們並排比較。具體來說,我想在兩個查詢結果中使用'geog'列計算重疊幾何,可能使用ST_Intersection()或其他postgis方法。 (這裏的區域僅用於演示目的。)
我該怎麼做?我已經試過: ROW_NUMBER() WITH ... AS ... CREATE溫度表... INTO ... #TEMP
請點我朝着正確的方向!
您可以使用前幾位或三位數字比較它們嗎?也許只是一個想法 –