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

Операция

AddressPointLookup

Возвращает геометрию точек для адресов в таблице, т. е. выполняет геокодирование. Укажите либо адресную строку в свойстве Search Text, либо структурированные части в соответствующих свойствах, таких как Country, Street и т. д. Комбинации также допускаются. Для этой операции требуется специальная лицензия. Адреса, которые не удалось найти по какой-либо причине, не возвращаются в результатах.

Функции, предлагаемые Qlik Geocoding (через AddressPointLookup и PointToAddressLookup), отличаются от других функций поиска местоположения. Qlik Geocoding позволяет выполнять поиск на уровне адреса, в то время как с помощью обычного поиска точное местоположение определяется только на уровне почтового индекса.

Чтобы приступить к работе с Qlik Geocoding, используйте шаблон, указанный в разделе Настройка Qlik Geocoding (только английский язык).

Примечание к информации Для обеспечения оптимальных результатов отдавайте предпочтение конкретным данным и опускайте общие данные, когда это возможно. Если, например, имеется и почтовый индекс, и почтовый город, и есть уверенность в том, что почтовый индекс правильный, то лучше не указывать почтовый город.

Большинство параметров представлены в двух вариантах, один из которых определяет фактическое значение, например country="SWE"country="SWE", а другой — имя поля, из которого нужно получить фактическое значение, например countryField="CountryIso2".

Примечание к информации Для геокодирования английских адресов или адресов в системе транслитерации пиньинь в Китае для параметра Country должно быть установлено значение «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». Для геокодирования английских адресов или адресов в системе транслитерации пиньинь в Китае для параметра Country должно быть установлено значение «CHN».
countryField строка дополнительно Если параметр country не задан, его можно использовать для указания поля, содержащего название страны или двух- или трехбуквенные коды ISO. Обратите внимание, что в отличие от других параметров ожидаемый формат данных, указанных в параметрах country и countryField, не идентичен. Параметр country позволяет использовать несколько стран, но только в трехбуквенном формате ISO, в то время как параметр countryField позволяет использовать различные форматы стран.
state строка дополнительно Название или код штата. Для большинства стран штат не является частью адреса.
stateField строка дополнительно Если параметр state не указан, он может быть использован для указания поля, из которого должна быть получена информация.
city строка дополнительно Название города, муниципалитет или почтовый город.
cityField строка дополнительно Если параметр city не задан, он может быть использован для указания поля, из которого должна быть получена информация.
postalCode строка дополнительно Почтовый индекс.
postalCodeField строка дополнительно Если параметр postalCode не задан, он может быть использован для указания поля, из которого должна быть получена информация.
street строка дополнительно Название улицы. Вместо указания улицы и номера дома в отдельных параметрах или полях допускается указывать их вместе, разделяя пробелом.
streetField строка дополнительно Если параметр street не задан, он может быть использован для указания поля, из которого должна быть получена информация.
houseNumber строка дополнительно Номер дома.
houseNumberField строка дополнительно Если параметр houseNumber не указан, он может быть использован для указания поля, из которого должна быть получена информация.
matchThreshold вещественное число по умолчанию: 0,5 Возвращает только результат с лучшим совпадением, чем это. Увеличьте это значение, если возвращается слишком много ложных совпадений.
language строка по умолчанию: Нет. Двухбуквенный код для предпочтительного языка, используемого для адреса в ответе. Если адрес недоступен на запрошенном языке, он возвращается на языке по умолчанию для данного местоположения.
dataset Набор данных по умолчанию: Нет. Набор данных с адресами, поиск которых будет выполняться в геокодере. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки, что означает, что разрешены таблицы большего размера.
precision целое число по умолчанию: 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" ');
Параметры Binning
Параметр Тип Использование Описание
type строка по умолчанию: rectangular Определяет, какие группы следует создавать: прямоугольные (rectangular) или шестиугольные (hexagonal).
gridSize вещественное число по умолчанию: Нет. Высота отдельной группы в градусах. Один градус равен приблизительно 10 000 м.
gridWidthHeightRatio вещественное число по умолчанию: 1,5 Соотношение ширины и высоты групп. Оптимальными часто являются квадратные группы, но это зависит от широты. Формула для оптимального соотношения ширины и высоты равна 1/cos(широта), например: 1 на экваторе, 1,15 на широте +-30 градусов и 2 на широте +-60 градусов. Часто разделенные на группы данные лучше выглядят в адаптивной проекции, чем в проекции Меркатора.
dataset Набор данных по умолчанию: Нет. Набор данных с геометриями точек для создания групп. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки, что означает, что разрешены таблицы большего размера.
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.

