空間函數

空間函數允許您執行進階空間分析並將空間檔案與其他格式的資料(如文字檔案或試算表)相結合。例如,您可能擁有市議會區的空間檔案,以及包含所報告坑洞的緯度和經度坐標的文字檔案。您可以在建立資料來源時使用空間計算來聯結這些檔案,並分析哪個區域需要最長時間來修復坑洞。

還可以建立一條線,該線連線起點-終點地圖上的兩個資料點。例如,您可能有個公共交通資料的試算表,該試算表會指示通勤者開始和結束行程的位置。可以使用空間計算來查看通勤者所走的路徑。

Tableau 提供的空間函數

AREA

語法AREA(Spatial Polygon, 'units')
輸出數字
定義傳回 <spatial polygon> 的總表面積。
範例
AREA([Geometry], 'feet')
說明

支援的單位名稱(計算時必須用引號括起來,例如 'miles'):

  • 公尺:meters、metres、m
  • 公里:kilometers、kilometres、km
  • 英里:miles、mi
  • 英尺:feet、ft

BUFFER

語法BUFFER(Spatial Point, distance, 'units')

BUFFER(Linestring, distance, 'units')

  • 公尺:meters、metres、m
  • 公里:kilometers、kilometres、km
  • 英里:miles、mi
  • 英尺:feet、ft
輸出幾何圖形
定義

對於空間點,傳回以 <spatial point> 為中心的多邊形圖形,半徑由 <distance><unit> 值決定。

對於 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'))
說明

支援的單位名稱(計算時必須用引號括起來,例如 'miles'):

  • 公尺:meters、metres、m
  • 公里:kilometers、kilometres、km
  • 英里:miles、mi
  • 英尺:feet、ft

DISTANCE

語法DISTANCE(SpatialPoint1, SpatialPoint2, 'units')
輸出數字
定義傳回指定 <unit> 中兩點之間的距離度量。
範例
DISTANCE([Origin Point],[Destination Point], 'km')
說明

支援的單位名稱(計算時必須用引號括起來,例如 'miles'):

  • 公尺:meters、metres、m
  • 公里:kilometers、kilometres、km
  • 英里:miles、mi
  • 英尺:feet、ft
資料庫限制此函數只能透過即時連線建立,但若資料來源轉換為擷取,則此函數將繼續工作。

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])
輸出幾何圖形(點)
定義

<latitude><longitude> 欄的資料轉換為空間物件。

若新增可選的 <SRID> 引數,則輸入可以是其他投影地理座標。

範例
MAKEPOINT(48.5, -123.1)
MAKEPOINT([AirportLatitude], [AirportLongitude])
MAKEPOINT([Xcoord],[Ycoord], 3493)
說明

MAKEPOINT 無法使用自動產生的緯度和經度欄位。資料來源必須以原生方式包含座標。

SRID 是一種空間參考識別碼,使用 ESPG 參考系統代碼(連結在新視窗開啟)來指定座標系統。若未指定 SRID,則假定為 WGS84,且參數被視為以度為單位的緯度/經度。

可以使用 MAKEPOINT 在空間上啟用資料來源,以便可以使用空間聯結將其與空間檔案聯結。有關詳情,請參閱在 Tableau 中聯接空間檔案

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)
輸出幾何圖形
定義確認空間值中幾何圖形的拓樸是否正確。如果由於多邊形週長自相交等問題導致該值無法用於分析,則結果將為空。如果幾何圖形正確,結果將是原始幾何圖形。
範例

UNION(VALIDATE([Geometry]))

使用空間計算

使用 MAKEPOINT 建立空間資料來源

