空間函數
空間函數允許您執行進階空間分析並將空間檔案與其他格式的資料(如文字檔案或試算表)相結合。例如,您可能擁有市議會區的空間檔案,以及包含所報告坑洞的緯度和經度坐標的文字檔案。您可以在建立資料來源時使用空間計算來聯結這些檔案,並分析哪個區域需要最長時間來修復坑洞。
還可以建立一條線,該線連線起點-終點地圖上的兩個資料點。例如,您可能有個公共交通資料的試算表,該試算表會指示通勤者開始和結束行程的位置。可以使用空間計算來查看通勤者所走的路徑。
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')) |
說明 | 支援的單位名稱(計算時必須用引號括起來,例如
|
DISTANCE
語法 | DISTANCE(SpatialPoint1, SpatialPoint2, 'units') |
輸出 | 數字 |
定義 | 傳回指定 <unit> 中兩點之間的距離度量。 |
範例 | DISTANCE([Origin Point],[Destination Point], 'km') |
說明 | 支援的單位名稱(計算時必須用引號括起來,例如
|
資料庫限制 | 此函數只能透過即時連線建立,但若資料來源轉換為擷取,則此函數將繼續工作。 |
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" |
驗證
語法 | 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 將經緯度資料轉換為點,如以上範例所示。
新的計算欄位會顯示在「資料」窗格中。就像其他欄位一樣,您可以在一個或多個視覺效果中使用該欄位。
請注意:如果檢視看起來與上圖不像,請確定「標記」類型設為「地圖」,而不是「圓形」。有關標記類型的詳情,請參閱變更檢視中標記的類型。