Переход с Коннектор 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.
- В редакторе загрузки данных, в коде скрипта Коннектор GeoAnalytics, скопируйте все после SQL до второго SELECT или «;», в зависимости от того, что встретится раньше.
- Замените все ' в скрипте Коннектор GeoAnalytics на ".
-
Добавьте выбранные имена полей из второго оператора SELECT в скрипте Коннектор GeoAnalytics в первый оператор SELECT в скрипте GeoOperations. Опустите поля, которые уже есть. Добавьте имя исходной таблицы к именам полей, разделяя их точкой. Например, table.field. Это создаст одну объединенную таблицу вместо нескольких таблиц.
-
Просмотрите справочную документацию по операции и набору данных и при необходимости скорректируйте имена параметров или полей.
Общие сведения о ключевых различиях см. в разделе Различия полей GeoOperations и GeoAnalytics
-
Добавьте следующее в начало скрипта GeoOperations:
Load * Extension GeoOperations.ScriptEval('
-
Добавьте следующее в конец скрипта GeoOperations:
');
Если используется загруженная таблица с Коннектор GeoAnalytics, отправьте ее вместо этого в качестве второго параметра в GeoOperations.ScriptEval.
Поскольку Qlik GeoOperations возвращает объединенную таблицу, из дополнительных таблиц возвращаются только те значения полей, которые имеют соответствующее значение в основной таблице. Например, если необходимо найти ближайшие аэропорты в Германии для некоторых точек, возвращаются только данные об аэропортах, которые находятся ближе всего к этим точкам. Если требуются все аэропорты в Германии, их нужно загрузить отдельно с помощью операции LOAD.
При загрузке из базы данных SQL с помощью коннектора, вместо этого данные должны быть загружены с помощью одного из коннекторов базы данных, например коннектора ODBC. Убедитесь, что геометрии загружены как WKT (применяйте функцию, обычно называемую st_asText() в запросе SQL). Затем преобразуйте поле WKT, отправив таблицу в Qlik GeoOperations. Затем он вернет поле с геометриями в формате Qlik Sense.
Пример преобразования скрипта
В данном примере преобразования скрипта будет использоваться следующий скрипт Коннектор GeoAnalytics:
Выполните следующие действия.
-
Возьмите скрипт между SQL и вторым оператором SELECT.
SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default' -
Замените кавычки:
SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Добавьте поля из дополнительных таблиц:
SELECT [LocationDbId], [Clusters_ClusterID], [Clusters.Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Скорректируйте имена параметров и полей:
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" -
Заключите в код шаблона:
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.