# 從 GeoAnalytics 連接器 遷移至 Qlik GeoOperations

Qlik GeoOperations 中的 Qlik Cloud 提供與 GeoAnalytics 連接器 在 Qlik Sense Enterprise on Windows 中類似的功能和操作。這也支援許多相同的資料格式。其中有下列差異：

* Qlik GeoOperations 是進階分析整合 (AAI)，比連接器更適合送出和處理資料。

* 進階分析整合的指令碼語法與連接器的指令碼語法不同。

* 有些 GeoOperations 也能用於圖表運算式。

* Qlik GeoOperations 傳回單一表格。相較於 GeoAnalytics 連接器 傳回的內容，表格在 Qlik GeoOperations 中聯結。

* 在 Qlik GeoOperations 中，已重新命名某些欄位和參數，讓這些內容更一致。

以下概述如何將 GeoAnalytics 連接器 精靈產生的指令碼轉換為 Qlik GeoOperations：

1. 在資料載入編輯器中，在 GeoAnalytics 連接器 指令碼中，複製 `SQL` 之後的一切內容，直到第二個 SELECT 或「`;`」，以先發生者為準。

2. 以 `'` 取代 GeoAnalytics 連接器 指令碼中的所有 `"`。

3. 將所選欄位名稱從 SELECT 指令碼中的第二個 GeoAnalytics 連接器 陳述式新增至 SELECT 指令碼中的第一個 GeoOperations 陳述式。省略任何已在該處的欄位。將來源表格名稱新增至欄位名稱，以句號分隔。例如，table.field。這將會建立單一聯結表格，而非數個表格。