Closest

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

Возвращает следующие столбцы:

  • <dataset1 name>_<dataset2 name>_RelationId — ключ, созданный для отношения между двумя геометриями.
  • <dataset1 key column> — столбец ключа из входного набора данных 1.
  • <dataset2 key column> — столбец ключа из входного набора данных 2.
  • 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);
Параметры Closest
Параметр Тип Использование Описание
distance вещественное число по умолчанию: Нет. Максимальное расстояние от единицы, заданной в свойстве costUnit. Элементы, расположенные дальше друг от друга, игнорируются.
costUnit строка по умолчанию: meters Принимает одно из значений: meters (метры), yards (ярды), kilometers (километры), miles (мили), seconds (секунды), minutes (минуты), hours (часы). Использование единиц времени подразумевает, что в качестве затрат применяется время путешествия, а единиц длины — что применяется расстояние. Единицы времени не допускаются для типа расстояния «Bird».
distanceType вещественное число по умолчанию: Bird Определяет, как измеряются расстояния. Допускаются следующие значения:
  • Bird —измерение прямых расстояний (кратчайшего пути) между объектами.
  • Car — измерение вдоль дорог с ограничениями для легковых автомобилей. Поддерживается только для наборов данных точек.
  • Bike — измерение вдоль дорог с ограничениями для велосипедов. Поддерживается только для наборов данных точек.
  • Pedestrian —измерение вдоль дорог с ограничениями для пешеходов. Поддерживается только для наборов данных точек.
  • Truck — измерение вдоль дорог с ограничениями для грузовых автомобилей. Поддерживается только для наборов данных точек.
closestCount вещественное число по умолчанию: 1 Количество объектов во втором наборе данных, которые требуется связать с объектом в первом наборе данных. Значение 1 означает только один ближайший объект, 2 — два ближайших объекта и т. д.
dataset1 Набор данных по умолчанию: <first dataset> (первый набор данных) Объекты для проверки на близость к объектам в наборе данных dataset2, если он указан, в противном случае — к объектам в том же самом наборе. При проверке близости между объектами в одном наборе данных отношения никогда не добавляются из объекта в самого себя. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки при условии, что dataset2 определен; это означает, что разрешены таблицы большего размера.
dataset2 Набор данных по умолчанию: <second dataset if any> (второй набор данных, если есть) Объекты для установки отношений с объектами в наборе данных dataset1.
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.

Cluster

Создает кластеры из набора данных точек на основе географической близости между точками. Создание кластера управляется параметром distance, который определяет, насколько далеко точка может находиться от кластера, к которому она принадлежит. Возвращает таблицу с отношениями между точками и кластерами. Также возвращается объединенная таблица Clusters с геометриями кластеров. Она содержит поля ClusterID, ClusterCenter (геометрия точки) и PointCount. Поле count содержит количество точек в кластере.

Возвращает следующие столбцы:

  • <dataset key column> — столбец ключа из входного набора данных.
  • ClusterID — ИД кластера, к которому относится точка.
  • Clusters.ClusterPoint — центральная точка кластера.
  • Clusters.PointCount — количество оригинальных точек, относящихся к кластеру.
  • Все столбцы, кроме столбца ключа, из входного набора данных с префиксом имени набора данных.

Поддерживает:

  • ScriptEval в скриптах загрузки.

В этом примере аэропорты США кластеризуются так, что аэропорты, расположенные ближе 50 км друг к другу, относятся к одному кластеру:

MyClusteredAirports: Load * Extension GeoOperations.ScriptEval(' Cluster(distance="50000") DATASOURCE airports LOCATIONSERVICE geometry="POINT", type="AirportIATA", country="us" ');
Параметры Cluster
Параметр Тип Использование Описание
distance вещественное число по умолчанию: Нет. Расстояние между точкой и ее кластером не должно быть больше этого расстояния в метрах.
dataset Набор данных по умолчанию: Нет. Набор данных с точками для кластеризации.
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.

Dissolve

Разделяет и упрощает области для формирования более крупных областей на основе сопоставления старых идентификаторов областей (или геометрий) с новыми. Обычно это используется для создания пользовательских областей, которые формируются из более мелких четко определенных областей, таких как области с одним почтовым индексом или административные области.

Возвращает следующие столбцы:

  • <dissolveField> — поле, заданное как dissolveField в indata.
  • DissolvedPolygon — геометрии новых разделенных областей.

Поддерживает:

  • ScriptEval в скриптах загрузки.

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

