跳到主要内容 跳到补充内容

运算

AddressPointLookup

返回表格中地址的点几何体,即地理编码。在 Search Text 属性中指定地址字符串,或在相应属性(如 CountryStreet 等)中指定结构化部分。还允许组合。此操作需要特殊许可证。由于任何原因无法找到的地址不会在结果中返回。

由 Qlik 地理编码(通过 AddressPointLookup 和 PointToAddressLookup)提供的功能与其他位置查找功能不同。Qlik 地理编码允许在地址级别进行查询,而普通的位置查询只能精确到邮政编码级别。

开始使用 Qlik 地理编码时,请使用配置 Qlik 地理编码 (仅提供英文版本)引用的模板。

信息注释 为了获得最佳结果,尽可能使用特定的数据,而忽略广泛的数据。例如,如果您同时拥有邮政编码和邮政城市,并且您相信邮政编码是正确的,那么最好不要指定邮政城市。

大多数参数有两个版本,一个指定实际值,例如 country="SWE",另一个指定应从中检索实际值的字段名,例如 countryField="CountryIso2"

信息注释 要对中国的英文或拼音地址进行地理编码,必须将国家参数设置为 "CHN"。

返回以下列:

  • <数据集键列> - 输入数据集中的键列。
  • 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 string 可选 要搜索的文本的字符串。地址可以类似:"1600 Pennsylvania Ave, Washington DC, USA",也可以是与其他字段中的数据相结合的不完整地址,如 "1117 Washington Ave",City 设置为 "Philadelphia",Country 设置为 "USA"。
searchTextField string 可选 如果未指定 searchText,则此参数可用于指定从中检索信息的字段。
country string 可选 带有三个字母 ISO 代码的字符串。多个国家/地区可以用逗号分隔:"SWE,NOR,FIN"。要对中国的英文或拼音地址进行地理编码,必须将该参数设置为 "CHN"。
countryField string 可选 country 未被指定,此参数可用于指定包含国家/地区名称或两或三个字母的 ISO 代码的字段。请注意,与其他参数相比,countrycountryField 指定的数据的预期格式不同。country 参数允许多个国家,但仅限于三字母 ISO 格式,其中 countryField 允许不同的国家格式。
state string 可选 州名称或代码。对于大多数国家/地区来说,国家不是地址的一部分。
stateField string 可选 如果未指定 state,则此参数可用于指定从中检索信息的字段。
城市 string 可选 城市名称、直辖市或邮政城市。
cityField string 可选 如果未指定 city,则此参数可用于指定从中检索信息的字段。
postalCode string 可选 邮政编码。
postalCodeField string 可选 如果未指定 postalCode,则此参数可用于指定从中检索信息的字段。
street string 可选 街道名称。不需要在单独的参数或字段中指定街道和门牌号,而是可以同时指定街道和门牌号,并用空格分隔。
streetField string 可选 如果未指定 street,则此参数可用于指定从中检索信息的字段。
houseNumber string 可选 门牌号。
houseNumberField string 可选 如果未指定 houseNumber,则此参数可用于指定从中检索信息的字段。
matchThreshold real default:0.5 仅返回比此匹配更好的结果。如果返回的错误结果太多,请增大此值。
语言 string 默认:无。 答复中地址首选语言的两字母语言代码。如果该地址在请求的语言中不可用,则会以该位置的默认语言返回该地址。
数据集 数据集 默认:无。 具有将在地理编码器中查找的地址的数据集。从加载脚本发送时支持此数据集的流式传输,这意味着允许较大的表格。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

正在执行 bin 操作

为点数据集生成矩形或六边形 bin。这是一种聚合点数据的方法,以便可以有效地显示数据概览。

返回以下列:

  • <数据集键列> - 输入数据集中的键列。
  • BinId - bin 的身份。
  • BinTable.BinPolygon - bin 的多边形。
  • BinTable.CenterPoint - bin 中心的点。
  • 数据集中除键列以外的所有列,前缀为数据集名称。

支持:

  • 加载脚本中的 ScriptEval。

从美国机场加载六边形 bin 的示例:

Load * Extension GeoOperations.ScriptEval(' Binning(type="hexagonal", gridSize="1") DATASOURCE airports LOCATIONSERVICE geometry="POINT", type="AirportIATA", country="us" ');
分级参数
参数 类型 使用 描述
类型 string default:rectangular 定义应生成矩形还是六边形 bin。
gridSize real 默认:无。 单个 bin 的高度,单位为度。一度大约为 10000 m。
gridWidthHeightRatio real default:1.5 bin 的宽高比。最理想的是方形 bin,但随纬度变化而变化。最佳宽高比的公式为 1/cos(latitude),例如,赤道为 1,纬度 +-30 度为 1.15,纬度 +-60 度为 2。在自适应投影中显示分级数据通常比在墨卡托投影中显示分级数据看起来更好。
数据集 数据集 默认:无。 具有要为其生成 bin 的点几何体的数据集。从加载脚本发送时支持此数据集的流式传输,这意味着允许较大的表格。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

