跳到主要內容 跳至補充內容

操作

AddressPointLookup

為表格中的地址傳回點幾何,亦即地理編碼。在搜尋文字屬性中指定地址字串或在對應屬性中指定結構性部分,例如國家街道等。也允許合併。此操作需要特殊授權。結果中不會傳回因任何原因而找不到的地址。

Qlik 地理編碼所提供的功能 (透過 AddressPointLookup 與 PointToAddressLookup) 有別於其他位置查閱功能。Qlik 地理編碼可允許於地址層級進行查閱,而一般位置查閱的精確度只能達到郵遞區號層級。

在開始使用 Qlik 地理編碼時,使請用設定 Qlik 地理編碼 (僅提供英文版)中的參考範本。

資訊備註 為了獲得最佳結果,盡可能使用具體資料並省略廣泛資料。例如,若您有郵遞區號和郵遞城市,而您信任郵遞區號是正確的,則最好不要指定郵遞城市。

大部分的參數都有兩個版本,一個指定實際值,例如 country="SWE",而另一個指定欄位名稱,可從中擷取實際值,例如 countryField="CountryIso2"

資訊備註 若要對中國的英文或拼音地址進行地理編碼,國家參數必須設定為「CHN」。

傳回下列欄:

  • <dataset key column> - 來自輸入資料集的索引鍵欄。
  • Address - 找到的地址,已格式化為該國的地址標準。
  • Geometry - 找到項目的點。
  • HouseNumber - 找到項目的房屋號碼。
  • Street - 找到項目的街道。
  • PostalCode - 找到項目的郵遞區號。
  • City - 找到項目的城市級行政區名稱。
  • Adm1 - 找到項目的的一級行政區 (州) 的名稱或縮寫名稱。
  • CountryIso2 - 找到項目的國家/地區代碼。
  • Match - 介於 0 和 1 之間的值,顯示相符程度。值 1 表示完美相符。
  • 除了來自資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

傳回的欄位可能是空的,這表示不適用或資料不可用。

支援:

  • 載入指令碼中的 ScriptEval。

對某些瑞典地址進行地理編碼的範例,其中每個項目位於各自的欄位:

[Addresses]: Load * inline [ Id,Country,City,Street,HouseNumber,Postal 1,SE,Gothenburg,Odinsgatan,13,41103 2,SE,,Alfhemsgatan,5,41310 ]; Load * Extension GeoOperations.ScriptEval(' Select Id, Address, AddressPoint From AddressPointLookup(countryField="Country", cityField="City", streetField="Street", houseNumberField="HouseNumber", postalCodeField="Postal") ', Addresses);

此範例顯示自由文字樣式中的地理編碼:

[Addresses2]: Load * inline [ Id;Address 1;1600 Pennsylvania Avenue NW, Washington, D.C. 20500 2;767 5th Ave, New York, NY 10153 ] (delimiter is ';'); Load * Extension GeoOperations.ScriptEval(' AddressPointLookup(searchTextField="Address", country="USA") ', Addresses2);
AddressPointLookup 的參數
參數 類型 使用 描述
searchText 字串 選用 要搜尋的文字字串。可以是如下地址:「1600 Pennsylvania Ave, Washington DC, USA」,或結合其他欄位資料的不完整地址,例如「1117 Washington Ave」且 City 設定為「Philadelphia」(費城) 而 Country 設定為「USA」(美國)。
searchTextField 字串 選用 若沒有指定 searchText,此參數可以用來指定應從中擷取資訊的欄位。
country 字串 選用 含有三個字母 ISO 代碼的字串。可以指定多個國家/地區,並以逗號分隔:「SWE,NOR,FIN」。若要特別對中國的英文或拼音地址進行地理編碼,此參數必須設定為「CHN」。
countryField 字串 選用 若沒有指定 country,此參數可以用來指定欄位,該欄位包含國家/地區名稱或是二或三個字母 ISO 代碼。請注意,與其他參數相反,countrycountryField 指定的資料預期格式不相同。country 參數允許多個國家/地區,但僅限三個字母的 ISO 格式,而 countryField 則允許不同的國家/地區格式。
state 字串 選用 州名稱或代碼。對於大部分的國家/地區,州不是地址的一部分。
stateField 字串 選用 若沒有指定 state,此參數可以用來指定應從中擷取資訊的欄位。
城市 字串 選用 城市名稱、自治區或郵遞城市。
cityField 字串 選用 若沒有指定 city,此參數可以用來指定應從中擷取資訊的欄位。
postalCode 字串 選用 郵遞區號。
postalCodeField 字串 選用 若沒有指定 postalCode,此參數可以用來指定應從中擷取資訊的欄位。
street 字串 選用 街道名稱。這不是以獨立的參數和欄位指定街道和房屋號碼,而是可以共同指定兩者,並以空格鍵分隔。
streetField 字串 選用 若沒有指定 street,此參數可以用來指定應從中擷取資訊的欄位。
houseNumber 字串 選用 房屋號碼。
houseNumberField 字串 選用 若沒有指定 houseNumber,此參數可以用來指定應從中擷取資訊的欄位。
matchThreshold 實際 default:0.5 僅傳回相符程度比這個更好的結果。若傳回太多誤檢資料,請增加此值。
語言 字串 預設值:無。 適合回覆中地址之偏好語言的二字母語言代碼。若地址無法用於要求的語言,則會以該位置的預設語言傳回。
資料集 資料集 預設值:無。 資料集含有將會在地理編碼器中查閱的地址。從載入指令碼傳送時,支援此資料集的串流,這表示允許較大的表格。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

分級

為點資料集產生矩形或六邊形分級。此方式可彙總點資料,以便更有效率地顯示資料概述。

傳回下列欄:

  • <dataset key column> - 來自輸入資料集的索引鍵欄。
  • BinId - 分級的識別。
  • BinTable.BinPolygon - 分級的多邊形。
  • BinTable.CenterPoint - 分級的中心點。
  • 除了來自資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

支援:

  • 載入指令碼中的 ScriptEval。

從美國機場載入六邊形分級的範例:

Load * Extension GeoOperations.ScriptEval(' Binning(type="hexagonal", gridSize="1") DATASOURCE airports LOCATIONSERVICE geometry="POINT", type="AirportIATA", country="us" ');
分級的參數
參數 類型 使用 描述
類型 字串 default:rectangular 定義應產生矩形六邊形分級。
gridSize 實際 預設值:無。 個別分級的高度,以級數表示。一級大約是 10000 公尺。
gridWidthHeightRatio 實際 default:1.5 分級的寬高比。正方形分級通常是最佳寬高比,但依緯度而異。最佳寬高比的公式為 1/cos(緯度),例如在赤道是 1,在緯度 +-30 度是 1.15,而在緯度 +-60 度是 2。以調適型投影顯示分級資料,看起來通常會比麥卡托投影更好。
資料集 資料集 預設值:無。 資料集含有要產生分級的點幾何。從載入指令碼傳送時,支援此資料集的串流,這表示允許較大的表格。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

Closest

若有任何物件比最大距離更近,則傳回某個資料集中的物件以及另一個資料集中最靠近的物件之間的關係和距離。也可以計算沿路成本,在該情況下,可以選擇使用旅行時間。此操作在許多情況下都很實用,不僅用於取得與最靠近的物件的關係,也用於取得一組點之間的距離矩陣。

傳回下列欄:

  • <dataset1 name>_<dataset2 name>_RelationId - 為兩個幾何之間的關係產生的索引鍵。
  • <dataset1 key column> - 來自輸入 dataset1 的索引鍵欄。
  • <dataset2 key column> - 來自輸入 dataset2 的索引鍵欄。
  • Distance - 使用 costUnit 中指定單位的距離。
  • Status - 傳回的狀態是「確定」或「失敗」:其後有錯誤訊息。
  • LowResLine - 路線的低解析度版本,僅可用於不是 Bird 的距離類型。
  • 除了來自輸入 dataset1 資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。
  • 除了來自輸入 dataset2 資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