Обратите внимание, что наложения многоугольников удаляются во всех разрешениях, кроме Source.

В этом примере создаются два региона, один из которых состоит из Калифорнии и Арканзаса, а другой — из Вашингтона и Орегона:

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);
Параметры Dissolve
Параметр Тип Использование Описание
dissolveField строка по умолчанию: <same name as the key field in dissolveDataset> (то же имя, что и в ключевое поле в dissolveDataset) Имя поля с идентификаторами новых областей в dissolveDataset.
resolution строка по умолчанию:Auto Полученный набор данных упрощается, и степень упрощения управляется этим свойством. Доступные значения:
  • auto — операция вычисляет разрешение на основе данных.
  • autolow — разрешение, которое ниже (в два раза) разрешения Auto.
  • autohigh — разрешение, которое выше (в два раза) разрешения Auto.
  • source — упрощение не выполняется. Обратите внимание, что если в наборе данных dissolveDataset содержатся одни и те же старые области дважды в двух разных новых областях, необходимо использовать значение source.
areaDatasetKeyField строка по умолчанию: <key field in areaDataset> (ключевое поле в areaDataset) Идентификаторы исходных областей в наборе данных areaDataset. Используется только в том случае, если указан набор данных areaDataset.
dissolveDataset Набор данных по умолчанию: <first dataset> (первый набор данных) Определение того, к какой новой области относится та или иная старая область, т. е. сопоставление идентификаторов старой и новой областей. Ключевое поле должно соответствовать ключам в наборе данных areaDataset, если он указан. Если набор данных areaDataset не предоставлен, геометрии должны быть доступны в этом наборе данных.
areaDataset Набор данных по умолчанию: <second dataset if any> (второй набор данных, если есть) Набор данных с геометриями областей для разделения. Может отсутствовать, что означает, что геометрии должны быть доступны в наборе данных dissolveDataset. Параметр areaDatasetKeyField в этом наборе данных должен быть связан с ключевым полем в наборе данных dissolveDataset.
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.

Intersects

Возвращает таблицу, в которой сопоставлены ключ в наборе данных dataset1 и ключ в наборе данных dataset2 для всех пересекающихся объектов. Если в обоих наборах данных содержатся многоугольники, возвращается относительная область перекрытия по сравнению с областями в соответствующем наборе данных.

Можно ограничить количество пересекающихся геометрий во втором наборе данных, которые должны быть сопоставлены с каждой геометрией в первом наборе данных, указав параметр intersectsCount. Затем по порядку возвращаются наиболее пересекающиеся геометрии. Операция симметрична, если параметр intersectsCount не указан.

Возвращает следующие столбцы:

  • <dataset1 name>_<dataset2 name>_RelationId — ключ, созданный для отношения между двумя геометриями.
  • <dataset1 key column> — столбец ключа из входного набора данных 1.
  • <dataset2 key column> — столбец ключа из входного набора данных 2.
  • <dataset1 name>.RelativeOverlap — перекрытие, сравниваемое с многоугольником в наборе данных 1. Возвращается, только если оба набора данных содержат многоугольники. Запрос этого поля снижает производительность.
  • <dataset2 name>.RelativeOverlap — перекрытие, сравниваемое с многоугольником в наборе данных 2. Возвращается, только если оба набора данных содержат многоугольники. Запрос этого поля снижает производительность.
  • Все столбцы, кроме столбца ключа, из входного набора данных 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);
Параметры Intersects
Параметр Тип Использование Описание
dataset1 Набор данных по умолчанию: <first dataset> (первый набор данных) Набор данных с геометриями для проверки на наличие пересечений с геометриями в другом наборе данных. При проверке пересечений между объектами в одном наборе данных отношения никогда не добавляются из объекта в самого себя. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки при условии, что dataset2 определен; это означает, что разрешены таблицы большего размера.
dataset2 Набор данных по умолчанию: <second dataset if any> (второй набор данных, если есть) Набор данных с геометриями для проверки на наличие пересечений с геометриями в другом наборе данных. Если он не указан, вычисляется пересечение между объектами в dataset1.
intersectsCount целое число по умолчанию: 0 Если больше 0, то на каждую геометрию из dataset1 возвращается не более этого количества пересекающихся геометрий в dataset2. Возвращаются только геометрии с максимальным пересечением (наибольшая площадь или длина перекрытия).
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.

IpLookup

