Перейти к основному содержимому Перейти к дополнительному содержимому

Создание скриптов с использованием Qlik GeoOperations

Коннекторы Qlik GeoOperations создают и форматируют скрипты GeoOperations. Эти скрипты можно модифицировать в Редактор загрузки данных. Также можно создавать скрипты вручную с помощью функций GeoOperations, не используя коннекторы Qlik GeoOperations.

Принципы работы Qlik GeoOperations

Сначала необходимо добавить коннектор Qlik GeoOperations в качестве источника данных. В окне Редактор загрузки данных приложения при выборе данных для загрузки можно выбрать операции, которые требуется выполнить, и параметры, которые требуется применить. Затем коннектор Qlik GeoOperations добавляет соответствующий скрипт GeoOperations в скрипт загрузки. Этот скрипт также можно добавить вручную.

Каждый скрипт операций содержит оператор load, который выбирает использование данных, и операцию. Они отправляются в расширение GeoOperations в скрипте загрузки. Затем расширение на стороне сервера возвращает данные. Qlik GeoOperations делает объект Advanced Analytics Integration под именем GeoOperations доступным в языке скрипта. Это обеспечивает работу функции ScriptEval для отправки скрипта и таблицы в расширение.

Например, ниже приведен скрипт загрузки для применения операции Области путешествия к ранее загруженной таблице MyPoints и указания параметров для размера областей путешествий или затрат по ним:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")', MyPoints);

В качестве первого параметра в ScriptEval передается скрипт, а в качестве второго — таблица.

GeoOperations — это функции, которые работают с наборами данных. Наборы данных поступают либо из загруженных в Qlik Sense данных, либо из внешних источников, таких как географические файлы или служба определения местоположения. Данные, отправленные из скрипта, доступны в виде набора данных с именем INTABLE. Если необходимо указать дополнительные параметры этих данных, их нужно объявить после вызова функции как DATASOURCE. Пример.

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes") DATASOURCE myPoints INTABLE pointField="Point"', MyPoints);

Другие источники данных всегда должны быть объявлены, а параметры, такие как URL-адреса, должны быть указаны. В каждой операции можно указать используемые источники данных. По умолчанию операции подбирают доступные наборы данных, как описано для каждой операции в столбце Операция (только английский язык).

Выбор и переименование полей GeoOperations

Функции GeoOperations возвращают поля. По умолчанию возвращаются и включаются все поля. Можно предварять функции GeoOperations оператором SELECT, чтобы выбрать и по желанию переименовать конкретные поля, представляющие интерес. Например, этот скрипт использует SELECT для загрузки из службы определения местоположения только двух полей почтового индекса:

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');

 

Использование оператора SELECT в скрипте GeoOperations может быть более эффективным, чем указание полей в операторе Qlik LOAD, поскольку данные не загружаются в Qlik Sense, если они не выбраны в скрипте GeoOperations.

SELECT можно использовать для того, чтобы избежать вычисления некоторых полей, решив не возвращать их в результатах. Например, можно исключить поля с относительным перекрытием, возвращаемые Intersects.

Примечание к информации

При многократном использовании одной и той же операции в скрипте загрузки используйте оператор SELECT для переименования полей.

Синтаксис скрипта

Скрипт, отправляемый в GeoOperations, имеет следующий синтаксис:

1. Операция

Простейшая форма скрипта выполняет операцию.

Синтаксис:  

Operation(paramName="paramValue", ...)

Пример:  

Cluster(distance="100000")

 

Для получения дополнительной информации см. список операций и их параметров.

2. Набор данных

Второй шаг — загрузка набора данных для выбранных операций.

Синтаксис:  

Operation(paramName="paramValue", ...)

DATASOURCE name TYPE paramName="paramvalue", ...

Пример:  

Within()

DATASOURCE states LOCATIONSERVICE type="STATE", country="US"

 

Для получения дополнительной информации см. список наборов данных и их параметров.

3. Сборка

Вот как готовый скрипт будет выглядеть в Редактор загрузки данных:

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable);

 

В этом примере MyTable может быть любой другой загруженной таблицей, содержащей точки, линии, именованные области и другие географические данные.

4. Фильтрация полей

Следующие дополнения позволяют дополнительно фильтровать результаты операции.

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

SELECT Name, states.Name as State FROM

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable{Name, Point});

Имена параметров и полей чувствительны к регистру, а операции, значения параметров (например, meters, minutes, , car и т. д.) или ключевые слова, такие как SELECT и FROM, — нет.

Поиск и устранение неполадок скриптов AddressPointLookup и PointToAddressLookup

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!