支援:

  • 載入指令碼中的 ScriptEval。

此範例尋找與表格中的點最近的機場:

MyPoints: LOAD * inline " id;point 1;[12,57.7] 2;[12.1,57.7] " (delimiter is ';'); MyClosestAirports: Load * Extension GeoOperations.ScriptEval(' Closest(distance="100000", closestCount="3") DATASOURCE pts INTABLE keyField="id", pointField="point" DATASOURCE airports LOCATIONSERVICE geometry="POINT", type="AirportIATA", country="se" ', MyPoints);
Closest 的參數
參數 類型 使用 描述
距離 實際 預設值:無。 與成本單位中指定之單位的最大距離。會忽略比此距離更遠的項目。
costUnit 字串 default:meters 應為公尺、碼、公里、英里、秒、分鐘或小時之一。使用時間單位暗示旅行時間作為使用距離的成本和長度單位使用。時間單位不可用於距離類型「Bird」。
distanceType 實際 default:Bird 決定如何測量距離。允許使用下列值:
  • Bird - 測量物件之間的直接距離 (即直線距離)。
  • Car - 在車輛限制下沿著道路測量。僅點資料集才有支援。
  • Bike - 在自行車限制下沿著道路測量。僅點資料集才有支援。
  • Pedestrian - 在行人限制下沿著道路測量。僅點資料集才有支援。
  • Truck - 在卡車限制下沿著道路測量。僅點資料集才有支援。
closestCount 實際 default:1 要與第一個資料集中的物件關聯的第二個資料集中的物件數量。值 1 代表只有一個最近項目,2 代表兩個最近項目,以此類推。
dataset1 資料集 default:<第一個資料集> 物件用來檢查與 dataset2 中物件的鄰近性 (如有指定),否則檢查與本身物件的鄰近性。檢查單一資料集中物件之間的鄰近性時,絕對不會將關係從某個物件新增至本身。從載入指令碼傳送時以及定義 dataset2 時,支援此資料集的串流,這表示允許較大的表格。
dataset2 資料集 default:<第二個資料集 (如有)> 要與 dataset1 中的物件關聯的物件。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

叢集

根據點之間的地理鄰近性從點資料集產生叢集。叢集產生由距離參數控制,這定義點與所屬叢集的距離可以有多遠。傳回表格,其中含有點和叢集之間的關係。也會傳回命名為 Clusters (叢集) 的聯結表格,其中含有叢集幾何。這包含欄位 ClusterID、ClusterCenter (點幾何) 和 PointCount。計數欄位包含叢集中的點數量。

傳回下列欄:

  • <dataset key column> - 來自輸入資料集的索引鍵欄。
  • ClusterID - 點所屬的叢集 ID。
  • Clusters.ClusterPoint - 叢集的中心點。
  • Clusters.PointCount - 屬於叢集的原始點數量。
  • 除了來自輸入資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

支援:

  • 載入指令碼中的 ScriptEval。

此範例叢集美國機場,讓距離小於 50 公里的機場屬於一個叢集:

MyClusteredAirports: Load * Extension GeoOperations.ScriptEval(' Cluster(distance="50000") DATASOURCE airports LOCATIONSERVICE geometry="POINT", type="AirportIATA", country="us" ');
叢集的參數
參數 類型 使用 描述
距離 實際 預設值:無。 點及其叢集之間的距離不可大於以公尺為單位的此距離。
資料集 資料集 預設值:無。 具有點至叢集的資料集。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

解散

解散並簡化區域,以根據舊區域識別 (或幾何) 和新區域識別之間的對應形成更大的區域。這通常用於建立由清楚定義的較小區域所增大的自訂區域,例如郵遞區域或行政區域。

傳回下列欄:

  • <dissolveField> - 該欄位指定為 indata 中的 dissolveField
  • DissolvedPolygon - 新的解散區域的幾何。

支援:

  • 載入指令碼中的 ScriptEval。

幾何資料集為選用。若未提供,則支援幾何,以用於解散定義資料集。

請注意,在除了 Source 以外的所有解析度中會移除多邊形重疊。