Возвращает информацию о местоположении и геометрии точек для IP-адресов в таблице. Это полезно, когда анализируются данные доступа к веб-службам. Возвращенная таблица содержит следующие поля:
  • Ключевое поле — совпадает с ключевым полем для таблицы имен.
  • <Address Table Ip Field> — совпадает с полем IP, для которого выполнялся поиск. Доступно, только если не совпадает с ключевым полем.
  • IpPoint — точка для найденного элемента.
  • CountryIso2 — код страны для найденного элемента.
  • Adm1Code — код административной области первого порядка для найденного элемента. Обратите внимание, что этот код не всегда совместим с кодом, возвращаемым службой определения местоположения.
  • City — город для найденного элемента
  • Все столбцы, кроме столбца ключа, из входного набора данных с префиксом имени набора данных.

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;

Этот продукт включает данные GeoLite2, созданные MaxMind, доступные на сайте MaxMind.

Параметры IpLookup
Параметр Тип Использование Описание
ipField строка дополнительно Поле с IP-адресом для поиска. Если оно не указано, используется ключевое поле набора данных.
dataset Набор данных по умолчанию: Нет. Набор данных с IP-адресами, поиск которых будет выполняться в геокодере. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки, что означает, что разрешены таблицы большего размера.
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.

Загрузить

Загружает набор данных, никакие операции не применяются. Это позволяет загружать все форматы, которые поддерживает GeoOperations. Обратите внимание, что операция Simplify может быть хорошей альтернативой операции Load, если геометрии детализированы и медленно отображаются.

Возвращает следующие столбцы:

  • Все столбцы из набора данных dataset.

Поддерживает:

  • ScriptEval в скриптах загрузки.

Пример, загружающий почтовые индексы Швеции:

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

Так как для данных в INTABLE поддерживается формат геометрии WKT, операция Load отлично подходит для преобразования географических геометрий, загруженных из базы данных в формат геометрии 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);
Параметры Load
Параметр Тип Использование Описание
dataset Набор данных по умолчанию: <first dataset> (первый набор данных) Набор данных для загрузки. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки, что означает, что разрешены таблицы большего размера.
precision целое число по умолчанию: 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
Параметр Тип Использование Описание
language строка по умолчанию: Двухбуквенный код для предпочтительного языка, используемого для адреса в ответе. Если адрес недоступен на запрошенном языке, он возвращается на языке по умолчанию для данного местоположения.
dataset Набор данных по умолчанию: Нет. Набор данных с точками, поиск которых будет выполняться в геокодере. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки, что означает, что разрешены таблицы большего размера.
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.

Routes

Вычисляет маршруты, включая длину и продолжительность, между двумя местоположениями в таблице.

Обратите внимание, что исходной точкой является столбец геометрии в наборе данных. Столбец назначения указывается в параметрах операции, поскольку для наборов данных известен только один столбец геометрии.

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

Возвращает следующие столбцы:

  • <dataset key column> — столбец ключа из входного набора данных.
  • 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

В свойстве Location, которому следует задать значение Line geometry, укажите это, чтобы рассчитать маршруты из фиксированного положения в выбранные точки:

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

Параметры Routes
Параметр Тип Использование Описание
dataset Набор данных по умолчанию: Нет. Набор данных с исходными и конечными точками для вычисляемых маршрутов. Исходные точки должны находиться в геометрии набора данных. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки, что означает, что разрешены таблицы большего размера.
criteria строка по умолчанию: fastest Выберите fastest (самый быстрый) или shortest (самый короткий) маршрут для вычисления.
transportation строка по умолчанию: car Вид транспорта: car (автомобиль), truck (грузовик), bike (велосипед), pedestrian (пешеход) или bird (птица со скоростью полета 10 м/с).
destField строка по умолчанию: Нет. Поле в наборе данных, в котором указывается конечная точка. Обратите внимание, что исходной точкой является поле геометрии, указанное в наборе данных.
geometryType строка по умолчанию: POINT Тип геометрии в destField. Разрешенные значения: Point, NamedPoint и LatLon. В случае именованных точек поиск геометрии выполняется в службе определения местоположения и добавляется столбец для геометрии.
suffix строка по умолчанию: None. Для продвинутых пользователей. Указанная строка добавляется ко всем идентификаторам. Это удобный способ указать дополнительную информацию для серверных служб определения местоположения, например код страны или тип. Альтернативный вариант — добавлять дополнительные данные при загрузке таблицы в Qlik. При использовании следующего суффикса все элементы задаются как города в Швеции:
,SE:city
См. Руководство по службам местоположения для получения дополнительных сведений о том, какой синтаксис следует использовать.
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.

Simplify