Closest

返回一个数据集中的对象与另一个数据集中最近的 n 个对象之间的关系和距离(如果有任何项比最大距离更接近)。成本也可以沿道路计算,在这种情况下,可以选择使用行进时间。此操作在许多情况下都很有用,不仅可以获取最接近对象的关系,还可以获取一组点之间的距离矩阵。

返回以下列:

  • <dataset1 name>_<dataset2 name>_RelationId - 为两个几何图形之间的关系生成的键。
  • <dataset1 key column> - 输入dataset1 中的键列。
  • <dataset2 key column> - 输入dataset2 中的键列。
  • Distance - 以 costUnit 中指定的单位表示的距离。
  • Status - 返回的状态为“ok”或“failed:”,后跟一条错误消息。
  • 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);
最接近的参数
参数 类型 使用 描述
distance real 默认:无。 距离成本单位中指定的单位的最大距离。相隔较远的项目将被忽略。
costUnit 中指定的距离 string default:meters 应该是米、码、公里、英里、秒、分、小时中的一个。使用时间单位意味着行程时间用作距离使用的成本和长度单位。距离类型“Bird”不允许使用时间单位。
distanceType real default:Bird 决定距离的测量方式。允许以下值:
  • Bird - 测量对象之间的直接距离(作为直线距离)。
  • Car - 沿着有汽车限制的道路测量。仅支持点数据集。
  • Bike - 沿着有自行车限制的道路测量。仅支持点数据集。
  • Pedestrian - 沿着有行人限制的道路测量。仅支持点数据集。
  • Truck - 沿着有卡车限制的道路测量。仅支持点数据集。
closestCount real 默认值:1 第二个数据集中要与第一个数据集中的对象关联的对象数。值为 1 表示仅有一项最近,2 表示有两项最近,依此类推。
dataset1 数据集 default:<first dataset> 对象用于检查与 dataset2 中的对象的接近度(如果指定),否则检查对象本身。在检查单个数据集中对象之间的接近度时,不会将关系从对象添加到对象本身。当从加载脚本发送时以及定义 dataset2 时,支持此数据集的流式传输,这意味着允许更大的表。
dataset2 数据集 default:<第二个数据集(如果有)> 和 dataset1 中的对象相关的对象。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

集群

基于点之间的地理接近度从点数据集生成集群。集群生成由距离参数控制,该参数定义了点与所属集群的距离。返回具有点和集群之间关系的表格。还返回一个名为 Clusters 的联接表,该表具有集群几何体。它包含 ClusterID、ClusterCenter(点几何体)和 PointCount 字段。计数字段包含集群中的点数。

返回以下列:

  • <数据集键列> - 输入数据集中的键列。
  • 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" ');
集群的参数
参数 类型 使用 描述
distance real 默认:无。 点与其群集之间的距离不能超过此距离(以米为单位)。
数据集 数据集 默认:无。 具有要集群的点的数据集。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

分解

基于旧区域标识(或几何图形)和新区域标识之间的映射,分解和简化区域以形成更大的区域。这通常用于构建由较小的定义良好的区域(如邮政区域或行政区域)构建的自定义区域。

返回以下列:

  • <dissolveField> - 字段指定为 indata 中的 dissolveField
  • DissolvedPolygon - 新分解区域的几何形状。

支持:

  • 加载脚本中的 ScriptEval。

几何数据集是可选的。如果未提供,则几何体应在“分解定义”数据集中可用。

请注意,多边形的重叠将在除之外的所有分辨率中删除。

此示例创建两个区域,一个由 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 string default:<与 SolveDataSet 中的键字段同名> 字段的名称以及,带有 dissolveDataset 中新区域的标识。
resolution string default:Auto 生成的数据集将被简化,简化程度由该属性控制。可用的值为:
  • auto - 该运算基于数据计算分辨率。
  • autolow - 较低自动分辨率(一半)的分辨率。
  • autohigh - 较高自动分辨率(两倍)的分辨率。
  • source - 未执行简化。请注意,如果 dissolveDataset 在两个不同的新区域中两次包含相同的旧区域,则必须使用
areaDatasetKeyField string default:<areaDataset 中的关键字段> areaDataset 中原始区域的标识。这仅在指定 areaDataset 时使用。
dissolveDataset 数据集 default:<first dataset> 每个旧区域属于哪个新区域的定义,即旧区域和新区域标识之间的映射。如果指定,键字段应映射到 areaDataset 中的键。如果未提供 areaDataset,则几何图形应在此数据集中可用。
areaDataset 数据集 default:<第二个数据集(如果有)> 具有要分解的区域几何体的数据集。可能为“无”,这意味着几何图形应在 dissolveDataset 中可用。此数据集中的 areaDatasetKeyField 必须链接到 dissolveDataset 中的关键字段。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