此範例建立兩個地區,一個由 CA 和 AZ 組成,另一個由 WA 和 OR 組成:

MySalesRegions: LOAD * inline " Adm1Code;RegionName California;SouthWest Arizona;SouthWest Washington;NorthWest Oregon;NorthWest " (delimiter is ';'); MySalesRegionGeometries: Load * Extension GeoOperations.ScriptEval(' Dissolve(dissolveField="RegionName", areaDatasetKeyField="Name") DATASOURCE states LOCATIONSERVICE type="State", country="us" ', MySalesRegions);
解散的參數
參數 類型 使用 描述
dissolveField 字串 default:<與 dissolveDataset 中的索引鍵欄位相同的名稱> 欄位名稱,此欄位具有新區域標識並且新區域位於 dissolveDataset
解析度 字串 default:Auto 產生的資料集經過簡化,簡化程度由此屬性控制。可用的值為:
  • auto - 該操作根據資料計算解析度。
  • autolow - 低於 (一半) 自動解析度的解析度。
  • autohigh - 高於 (加倍) 自動解析度的解析度。
  • source - 沒有執行簡化。請注意,若 dissolveDataset 在兩個不同的新區域中包含相同的舊區域兩次,則必須使用 source
areaDatasetKeyField 字串 default:<areaDataset 中的索引鍵欄位> areaDataset 中的原始區域識別。這只有在指定 areaDataset 時才會使用。
dissolveDataset 的索引鍵欄位 資料集 default:<第一個資料集> 每個舊區域屬於哪個新區域的定義,亦即舊區域和新區域識別之間的對應。如有指定,索引鍵欄位應對應至 areaDataset 中的索引鍵。若沒有提供 areaDataset,幾何應可用於此資料集。
areaDataset的索引鍵 資料集 default:<第二個資料集 (如有)> 資料集含有要解散的區域幾何。可能沒有內容,這表示幾何應可用於 dissolveDataset。此資料集中的 areaDatasetKeyField 必須連結至 dissolveDataset 中的索引鍵欄位。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

交集

傳回在 dataset1 中的索引鍵和 dataset2 中的索引鍵之間對應所有交集物件的表格。若兩個資料集都包含多邊形,會傳回相較於各自資料集中區域的相對重疊區域。

可以指定 intersectsCount,以在應對應至第一個資料集中每個幾何的第二個資料集內,限制交集幾何的數量。然後會依序傳回交集最多的幾何。若沒有指定 intersectsCount,則操作為對稱性。

傳回下列欄:

  • <dataset1 name>_<dataset2 name>_RelationId - 為兩個幾何之間的關係產生的索引鍵。
  • <dataset1 key column> - 來自輸入 dataset1 的索引鍵欄。
  • <dataset2 key column> - 來自輸入 dataset2 的索引鍵欄。
  • <dataset1 name>.RelativeOverlap - 相較於 dataset1 中多邊形的重疊。只有在資料集包含多邊形時才會傳回。有請求此欄位的效能懲罰。
  • <dataset2 name>.RelativeOverlap - 相較於 dataset2 中多邊形的重疊。只有在資料集包含多邊形時才會傳回。有請求此欄位的效能懲罰。
  • 除了來自輸入 dataset1 資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。
  • 除了來自輸入 dataset2 資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

支援:

  • 載入指令碼中的 ScriptEval。

此範例計算線路交集哪些州:

MyLines: LOAD * inline " id;line 1;[[-108.1,45.4],[-107.4,44.9]] 2;[[-98.9,40.1],[-100.4,40.9]] " (delimiter is ';'); LinesInStates: Load * Extension GeoOperations.ScriptEval(' SELECT id, states.Name FROM Intersects() DATASOURCE states LOCATIONSERVICE geometry="AREA", type="Admin1", country="us" ', MyLines);
交集的參數
參數 類型 使用 描述
dataset1 資料集 default:<第一個資料集> 資料集含有幾何,用來測試其他資料集中的幾何交集 (如有指定),或此資料集中物件之間的幾何交集 (如未指定)。檢查單一資料集中物件之間的交集時,絕對不會將關係從某個物件新增至本身。從載入指令碼傳送時以及定義 dataset2 時,支援此資料集的串流,這表示允許較大的表格。
dataset2 資料集 default:<第二個資料集 (如有)> 資料集含有幾何,用來測試其他資料集中的幾何交集。若未指定,則會計算 dataset1 中的物件之間的交集。
intersectsCount 整數 default:0 若大於 0,則每個 dataset1 幾何最多只會傳回 dataset2 中的這個交集幾何數量。只會傳回交集最多 (重疊區域或長度最大) 的項目。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