Упрощает геометрии линий и областей в наборе данных. Часто полезно загружать географические данные с помощью операции Simplify вместо операции Load, чтобы получить более эффективные геометрии, которые отображаются быстрее.

Степень упрощения вычисляется автоматически на основе области, количества объектов и их размера. Затем можно настроить большее или меньшее разрешение с помощью параметра resolution.

Упрощение области выполняется с помощью алгоритма, который обрабатывает топологии и может удалять разрывы и соединять островки.

Упрощение линий осуществляется с помощью алгоритма сокращения точек излома.

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

Возвращает следующие столбцы:

  • <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" ');
Параметры Simplify
Параметр Тип Использование Описание
resolution строка по умолчанию:Auto Полученный набор данных упрощается, и степень упрощения управляется этим свойством. Доступные значения:
  • Auto — операция вычисляет разрешение на основе данных.
  • AutoLow — разрешение, которое ниже (в два раза) разрешения Auto.
  • AutoHigh — разрешение, которое выше (в два раза) разрешения Auto.
dataset Набор данных по умолчанию: <first dataset> (первый набор данных) Набор данных с геометриями для упрощения.
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.

TravelAreas

Вычисляет области ISO и время путешествия. Все местоположения в пределах возвращаемой области могут быть достигнуты за определенное время или находятся ближе определенного расстояния по дорогам. Возвращает таблицу, содержащую идентификатор, геометрию области путешествия, центральную точку, затраты, единицу измерения затрат и состояние (ОК или ошибка).

Если в качестве типа транспорта используется «bird», создаются географически правильные круги вокруг исходных точек.

Возвращает следующие столбцы:

  • <dataset key column> — столбец ключа из входного набора данных.
  • 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
Параметр Тип Использование Описание
dataset Набор данных по умолчанию: <first dataset> (первый набор данных) Набор данных с пунктами отправления и (по желанию) стоимостью для вычисления областей путешествий. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки, что означает, что разрешены таблицы большего размера.
costValue число по умолчанию: Нет. Затраты на границе возвращаемой области. Затраты могут быть либо длиной, либо временем. (См. единицы измерения затрат ниже.) Альтернативный вариант, позволяющий определить индивидуальные затраты для каждой области, — указать вместо этого costField.
costField строка по умолчанию: Нет. Поле в наборе данных, в котором указываются затраты. Используется только в том случае, если costValue пустое.
costUnit строка по умолчанию: seconds Принимает одно из значений: seconds (секунды), minutes (минуты), hours (часы), meters (метры), yards (ярды), kilometers (километры), miles (мили). Если используется единица времени, вычисляется область, достигаемая за это время, а если используется единица длины, — область, расстояние до которой меньше заданного.
transportation строка по умолчанию: car Вид транспорта: car (автомобиль), truck (грузовик), bike (велосипед), pedestrian (пешеход) или bird (птица со скоростью полета 10 м/с).
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.

Within

Возвращает отношения между двумя наборами данных, при которых геометрия в одном наборе данных (enclosed) полностью находится внутри области в другом наборе данных (enclosing). Возвращает таблицу, которая сопоставляет ключ в наборе данных enclosed и ключ в наборе данных enclosing для всех найденных отношений.

Как правило, within используется для выяснения, в каких областях находятся данные, например для проверки GPS-позиции административной области, в которой они находятся. Это своего рода обратное геокодирование.

Возвращает следующие столбцы:

  • <enclosed name>_<enclosing name>_RelationId — ключ, созданный для отношений между двумя геометриями.
  • <enclosed key column> — столбец ключа из входного набора данных dataset1.
  • <enclosing key column> — столбец ключа из входного набора данных dataset2.
  • Все столбцы, кроме столбца ключа, из набора данных enclosed с префиксом имени набора данных.
  • Все столбцы, кроме столбца ключа, из набора данных enclosing с префиксом имени набора данных.

Поддерживает:

  • 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 Набор данных по умолчанию: <first dataset> (первый набор данных) Набор данных с геометриями для проверки того, для каких областей они являются окруженными. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки, что означает, что разрешены таблицы большего размера.
enclosing Набор данных по умолчанию: <second dataset> (второй набор данных) Набор данных с геометриями областей для проверки того, какие геометрии они окружают. Поддерживает потоковую передачу этого набора данных при отправке из скрипта загрузки, что означает, что разрешены таблицы большего размера.
precision целое число по умолчанию: 6 Указывает количество десятичных знаков для округления в координатах. Значение по умолчанию 6 десятичных знаков, что обеспечивает точность примерно до 10 см. Если округлять координаты не требуется, задайте отрицательное значение.
 

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

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