空間函數
空間函數允許您執行進階空間分析並將空間檔案與其他格式的資料(如文字檔案或試算表)相結合。例如,您可能擁有市議會區的空間檔案,以及包含所報告坑洞的緯度和經度坐標的文字檔案。您可以在建立資料來源時使用空間計算來聯結這些檔案,並分析哪個區域需要最長時間來修復坑洞。
還可以建立一條線,該線連線起點-終點地圖上的兩個資料點。例如,您可能有個公共交通資料的試算表,該試算表會指示通勤者開始和結束行程的位置。可以使用空間計算來查看通勤者所走的路徑。
Tableau 提供的空間函數
AREA
語法 | AREA(Spatial Polygon, 'units') |
輸出 | 數字 |
定義 | 傳回 <spatial polygon> 的總表面積。 |
範例 | AREA([Geometry], 'feet') |
說明 | 支援的單位名稱(計算時必須用引號括起來,例如
|
BUFFER
語法 | BUFFER(Spatial Point, distance, 'units')
|
輸出 | 幾何圖形 |
定義 | 對於空間點,傳回以 對於 Linestring,計算透過包含距 Linestring 的半徑距離內的所有點而形成的多邊形。 |
範例 | BUFFER([Spatial Point Geometry], 25, 'mi') BUFFER(MAKEPOINT(47.59, -122.32), 3, 'km') BUFFER(MAKELINE(MAKEPOINT(0, 20),MAKEPOINT (30, 30)),20,'km')) |
說明 | 支援的單位名稱(計算時必須用引號括起來,例如
|
DIFFERENCE
語法 | DIFFERENCE(Spatial, Spatial) |
輸出 | 空間多邊形 |
定義 | 計算當第二個參數中的所有區域從重疊區域中的第一個參數中劃分出來時剩餘的區域部分。捨棄第二個參數中不重疊的區域。 |
範例 | DIFFERENCE(Spatial Polygon1, Spatial Polygon2) |
說明 | 支援空間多邊形與多邊形,不支援空間點或線。 |
DISTANCE
語法 | DISTANCE(SpatialPoint1, SpatialPoint2, 'units') |
輸出 | 數字 |
定義 | 傳回指定 <unit> 中兩點之間的距離度量。 |
範例 | DISTANCE([Origin Point],[Destination Point], 'km') |
說明 | 支援的單位名稱(計算時必須用引號括起來,例如
|
資料庫限制 | 此函數只能透過即時連線建立,但若資料來源轉換為擷取,則此函數將繼續工作。 |
INTERSECTION
語法 | INTERSECTION (spatial, spatial) |
輸出 | 多邊形 |
定義 | 計算並傳回第二個參數中與第一個參數中的區域重疊的區域部分。 |
範例 | INTERSECTION (Spatial Polygon1, Spatial Polygon2) |
說明 | 支援空間多邊形與多邊形,不支援空間點或線。 |
INTERSECTS
語法 | INTERSECTS (geometry1, geometry2) |
輸出 | 布林值 |
定義 | 傳回 TRUE 或 FALSE,指示兩個幾何圖形在空間中是否重疊。 |
說明 | 支援的組合:點/多邊形、線/多邊形和多邊形/多邊形。 |
MAKELINE
語法 | MAKELINE(SpatialPoint1, SpatialPoint2) |
輸出 | 幾何圖形(線) |
定義 | 在兩點之間產生線標記 |
範例 | MAKELINE(MAKEPOINT(47.59, -122.32), MAKEPOINT(48.5, -123.1)) |
說明 | 對於建立出發地-目的地地圖很有用。 |
MAKEPOINT
語法 | MAKEPOINT(latitude, longitude, [SRID]) |
輸出 | 幾何圖形(點) |
定義 | 將 若新增可選的 |
範例 | MAKEPOINT(48.5, -123.1) MAKEPOINT([AirportLatitude], [AirportLongitude]) MAKEPOINT([Xcoord],[Ycoord], 3493) |
說明 |
可以使用 |
LENGTH
語法 | LENGTH(geometry, 'units') |
輸出 | 數字 |
定義 | 使用指定的 <units> 傳回 <geometry> 中的一個或多個線串的大地測量路徑長度。 |
範例 | LENGTH([Spatial], 'metres') |
說明 | 若幾何圖形引數沒有線串,則結果為 <NaN> ,但允許使用其他元素。 |
OUTLINE
語法 | OUTLINE(spatial polygon) |
輸出 | 幾何圖形 |
定義 | 將多邊形幾何圖形轉換為線串。 |
說明 | 對於為輪廓建立單獨的圖層很有用,該圖層的樣式可以與填充不同。 支援複多邊形內的多邊形。 |
SHAPETYPE
語法 | SHAPETYPE(geometry) |
輸出 | 字串 |
定義 | 傳回描述空間 <geometry> 結構的字串,例如 Empty(空白)、Point(點)、MultiPoint(多點)、LineString(線串)、MultiLinestring(多線串)、Polygon(多邊形)、MultiPolygon(複多邊形)、Mixed(混合)與 Unsupported(不支援)。 |
範例 | SHAPETYPE(MAKEPOINT(48.5, -123.1)) = "Point" |
SYMDIFFERENCE
語法 | SYMDIFFERENCE(spatial, spatial) |
輸出 | 幾何圖形 |
定義 | 計算第二個參數中與第一個參數中的區域重疊的區域的任何部分,並從兩者中捨棄。從兩個參數傳回區域的剩餘部分。 |
範例 |
|
驗證
語法 | VALIDATE(spatial geometry) |
輸出 | 幾何圖形 |
定義 | 確認空間值中幾何圖形的拓樸是否正確。如果由於多邊形週長自相交等問題導致該值無法用於分析,則結果將為空。如果幾何圖形正確,結果將是原始幾何圖形。 |
範例 |
|
使用空間計算
使用 MAKEPOINT 建立空間資料來源
您可以使用 MAKEPOINT 在空間上啟用資料來源,以便使用空間聯結將其與空間檔案相聯結。若要使用 MAKEPOINT,您的資料必須包含經緯度座標。
- 開啟 Tableau 並連線到空間資料來源。
- 在 [連線] 下,按一下新增以新增第二、非空間資料來源。
這兩個資料來源將新增到畫布。
提示:要顯示「聯結」對話方塊,請點兩下(在 Mac 上按住 Control 點一下)畫布上的資料來源。
將非空間資料來源拖放到「聯結」對話方塊上。
- 按一下 [聯結] 圖示。
- 在出現的 [聯結] 對話方塊中,執行以下操作:
- 選取一種聯結類型。
- 在 [資料來源] 下,從空間檔案中選取要作為聯結依據的空間欄位。空間欄位的旁邊有一個地球圖示。
- 對於非空間資料來源,選取建立聯結計算作為聯結子句。
計算應該如下所示:
MAKEPOINT(Latitude,Longitude)
- 選取確定。
選取 Intersects 聯結子句運算子以建立用於空間分析的資料來源。
- 完成後,關閉 [聯結] 對話方塊。
如需有關空間聯結的更多資訊,請參閱 在 Tableau 中聯接空間檔案
使用 MAKELINE 建立視覺效果
在 Tableau Desktop 中,請從此處提供(連結在新視窗開啟)的 Tableau Public 下載 Flight Path 工作簿。
- 巡覽到新工作表。
- 選取 [分析] > [建立導出欄位]。
- 在開啟的計算中,執行以下動作:
- 將導出欄位命名為 Flight Paths。
- 輸入以下公式
- 完成後,按一下 [確定]。
- 按兩下 [資料] 窗格的 [Flight Paths],將其新增至您的視覺效果,視覺效果應該會自動以地圖的型態呈現。
MAKELINE(MAKEPOINT([Lat],[Lng]),MAKEPOINT([Dest Lat],[Dest Lng]))
此公式使用起點和終點城市的緯度和經度座標,並將其轉換為地理點以進行空間分析。這些座標是用來建立起點和終點之間的兩點連線。
新的導出欄位會顯示在 [資料] 窗格中的 [維度] 下。就像其他欄位一樣,您可以在一個或多個視覺效果中使用該欄位。
當線跨越地球的較長區域時,計算自動生成彎曲的測地線。
使用 BUFFER 視覺化某個區域
在 Tableau Desktop 中,請從此處提供(連結在新視窗開啟)的 Tableau Public 下載 Flight Path 工作簿。
- 巡覽到新工作表。
- 右鍵點一下「資料」窗格,並選取「建立參數」。
- 在開啟的「參數」對話方塊中,設定下列選項:
- 將參數命名為「Buffer Distance」(緩衝區距離)
- 將「資料類型」設為「整數」。
- 將允許的值設為「範圍」
- 將「最小範圍」設為 100,將「最大範圍」設為 1000,並將級距設為 100。
- 完成後,按一下「確定」。
- 選取 [分析] > [建立計算欄位] 。
- 在開啟的計算中,執行以下動作:
- 將導出欄位命名為「Buffer」(緩衝區)。
- 輸入以下公式
- 完成後,按一下 [確定]。
- 按兩下「資料」窗格的「緩衝區」,將其新增至您的視覺效果,視覺效果應該會自動以地圖的型態呈現。
- 將「目的地」拖放到「標記」卡片上的「色彩」窗格,以完成視覺效果。
此參數可讓我們自訂緩衝區的半徑,範圍從 100 到 1000 英里。右鍵點一下參數,並選取「顯示參數」。
BUFFER(MAKEPOINT([Dest Lat],[Dest Lng]),[Buffer Distance],"miles")
BUFFER 計算採用點空間資料,並使用「緩衝距離」將其轉換為以英里為半徑的形狀。
附註:由於 BUFFER 只能與點空間資料一起使用,因此,我們透過 Makepoint 將經緯度資料轉換為點,如以上範例所示。
新的計算欄位會顯示在「資料」窗格中。就像其他欄位一樣,您可以在一個或多個視覺效果中使用該欄位。
請注意:如果檢視看起來與上圖不像,請確定「標記」類型設為「地圖」,而不是「圓形」。有關標記類型的詳情,請參閱變更檢視中標記的類型。