IpLookup

以表格傳回 IP 位址的位置資訊和點幾何。若您正在分析對 Web 服務的存取資料,則這很實用。傳回的表格包含下列欄位:
  • 索引鍵欄位 - 與名稱表格的索引鍵欄位相同。
  • <Address Table Ip Field> - 與查閱的 IP 欄位相同。只有在與索引鍵欄位不同時才可用。
  • IpPoint - 找到項目的點。
  • CountryIso2 - 找到項目的國家/地區代碼。
  • Adm1Code - 找到項目的一級行政區域代碼。請注意,此代碼不一定與位置服務傳回的代碼相容。
  • City - 找到項目的城市。
  • 除了來自輸入資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

IP 地理位置本來就有不精確性。對於許多 IP 位址,可以精確定位城市,但對於其他 IP 位址,只能確定國家/地區。

最佳做法是僅將 IP 欄傳送至 IpLookup 操作。查閱某些 IP 位址的範例:

MyIpData: LOAD * inline " User;Ip Alice;188.12.2.2 Bob;176.77.23.14 " (delimiter is ';'); MyIpPoints: Load * Extension GeoOperations.ScriptEval(' IpLookup(ipField="Ip") ', MyIpData{Ip});

在許多列中重複相同的 IP 很常見。然後這會改善效能,首先僅篩出唯一 IP,如此範例所示:

MyIpData: LOAD * inline " User;Ip Alice;176.77.23.14 Bob;188.12.2.2 Carol;176.77.23.14 Dave;188.12.2.2 Bob;188.12.2.2 Bob;188.12.2.2 " (delimiter is ';'); MyDistinctIpData: Load distinct Ip resident MyIpData; MyIpPoints: Load * Extension GeoOperations.ScriptEval(' IpLookup(ipField="Ip") ', MyDistinctIpData); Drop Table MyDistinctIpData;

此產品包括 MaxMind 建立的 GeoLite2 資料,可從 MaxMind 取得。

IpLookup 的參數
參數 類型 使用 描述
ipField 字串 選用 欄位具有要查閱的 IP 位址。如未指定,請使用資料集的索引鍵欄位。
資料集 資料集 預設值:無。 資料集含有將會在地理編碼器中查閱的 IP 位址。從載入指令碼傳送時,支援此資料集的串流,這表示允許較大的表格。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

載入

載入資料集,不需要套用操作。這可以載入 GeoOperations 支援的所有格式。請注意,若幾何有很多細節,而且顯示速度很慢,則簡化可以是載入的良好替代選項。

傳回下列欄:

  • 來自資料集的所有欄。

支援:

  • 載入指令碼中的 ScriptEval。

載入瑞典郵遞區號的範例:

Load * Extension GeoOperations.ScriptEval('Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');

由於支援 WKT 作為 INTABLE 中資料的幾何格式,載入操作十分適合將從資料庫載入的地理幾何轉換為 Sense 幾何格式,以便顯示。下列範例顯示如何轉換 WKT 資料,在此案例中是從 MyWKTData 表格:

MyWKTData: LOAD *inline " id;wkt 1;POINT(-80.204 25.791) 2;POINT(-81.381 28.538)" (delimiter is ';'); Load * Extension GeoOperations.ScriptEval(' Select id, wkt as point From Load() ', MyWKTData);
載入的參數
參數 類型 使用 描述
資料集 資料集 default:<第一個資料集> 要載入的資料集。從載入指令碼傳送時,支援此資料集的串流,這表示允許較大的表格。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