您可以使用 MAKEPOINT 在空間上啟用資料來源,以便使用空間聯結將其與空間檔案相聯結。若要使用 MAKEPOINT,您的資料必須包含經緯度座標。

  1. 開啟 Tableau 並連線到空間資料來源。
  2. 在 [連線] 下,按一下新增以新增第二、非空間資料來源。

    這兩個資料來源將新增到畫布。

    提示:要顯示「聯結」對話方塊,請點兩下(在 Mac 上按住 Control 點一下)畫布上的資料來源。

  3. 將非空間資料來源拖放到「聯結」對話方塊上。

  4. 按一下 [聯結] 圖示。
  5. 在出現的 [聯結] 對話方塊中,執行以下操作:
    • 選取一種聯結類型。
    • 在 [資料來源] 下,從空間檔案中選取要作為聯結依據的空間欄位。空間欄位的旁邊有一個地球圖示。
  6. 對於非空間資料來源,選取建立聯結計算作為聯結子句。

    計算應該如下所示:

    MAKEPOINT(Latitude,Longitude)

  7. 選取確定
  8. 選取 Intersects 聯結子句運算子以建立用於空間分析的資料來源。

  9. 完成後,關閉 [聯結] 對話方塊。

如需有關空間聯結的更多資訊,請參閱 在 Tableau 中聯接空間檔案

使用 MAKELINE 建立視覺效果

在 Tableau Desktop 中,請從此處提供(連結在新視窗開啟)的 Tableau Public 下載 Flight Path 工作簿。

  1. 巡覽到新工作表。
  2. 選取 [分析] > [建立導出欄位]。
  3. 在開啟的計算中,執行以下動作:
    • 將導出欄位命名為 Flight Paths。
    • 輸入以下公式

    MAKELINE(MAKEPOINT([Lat],[Lng]),MAKEPOINT([Dest Lat],[Dest Lng]))

    此公式使用起點和終點城市的緯度和經度座標,並將其轉換為地理點以進行空間分析。這些座標是用來建立起點和終點之間的兩點連線。

  4. 完成後,按一下 [確定]
  5. 新的導出欄位會顯示在 [資料] 窗格中的 [維度] 下。就像其他欄位一樣,您可以在一個或多個視覺效果中使用該欄位。

  6. 按兩下 [資料] 窗格的 [Flight Paths],將其新增至您的視覺效果,視覺效果應該會自動以地圖的型態呈現。
  7. 當線跨越地球的較長區域時,計算自動生成彎曲的測地線。

使用 BUFFER 視覺化某個區域

在 Tableau Desktop 中,請從此處提供(連結在新視窗開啟)的 Tableau Public 下載 Flight Path 工作簿。

  1. 巡覽到新工作表。
  2. 右鍵點一下「資料」窗格,並選取「建立參數」
  3. 在開啟的「參數」對話方塊中,設定下列選項:
    • 將參數命名為「Buffer Distance」(緩衝區距離)
    • 將「資料類型」設為「整數」。
    • 將允許的值設為「範圍」
    • 將「最小範圍」設為 100,將「最大範圍」設為 1000,並將級距設為 100。

  4. 完成後,按一下「確定」
  5. 此參數可讓我們自訂緩衝區的半徑,範圍從 100 到 1000 英里。右鍵點一下參數,並選取「顯示參數」

  6. 選取 [分析] > [建立計算欄位]
  7. 在開啟的計算中,執行以下動作:
    • 將導出欄位命名為「Buffer」(緩衝區)。
    • 輸入以下公式

    BUFFER(MAKEPOINT([Dest Lat],[Dest Lng]),[Buffer Distance],"miles")

    BUFFER 計算採用點空間資料,並使用「緩衝距離」將其轉換為以英里為半徑的形狀。

    附註:由於 BUFFER 只能與點空間資料一起使用,因此,我們透過 Makepoint 將經緯度資料轉換為點,如以上範例所示。

  8. 完成後,按一下 [確定]
  9. 新的計算欄位會顯示在「資料」窗格中。就像其他欄位一樣,您可以在一個或多個視覺效果中使用該欄位。

  10. 按兩下「資料」窗格的「緩衝區」,將其新增至您的視覺效果,視覺效果應該會自動以地圖的型態呈現。
  11. 「目的地」拖放到「標記」卡片上的「色彩」窗格,以完成視覺效果。

請注意:如果檢視看起來與上圖不像,請確定「標記」類型設為「地圖」,而不是「圓形」。有關標記類型的詳情,請參閱變更檢視中標記的類型

感謝您的意見反應!已成功提交您的意見回饋。謝謝!