4. 檢閱操作和資料集的參考文件，並按需要調整任何參數或欄位名稱。

   [操作](https://help.qlik.com/zh-TW/cloud-services/Content/Ref-GeoOperationsService/connector-geoanalytics_reference-Operation.htm)

   [資料集](https://help.qlik.com/zh-TW/cloud-services/Content/Ref-GeoOperationsService/connector-geoanalytics_reference-Dataset.htm)

   如需關鍵差異的摘要，請參閱 [GeoOperations 和 GeoAnalytics 欄位差異](https://help.qlik.com/zh-TW/migration/Content/Migration/migrate-geo-analytics.htm#GeoOperationsAndGeoAnalyticsFieldDifferences)

5. 將下列內容新增至 GeoOperations 指令碼開頭：

   `Load * Extension GeoOperations.ScriptEval('`

6. 將下列內容新增至 GeoOperations 指令碼結尾：

   `');`

若使用含有 GeoAnalytics 連接器 的已載入表格，請作為第二個參數傳送至 `GeoOperations.ScriptEval`。

Qlik GeoOperations 傳回聯結的表格時，只會從次要表格傳回具有主要表格中對應值的欄位值。例如，若您想要為某些點尋找德國最近的機場，只會傳回離這些點最近的機場相關資料。若您想要德國的所有機場，需要以 LOAD 操作另外載入。

若透過連接器從 SQL 資料庫載入，應改為透過資料庫連接器之一載入資料，例如 ODBC 連接器。確認載入幾何作為 WKT (在 `st_asText()` 查詢中套用通常稱為 SQL 的函數)。然後將表格傳送至 WKT，以轉換 Qlik GeoOperations 欄位。然後，這將會以 Qlik Sense 格式傳回具有幾何的欄位。

## 範例指令碼轉換

此指令碼轉換範例將會使用下列 GeoAnalytics 連接器 指令碼：

```
/* Generated by GeoAnalytics for operation Cluster ---------------------- */
[ClusterAssociations]:
SQL SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points')
DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default'
SELECT [Clusters_ClusterID], [Clusters_ClusterCenter] FROM Clusters;
[Clusters]:
SQL LOAD * FROM Clusters;
tag field [LocationDbId] with '$primarykey';
tag field [Clusters_ClusterID] with '$primarykey';
tag field [Clusters_ClusterCenter] with '$geopoint';
tag field [Clusters_ClusterID] with '$geoname';
tag field [Clusters_ClusterCenter] with '$relates_Clusters_ClusterID';
tag field [Clusters_ClusterID] with '$relates_Clusters_ClusterCenter';
/* End GeoAnalytics operation Cluster ----------------------------------- */
```

請執行下列動作：

1. 在 SQL 和第二個 SELECT 陳述式之間採取指令碼。

   ```
   SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points')
   DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default'
   ```

2. 取代引號：

   ```
   SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points")
   DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
   ```

3. 從次要表格新增欄位：

   ```
   SELECT [LocationDbId], [Clusters_ClusterID], [Clusters.Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points")
   DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
   ```

4. 調整參數和欄位名稱：

   SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters\_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"

5. 以未定案程式碼括住

   Load \* Extension GeoOperations.ScriptEval(' SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters\_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" ');

此指令碼現在可以搭配 Qlik GeoOperations 使用。

## GeoOperations 和 GeoAnalytics 欄位差異

GeoOperations 和 GeoAnalytics 指令碼之間的預設欄位有差異，通常有前置詞。將 GeoAnalytics 指令碼遷移至 GeoOperations 時，您可能需要調整某些欄位名稱。

AddressToPoint

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：&lt;id&gt;、Address、AddressPoint、CountryIso2、Adm1、City、PostalCode、Street、HouseNumber、Match

* GeoAnalytics：[&lt;id&gt;]、[Dataset\_Address]、[Dataset\_Geometry]、[CountryIso2]、[Dataset\_Adm1]、[Dataset\_City]、[Dataset\_PostalCode]、[Dataset\_Street]、[Dataset\_HouseNumber]、[Dataset\_Match]

GeoAnalytics 和 GeoOperations 有下列差異：

* GeoAnalytics 欄位有來自資料集的前置詞。

* Dataset\_Geometry 在 中稱為 AddressPoint GeoOperations。

分級

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：&lt;id&gt;、BinId、BinTable.BinPolygon、BinTable.CenterPoint

* GeoAnalytics：[&lt;id&gt;]、[RH2W3]、[RH2W3\_CenterPoint]

GeoAnalytics 和 GeoOperations 有下列差異：

* 在 GeoAnalytics 中，RH2W3 是多邊形欄位，其名稱根據格線大小 / 比率而產生。在 GeoOperations 中，欄位是 BinTable.BinPolygon。

* GeoAnalytics 沒有 BinId 欄位。

最近

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：dataset\_dataset2\_RelationId、dataset.&lt;ds1 id&gt;、dataset2.&lt;ds2 id&gt;、Distance

* GeoAnalytics: [Dataset1\_Dataset2\_RelationId], [Dataset1.&lt;ds1 id&gt;], [Dataset2.&lt;ds2 id&gt;], [Dataset1\_Dataset2\_Distance]

GeoAnalytics 和 GeoOperations 有下列差異：

* GeoOperations 在 Distance 欄位沒有前置詞。

叢集

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：&lt;id&gt;、ClusterID、Clusters.ClusterPoint、Clusters.PointCount

* GeoAnalytics：[&lt;id&gt;]、[Clusters\_ClusterID]、[Clusters\_ClusterCenter]、[Clusters\_PointCount]

GeoAnalytics 和 GeoOperations 有下列差異：

* GeoOperations 和 GeoAnalytics 之間的前置詞不同。

解散

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：&lt;id&gt;、DissolvedPolygon

* GeoAnalytics：[&lt;id&gt;]、[&lt;id&gt;\_Geometry]

GeoAnalytics 和 GeoOperations 有下列差異：

* 幾何欄的名稱

交集

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：dataset\_dataset2\_RelationId、dataset.&lt;dataset1 id&gt;、dataset2.&lt;dataset2 id&gt;、dataset.RelativeOverlap、dataset2.RelativeOverlap

* GeoAnalytics：[Dataset1\_Dataset2\_RelationKey]、[Dataset1.&lt;ds1 id&gt;]、 [Dataset2.&lt;ds1 id&gt;]、[Dataset1\_RelativeOverlap]、[Dataset2\_RelativeOverlap]

GeoAnalytics 和 GeoOperations 有下列關鍵差異：

* GeoOperations 和 GeoAnalytics 之間的前置詞不同。

IpLookup

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：&lt;id&gt;、IpPoint、CountryIso2、Adm1Code、City

* GeoAnalytics：[&lt;id&gt;]、[IpTable\_Geometry]、[CountryIso2]、[IpTable\_Adm1Code]、[IpTable\_City]

GeoAnalytics 和 GeoOperations 有下列差異：

* GeoAnalytics 中的 IpTable\_Geometry 在 GeoOperations 中是 IpPoint。

* GeoOperations 和 GeoAnalytics 之間的前置詞不同。

載入 (位置資料集)

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations (區域)：LocationDbId、LocationPolygon、Name、CountryIso2、Adm1Code、Adm2Code、LocationDbType

* GeoOperations (點)：LocationDbId、LocationPoint、Name、CountryIso2、Adm1Code、Adm2Code、LocationDbType

* GeoAnalytics：[LocationDbId]、[Dataset\_Geometry]、[Dataset\_Name]、[CountryIso2]、[Dataset\_Adm1Code]、 [Dataset\_Adm2Code]、[LocationDbType]

GeoAnalytics 和 GeoOperations 有下列差異：

* GeoAnalytics 中的幾何欄位 (LocationPolygon 和 LocationPoint 在 GeoOperations 中是 Dataset\_Geometry。

* GeoOperations 和 GeoAnalytics 之間的前置詞不同。

PointToAddress

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：&lt;id&gt;、Address、AddressPoint、CountryIso2、Adm1、City、PostalCode、Street、HouseNumber、Distance

* GeoAnalytics：[&lt;id&gt;]、[Dataset\_Address]、[Dataset\_Geometry]、[CountryIso2]、[Dataset\_Adm1]、[Dataset\_City]、[Dataset\_PostalCode]、[Dataset\_Street]、[Dataset\_HouseNumber]、[Dataset\_Distance]

GeoAnalytics 和 GeoOperations 有下列差異：

* GeoOperations 和 GeoAnalytics 之間的前置詞不同。

路線

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：&lt;id&gt;、Distance、Duration、Status、LowResLine

* GeoAnalytics：[&lt;id&gt;]、[Dataset\_Distance]、[Dataset\_Duration]、[Dataset\_Status]、[Dataset\_PathLowRes]

GeoAnalytics 和 GeoOperations 有下列差異：

* GeoAnalytics 中的幾何欄位 Dataset\_PathLowRes 在 GeoOperations 中是 LowResLine。

* GeoOperations 和 GeoAnalytics 之間的前置詞不同。

簡化

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：&lt;id&gt;、Simplified\_&lt;geo field name&gt;

* GeoAnalytics：[&lt;id&gt;]、[Dataset\_Simplified\_Geometry]

.GeoAnalytics 與 GeoOperations 有以下差異：

* 幾何欄位的名稱在 GeoOperations 和 GeoAnalytics 之間不同。

TravelAreas

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：&lt;id&gt;、TravelArea、Cost、CostUnit、Status

* GeoAnalytics：[&lt;id&gt;]、[Dataset\_TravelArea]、[Dataset\_Origin]、[Dataset\_Cost]、[Dataset\_CostUnit]、[Dataset\_Status]

GeoAnalytics 和 GeoOperations 有下列差異：

* GeoOperations 不包括原始欄位。

* GeoOperations 和 GeoAnalytics 之間的前置詞不同。

之內

GeoOperations 和 GeoAnalytics 傳回下列欄位：

* GeoOperations：dataset\_dataset2\_RelationId、dataset.&lt;dataset1 id&gt;、dataset2.&lt;dataset2 id&gt;

* GeoAnalytics: [內含\_包含\_關係ID]、[內含.&lt;資料集 1/2 ID&gt;]、[包含.&lt;資料集 1/2 ID&gt;]

GeoAnalytics 和 GeoOperations 有下列差異：

* GeoOperations 前置詞包括資料集名稱，而 GeoAnalytics 也包括前置詞 Enclosed。