PointToAddressLookup

為清單中的點傳回最近的地址,也稱為反向地理編碼。此操作需要特殊授權。靠近街道的點將會取得街道層級地址,否則將會回復原狀,以傳回郵遞區域或城市層級檢出資料。對於太遠的點,不會傳回任何資料。

傳回下列欄:

  • <dataset key column> - 來自輸入資料集的索引鍵欄。
  • Address - 找到的地址,已格式化為該國的地址標準。
  • Geometry - 找到項目的點。
  • HouseNumber - 找到項目的房屋號碼。
  • Street - 找到項目的街道。
  • PostalCode - 找到項目的郵遞區號。
  • City - 找到項目的城市級行政區名稱。
  • Adm1 - 找到項目的的一級行政區 (州) 的名稱或縮寫名稱。
  • CountryIso2 - 找到項目的國家/地區代碼。
  • Distance - 與找到地址的距離,以公尺為單位。
  • 除了來自資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

請注意,傳回的欄位可能是空的,這表示不適用或資料不可用。

為某些點取得地址的範例:

MyAddressPoints: LOAD * inline " id;point 1;[-108.1,45.4] 2;[-98.9,40.1] 3;[12.1,57.7] " (delimiter is ';'); Load * Extension GeoOperations.ScriptEval(' PointToAddressLookup() ', MyAddressPoints);
PointToAddressLookup 的參數
參數 類型 使用 描述
語言 字串 預設值: 適合回覆中地址之偏好語言的二字母語言代碼。若地址無法用於要求的語言,則會以該位置的預設語言傳回。
資料集 資料集 預設值:無。 資料集含有將會在地理編碼器中查閱的點。從載入指令碼傳送時,支援此資料集的串流,這表示允許較大的表格。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

路線

在表格中計算兩個位置之間的路線,包括長度和持續時間。

請注意,原點是資料集中的幾何欄。目的地欄以操作參數指定,因為資料集僅知道幾何欄。

若您使用 Bird 作為交通類型,這會在原點和目的地之間產生很大的圓弧。

傳回下列欄:

  • <dataset key column> - 來自輸入資料集的索引鍵欄。
  • Distance - 以公尺為單位的路線距離。
  • Duration - 以秒為單位的預估路線旅行時間。
  • Status - 傳回的狀態是「確定」或「失敗」:其後有錯誤訊息。
  • LowResLine - 路線的低解析度版本。
  • 除了來自輸入資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

支援:

  • 載入指令碼中的 ScriptEval。
  • 圖表指令碼中的 ScriptEvalStr,用於取得路線 。
  • 圖表指令碼中的 ScriptEval,用於取得距離或持續時間。

此範例計算資料集中的點之間的路線:

MyRoutePoints: LOAD * inline " routeid;origin;dest 1;[12,57.7];[12,57.8] 2;[12.1,57.7];[12.2,57.7] " (delimiter is ';'); MyRoutes: Load * Extension GeoOperations.ScriptEval('Routes(destField="dest")', MyRoutePoints);

此範例直接在線路圖層中計算路線。每次選項變更時會為選項呼叫操作。通常,若僅選取幾個點,應該有為真 (ture) 的計算條件 (否則以載入指令碼計算路線會更好)。這應置於載入指令碼中以載入資料。例如︰

Load * Extension GeoOperations.ScriptEval( 'Load() DATASOURCE Cities LOCATIONSERVICE geometry="POINT", type="City", country="dk"');

在線路圖層中使用下列維度:

LocationDbId

在線路圖層中使用計算條件:

Count(LocationDbId)<10

在應設定為線條幾何的位置屬性中,放置此以計算從固定位置到所選點的路線:

=GeoOperations.ScriptEvalStr('SELECT LowResLine from Routes(originField="Me", destField="LocationPoint")', '[11.2,54.8]' as Me, LocationPoint)

