2010-08-02 34 views

回答

0

你有沒有考慮一個ST_Transform到嵌套在ST_Union或ST_Collect內的幾何類型? PostGIS docs(來自amercader的鏈接)表示,他們在某些地理操作中內部使用該功能。

2

可以轉換爲幾何形狀和進行操作那裏。您只需要小心,在笛卡爾飛機上進行評估時,您的形狀是有意義的。他們是否包裹日期線或兩極?

select geography(st_union(a::geometry, b::geometry)) 

如果形狀有很長的邊緣,然後在你想在一個球體和線性插值,你坐上飛機的大圓弧插補之間的邊緣插值的差異進場時,你必須更大膽的嘗試通過在適當的地圖投影中進行工作(通過使用bestsrid函數自動選擇)來儘可能地保留邊緣形狀。

select geography(
     st_transform(
      st_union(
      st_transform(a::geometry, _st_bestsrid(a,b)), 
      st_transform(b::geometry, _st_bestsrid(a,b)) 
      ), 
      4326 
     )) 

享受!

+0

GIS相關問題爲什麼不會允許的PostGIS地理類型的這些操作,但形狀並返回錯誤在笛卡爾飛機上沒有意義? – 2010-09-01 12:57:00

+0

沒有地域上的座標平面是有意義的,它的程度(哈哈)的問題。球面幾何中兩點之間的直線是一個大圓,而笛卡爾幾何中兩點之間的直線是一條直線。隨着點越來越近,直線就成爲弧的更好更好的近似值,但它絕不是確切的。 – 2010-10-19 19:38:40