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

Переход с Коннектор GeoAnalytics на Qlik GeoOperations

Qlik GeoOperations в Qlik Cloud предлагает функции и операции, аналогичные функциям Коннектор GeoAnalytics в Qlik Sense Enterprise on Windows. Они также поддерживают много одинаковых форматов данных. У них есть следующие различия.

  • Qlik GeoOperations — это решение Advanced Analytics Integration (AAI), которое больше подходит для отправки и обработки данных, чем коннектор.

  • Синтаксис скриптов для решения Advanced Analytics Integrations отличается от синтаксиса скриптов для коннекторов.

  • Некоторые операции 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. Просмотрите справочную документацию по операции и набору данных и при необходимости скорректируйте имена параметров или полей.

    Операция

    Набор данных

    Общие сведения о ключевых различиях см. в разделе Различия полей GeoOperations и GeoAnalytics

  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: <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Match

  • GeoAnalytics: [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Match]

GeoAnalytics и GeoOperations имеют следующие различия:

  • GeoAnalytics Поля имеют префиксы, специфические для набора данных.

  • Dataset_Geometry называется AddressPoint в GeoOperations.

Binning

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: <id>, BinId, BinTable.BinPolygon, BinTable.CenterPoint

  • GeoAnalytics: [<id>], [RH2W3], [RH2W3_CenterPoint]

GeoAnalytics и GeoOperations имеют следующие различия:

  • В GeoAnalytics RH2W3 — это поле многоугольника, его имя генерируется в зависимости от размера сетки и соотношения сторон. В GeoOperations это поле BinTable.BinPolygon.

  • GeoAnalytics не имеет поля BinId.

Closest

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: dataset_dataset2_RelationId, dataset.<ds1 id>, dataset2.<ds2 id>, Distance

  • GeoAnalytics: [Dataset1_Dataset2_RelationId], [Dataset1.<ds1 id>], [Dataset2.<ds2 id>], [Dataset1_Dataset2_Distance]

GeoAnalytics и GeoOperations имеют следующие различия:

  • GeoOperations не имеет префиксов для поля Distance.

Cluster

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: <id>, ClusterID, Clusters.ClusterPoint, Clusters.PointCount

  • GeoAnalytics: [<id>], [Clusters_ClusterID], [Clusters_ClusterCenter], [Clusters_PointCount]

GeoAnalytics и GeoOperations имеют следующие различия:

  • В GeoOperations и GeoAnalytics используются разные префиксы.

Dissolve

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: <id>, DissolvedPolygon

  • GeoAnalytics: [<id>], [<id>_Geometry]

GeoAnalytics и GeoOperations имеют следующие различия:

  • Имя столбца геометрии

Intersects

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>, dataset.RelativeOverlap, dataset2.RelativeOverlap

  • GeoAnalytics: [Dataset1_Dataset2_RelationKey], [Dataset1.<ds1 id>], [Dataset2.<ds1 id>], [Dataset1_RelativeOverlap], [Dataset2_RelativeOverlap]

GeoAnalytics и GeoOperations имеют следующие ключевые различия:

  • В GeoOperations и GeoAnalytics используются разные префиксы.

IpLookup

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: <id>, IpPoint, CountryIso2, Adm1Code, City

  • GeoAnalytics: [<id>], [IpTable_Geometry], [CountryIso2], [IpTable_Adm1Code], [IpTable_City]

GeoAnalytics и GeoOperations имеют следующие различия:

  • IpTable_Geometry в GeoAnalytics соответствует IpPoint в GeoOperations.

  • В GeoOperations и GeoAnalytics используются разные префиксы.

Load (набор данных локации)

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 имеют следующие различия:

  • Поля геометрии LocationPolygon и LocationPoint в GeoAnalytics соответствуют Dataset_Geometry в GeoOperations.

  • В GeoOperations и GeoAnalytics используются разные префиксы.

PointToAddress

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Distance

  • GeoAnalytics: [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Distance]

GeoAnalytics и GeoOperations имеют следующие различия:

  • В GeoOperations и GeoAnalytics используются разные префиксы.

Routes

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: <id>, Distance, Duration, Status, LowResLine

  • GeoAnalytics: [<id>], [Dataset_Distance], [Dataset_Duration], [Dataset_Status], [Dataset_PathLowRes]

GeoAnalytics и GeoOperations имеют следующие различия:

  • Поле геометрии Dataset_PathLowRes в GeoAnalytics соответствует LowResLine в GeoOperations.

  • В GeoOperations и GeoAnalytics используются разные префиксы.

Simplify

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: <id>, Simplified_<geo field name>

  • GeoAnalytics: [<id>], [Dataset_Simplified_Geometry]

.GeoAnalytics и GeoOperations имеют следующие различия:

  • В GeoOperations и GeoAnalytics отличаются имена полей геометрии.

TravelAreas

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: <id>, TravelArea, Cost, CostUnit, Status

  • GeoAnalytics: [<id>], [Dataset_TravelArea], [Dataset_Origin], [Dataset_Cost], [Dataset_CostUnit], [Dataset_Status]

GeoAnalytics и GeoOperations имеют следующие различия:

  • GeoOperations не включает поле происхождения.

  • В GeoOperations и GeoAnalytics используются разные префиксы.

Within

GeoOperations и GeoAnalytics возвращают следующие поля:

  • GeoOperations: dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>

  • GeoAnalytics: [Enclosed_Enclosing_RelationId], [Enclosed.<dataset 1/2 id>], [Enclosing.<datasets 1/2 id>]

GeoAnalytics и GeoOperations имеют следующие различия:

  • Префиксы GeoOperations включают имена наборов данных, а в GeoAnalytics также используется префикс Enclosed.

Visit the discussion forum at community.qlik.com

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

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