路線的參數
參數 類型 使用 描述
資料集 資料集 預設值:無。 具有要計算之路線的原點和目的地的資料集。原點應在資料集的幾何中。從載入指令碼傳送時,支援此資料集的串流,這表示允許較大的表格。
標準 字串 default:fastest 在要計算的最快最短路線之間選擇。
運輸 字串 default:car 交通模式,CarTruckBikePedestrianBird (飛行速度為 10 公尺/秒) 之一。
destField 字串 預設值:無。 指定目的地的資料集中的欄位。請注意,原點是資料集中指定的幾何欄位。
geometryType 字串 default:POINT destField 中的幾何類型。允許的值為 PointNamedPointLatLon。對於已命名的點,會在位置服務中查閱幾何,並新增幾何的欄。
尾碼 字串 預設值:無。 適用於進階使用者。指定的字串附加至所有 ID。這是一種便利的方式,可向基於伺服器的位置服務 (例如國家代碼或類型) 指定更多資訊。替代選項用來在將表格載入到 Qlik 時附加額外資料。透過下列尾碼,所有項目都特定於瑞典的城市:
,SE:city
請參閱位置服務指南瞭解更多關於要使用的語法的資訊。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

Simplify

簡化資料集中的線路和區域幾何。若要透過簡化操作而非載入操作來載入地理資料,這通常很實用,可取得更快顯示、更有效率的幾何。

會根據區域、物件數量和物件大小自動計算簡化程度。然後可以透過解析度參數調整為較高或較低的解析度。

區域簡化透過處理拓樸的演算法來進行,可以移除間隙並聯結島嶼。

線路簡化透過中斷點減少演算法來進行。

請注意,會移除多邊形的重疊。輸出中將不會有重疊的多邊形。

傳回下列欄:

  • <dataset key column> - 來自輸入 dataset1 的索引鍵欄。
  • Simplified_<geometry column name> - 原始幾何的簡化版本。
  • 除了來自資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

支援:

  • 載入指令碼中的 ScriptEval。

載入美國各州簡化版本的範例:

Load * Extension GeoOperations.ScriptEval(' SELECT LocationDbId, Simplified_LocationPolygon FROM Simplify() DATASOURCE states LOCATIONSERVICE type="State", country="us" ');
簡化的參數
參數 類型 使用 描述
解析度 字串 default:Auto 產生的資料集經過簡化,簡化程度由此屬性控制。可用的值為:
  • Auto - 該操作根據資料計算解析度。
  • AutoLow - 低於 (一半) 自動解析度的解析度。
  • AutoHigh - 高於 (加倍) 自動解析度的解析度。
來自資料集的欄位 資料集 default:<第一個資料集> 資料集含有要簡化的幾何。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

TravelAreas

計算旅行時間 ISO 區域。可以在特定時間之內抵達或比沿路特定距離更近的傳回區域內的所有位置。傳回表格,其中含有 ID、旅行區域幾何、中心點、成本、成本單位和狀態 (確定或失敗)。

若您使用「Bird」作為交通類型,這會在地理上圍繞著原點產生正確的圓圈。

傳回下列欄:

  • <dataset key column> - 來自輸入資料集的索引鍵欄。
  • TravelArea - 定義旅行區域的多邊形幾何。
  • Cost - costValue 或 costField 中指定的成本。
  • CostUnit - costUnit 中指定的成本單位。
  • Status - 傳回的狀態是「確定」或「失敗」:其後有錯誤訊息。
  • 除了來自輸入資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

支援:

  • 載入指令碼中的 ScriptEval。
  • 圖表指令碼中的 ScriptEvalStr,用於取得路旅行區域幾何。
  • 圖表指令碼中的 ScriptEval,用於取得成本。

此載入指令碼範例從以下座標在 Miami 和 Orlando 產生 10 分鐘旅行區域:

MyPoints: LOAD * inline " id;point 1;[-80.204,25.791] 2;[-81.381,28.538] " (delimiter is ';'); MyTravelAreas: Load * Extension GeoOperations.ScriptEval( 'SELECT id, TravelArea from TravelAreas(costValue="10", costUnit="Minutes")', MyPoints);

此載入指令碼範例使用已命名的點在 Miami 和 Orlando 產生 10 分鐘旅行區域:

MyCities: LOAD * inline " cid;City 1;Miami,US 2;Orlando,FL,US " (delimiter is ';'); Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10",costUnit="minutes") DATASOURCE cities INTABLE keyField="City", namedPointField="City"', MyCities {City});

此範例直接在區域圖層中計算點附近的旅行區域。每次選項變更時會為選項呼叫操作。對於範例,這應置於載入指令碼中以載入資料:

MyAirports: Load * Extension GeoOperations.ScriptEval(' Load() DATASOURCE airports LOCATIONSERVICE geometry="POINT", type="AirportIATA", country="se" ');

在區域圖層中使用下列維度:

LocationDbId

在區域圖層中使用計算條件:

Count(LocationDbId)<10

在位置屬性中放置此:

=GeoOperations.ScriptEvalStr('Select TravelArea from TravelAreas(costValue="10", costUnit="minutes")', LocationPoint)

TravelAreas 的參數
參數 類型 使用 描述
資料集 資料集 default:<第一個資料集> 具有用於計算旅行區域的原點和選用成本的資料集。從載入指令碼傳送時,支援此資料集的串流,這表示允許較大的表格。
costValue 數字 預設值:無。 傳回區域之邊界的成本。成本可以是長度或時間。(請參閱以下的 costUnit。) 對每個區域允許個別成本的替代選項則是指定 costField。
costField 字串 預設值:無。 指定成本的資料集中的欄位。只有在 costValue 空白時才會使用此項。
costUnit 字串 default:seconds 應為秒、分鐘、小時、公尺、碼、公里或英里之一。使用時間單位時,會計算在該時間內抵達的區域,而使用長度單位時,則會計算旅行距離短於指定距離的區域。
運輸 字串 default:car 交通模式,Car、Truck、 Bike、 Pedestrian 或 Bird (飛行速度為 10 公尺/秒) 之一。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。

Within

傳回兩個資料集之間的關係,其中某個資料集 (已封閉) 中的幾何完全位於其他資料集 (封閉中) 中的區域內部。傳回表格,這在已封閉資料集中的索引鍵和封閉中資料集中的索引鍵之間對應所有找到的關係。

通常用於尋找資料位於哪些區域;例如,用來測試行政區域所在的 GPS 位置。這是一種反向地理編碼。

傳回下列欄:

  • <enclosed name>_<enclosing name>_RelationId - 為兩個幾何之間的關係產生的索引鍵。
  • <enclosed key column> - 來自輸入 dataset1 的索引鍵欄。
  • <enclosing key column> - 來自輸入 dataset2 的索引鍵欄。
  • 除了來自已封閉資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。
  • 除了來自封閉中資料集的索引鍵欄以外的所有欄,以資料集名稱作為前置詞。

支援:

  • 載入指令碼中的 ScriptEval。

用來補償資料中的不精確性,有時候使用 Closest (最近) 取代 Within (之內) 會更好。例如,若您有海岸區域中的點資料,並想要關聯至行政區域,則微小的不精確性可能會造成點稍微超出區域。

此載入指令碼範例計算哪些點位於哪些州之內:

MyPoints: LOAD * inline " id;point 1;[-108.1,45.4] 2;[-98.9,40.1] 3;[12.1,57.7] " (delimiter is ';'); PointsInStates: Load * Extension GeoOperations.ScriptEval(' Within() DATASOURCE states LOCATIONSERVICE geometry="AREA", type="Admin1", country="us" ', MyPoints);
Within 的參數
參數 類型 使用 描述
enclosed 資料集 default:<第一個資料集> 資料集含有幾何,用來測試被哪些區域封閉。從載入指令碼傳送時,支援此資料集的串流,這表示允許較大的表格。
enclosing 資料集 default:<第二個資料集> 資料集含有區域幾何,用來測試封閉哪些幾何。從載入指令碼傳送時,支援此資料集的串流,這表示允許較大的表格。
精確度 整數 default:6 設定座標中要捨入的小數位數。預設值為 6 位小數,精確度約 10 公分。若您不想捨入座標,將值設定為負數。
 

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!