空間函數

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

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

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

DIFFERENCE

語法DIFFERENCE(Spatial, Spatial)
輸出空間多邊形
定義計算當第二個參數中的所有區域從重疊區域中的第一個參數中劃分出來時剩餘的區域部分。捨棄第二個參數中不重疊的區域。
範例
DIFFERENCE(Spatial Polygon1, Spatial Polygon2)
說明

支援空間多邊形與多邊形,不支援空間點或線。

DISTANCE

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

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

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

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

<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"

SYMDIFFERENCE

語法SYMDIFFERENCE(spatial, spatial)
輸出幾何圖形
定義計算第二個參數中與第一個參數中的區域重疊的區域的任何部分,並從兩者中捨棄。從兩個參數傳回區域的剩餘部分。
範例

SYMDIFFERENCE(Spatial Polygon1, Spatial Polygon2)

驗證

語法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. 「目的地」拖放到「標記」卡片上的「色彩」窗格,以完成視覺效果。

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

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