相交

返回一个表格,该表格在所有相交对象的 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:<first dataset> 包含要测试的几何体的数据集,该几何体与其他数据集中的几何体(如果已指定)相交(如果未指定则为该数据集中的对象之间)。在检查单个数据集中对象之间的交集时,不会将关系从对象添加到对象本身。当从加载脚本发送时以及定义 dataset2 时,支持此数据集的流式传输,这意味着允许更大的表。
dataset2 数据集 default:<第二个数据集(如果有)> 包含要测试的几何体的数据集,该几何体与其他数据集中的几何体相交。如果未指定,则计算 dataset1 中对象之间的交点。
intersectsCount 整数 default:0 如果大于 0,则每个 dataset1 几何体最多返回 dataset2 中此数量的相交几何体。只返回最为相交的几何体(最大重叠区域或长度)。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

IpLookup

返回表格中 IP 地址的位置信息和点几何体。这在分析 Web 服务的访问数据时非常有用。返回的表包含以下字段:
  • 关键字段 - 与名称表的关键字段相同。
  • <地址表 Ip 字段> - 与查找的 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 string 可选 包含要查找的 IP 地址的字段。如果未指定,则使用数据集的关键字段。
数据集 数据集 默认:无。 具有将在地理编码器中查找的 IP 地址的数据集。从加载脚本发送时支持此数据集的流式传输,这意味着允许较大的表格。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

加载

加载数据集,不应用任何操作。这使得加载 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:<first dataset> 要加载的数据集。从加载脚本发送时支持此数据集的流式传输,这意味着允许较大的表格。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

PointToAddressLookup

返回列表中点的最近地址,也称为反向地理编码。此操作需要特殊许可证。靠近街道的点将获得街道级别的地址,否则它将返回邮政区域或城市级别的结果。对于距离太远的点,不会返回任何数据。

返回以下列:

  • <数据集键列> - 输入数据集中的键列。
  • 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 的参数
参数 类型 使用 描述
语言 string 默认: 答复中地址首选语言的两字母语言代码。如果该地址在请求的语言中不可用,则会以该位置的默认语言返回该地址。
数据集 数据集 默认:无。 具有将在地理编码器中查找的点的数据集。从加载脚本发送时支持此数据集的流式传输,这意味着允许较大的表格。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

路线

计算表中两个位置之间的路线,包括长度和持续时间。

请注意,原点是数据集中的几何体列。目标列在操作参数中指定,因为数据集只知道一个几何列。

如果您使用 Bird 作为运输类型,它会在起点和终点之间生成大圆弧。

返回以下列:

  • <数据集键列> - 输入数据集中的键列。
  • Distance - 以米为单位的路线距离。
  • Duration - 估计的路线行驶时间(以秒为单位)。
  • Status - 返回的状态为“ok”或“failed:”,后跟一条错误消息。
  • 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);

这是一个直接在直线图层中计算线路的示例。每次选择更改时,都会对选择调用该操作。通常,如果只选择了几个点,则应存在一个为真的计算条件(否则,最好在加载脚本中计算路由)。这应该放在加载脚本中,以加载数据。例如:

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)

路线参数
参数 类型 使用 描述
数据集 数据集 默认:无。 包含要计算的路线的起点和终点的数据集。原点应位于数据集的几何体中。从加载脚本发送时支持此数据集的流式传输,这意味着允许较大的表格。
条件 string default:fastest 在要计算的最快最短路线之间选择。
transportation string default:car 运输方式(CarTruckBikePedestrianBird(飞行速度为 10m/s))之一。
几何体类型 string 默认:无。 数据集中指定维度的字段。请注意,原点是数据集中指定的几何体字段。
geometryType string default:POINT destField 中的几何体类型。允许的值为 PointNamedPointLatLon。对于指定点,将在位置服务中查找几何体,并添加几何体的列。
后缀 string 默认:无。 用于高级用户。指定的字符串将附加到所有 ID。这是向基于服务器的位置服务(如国家/地区代码或类型)指定更多信息的方便方法。另一种方法是在将表加载到 Qlik 时附加额外的数据。所有项目均指定为瑞典的城市,后缀如下:
,SE:city
有关使用何种语法的详细信息,请参见位置服务指南
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

简化

简化数据集中的线和区域几何体。使用简化操作而不是加载操作加载地理数据通常是一种有用的方法,可获得更高效、更快速显示的几何体。

根据区域、对象数量和对象大小自动计算简化程度。然后可以使用分辨率参数将其调整为更高或更低的分辨率

区域简化是通过处理拓扑的算法完成的,该算法可以消除间隙并连接孤岛。

行简化使用断点缩减算法完成。

请注意,多边形的重叠将被删除。输出中将不存在重叠多边形。

返回以下列:

  • <数据集键列> - 输入数据集 1 中的键列。
  • Simplified_<几何图形列名称> - 原始几何图形的简化版本。
  • 数据集中除键列以外的所有列,前缀为数据集名称。

支持:

  • 加载脚本中的 ScriptEval。

加载美国各州简化版本的示例:

Load * Extension GeoOperations.ScriptEval(' SELECT LocationDbId, Simplified_LocationPolygon FROM Simplify() DATASOURCE states LOCATIONSERVICE type="State", country="us" ');
用于简化的参数
参数 类型 使用 描述
resolution string default:Auto 生成的数据集将被简化,简化程度由该属性控制。可用的值为:
  • Auto - 该运算基于数据计算分辨率。
  • AutoLow - 较低自动分辨率(一半)的分辨率。
  • AutoHigh - 较高自动分辨率(两倍)的分辨率。
数据集 数据集 default:<first dataset> 具有要简化的几何图形的数据集。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

TravelAreas

计算 ISO 区域的行程时间。返回区域内的所有位置都可以在一定时间内到达,或者距离道路较近。返回具有 id、行程区域几何体、中心点、成本、成本单位和状态(正常或失败)的表格。

如果您使用“Bird”作为运输类型,它会围绕原点生成地理上正确的圆圈。

返回以下列:

  • <数据集键列> - 输入数据集中的键列。
  • TravelArea - 定义移动区域的多边形几何图形。
  • Cost - costValue 或 costField 中指定的成本。
  • CostUnit - costUnit 中指定的成本单位。
  • Status - 返回的状态为“OK”或“failed:”,后跟一条错误消息。
  • 输入数据集中除键列以外的所有列,前缀为数据集名称。

支持:

  • 加载脚本中的 ScriptEval。
  • 获取行进区域几何图形的图表脚本中的 ScriptEvalStr。
  • 获取费用的图表脚本中的 ScriptEval。

此加载脚本示例根据坐标在迈阿密和奥兰多生成 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);

此加载脚本示例使用指定点在迈阿密和奥兰多生成 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

在 Location 属性中放置以下内容:

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

TravelAreas 的参数
参数 类型 使用 描述
数据集 数据集 default:<first dataset> 一个数据集,包含旅行面积计算的来源和可选成本。从加载脚本发送时支持此数据集的流式传输,这意味着允许较大的表格。
costValue 数字 默认:无。 返回区域边界的成本。成本可以是距离长度,也可以是时间。(请参见下面的成本单位。)另一种允许每个区域单独成本的方法是指定 costField。
costField string 默认:无。 数据集中指定成本的字段。这仅在 costValue 为空时使用。
costUnit 中指定的距离 string default:seconds 应该是秒、分、小时、米、码、千米、英里中的一个。使用时间单位时,计算该时间内到达的区域;使用长度单位时,计算行进距离小于规定距离的区域。
transportation string default:car 运输方式(Car、Truck、Bike、Pedestrian 或 Bird(飞行速度为 10m/s))之一。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。

Within

返回两个数据集之间的关系,其中一个数据集中的几何体(包含)完全位于另一个数据集中的区域内(包含)。返回一个表,该表为所有找到的关系在包含中的键和正在包含中的键之间映射。

通常用于查找数据所在的区域;例如,测试其所在行政区域的 GPS 位置。这是一种反向地理编码。

返回以下列:

  • <enclosed name>_<enclosing name>_RelationId - 为两个几何图形之间的关系生成的键。
  • <enclosed key column> - 输入dataset1 中的键列。
  • <enclosing key column> - 输入dataset2 中的键列。
  • 输入正在包含的数据集中除键列以外的 所有 列,前缀为数据集名称。
  • 输入正在包含的数据集中除键列以外的 所有 列,前缀为数据集名称。

支持:

  • 加载脚本中的 ScriptEval。

为了补偿数据中的不精确性,有时最好使用最近而不是内部。例如,如果您想将沿海区域的点数据与行政区域相关联,则微小的不准确可能会使点稍微超出区域。

以下是一个加载脚本示例,用于计算哪些点处于哪些状态:

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:<first dataset> 包含区域几何体的数据集,用于测试它们所包含的几何体。从加载脚本发送时支持此数据集的流式传输,这意味着允许较大的表格。
enclosing 数据集 default:<第二个数据集> 包含区域几何体的数据集,用于测试它们所包含的几何体。从加载脚本发送时支持此数据集的流式传输,这意味着允许较大的表格。
精度 整数 default:6 设置在坐标中要舍入的小数位数。默认值为 6 位小数,精确到 10 cm 左右。如果不希望坐标四舍五入,请将该值设置为负数。
 

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!