Saltar al contenido principal Saltar al contenido complementario

Operación

AddressPointLookup

Devuelve geometrías de puntos para direcciones de una tabla, es decir, geocodificación. Especifique una cadena de dirección en la propiedad Texto de búsqueda o partes estructuradas en las propiedades correspondientes, como País, Calle, etc. También se permiten combinaciones. Esta operación requiere una licencia especial. Las direcciones que no se pudieron encontrar por algún motivo no se devuelven en el resultado.

La funcionalidad que ofrece Qlik Geocoding (a través de AddressPointLookup y PointToAddressLookup) es distinta de otras funciones de búsqueda de ubicación. Qlik Geocoding permite búsquedas a nivel de dirección, mientras que las búsquedas de ubicación habituales solo pueden precisar a nivel de código postal.

Al comenzar con Qlik Geocoding, utilice la plantilla mencionada en Configurar Qlik Geocoding (solo en inglés).

Nota informativa Para obtener mejores resultados, dé prioridad a los datos específicos y omita los datos amplios siempre que sea posible. Por ejemplo, si tiene tanto el código postal como la ciudad postal y confía en que el código postal es correcto, es mejor no especificar la ciudad postal.

La mayoría de los parámetros vienen en dos versiones, una que especifica el valor real, como country="SWE", y otra que especifica un nombre de campo de donde recuperar el valor real, como countryField="CountryIso2".

Nota informativa Para geocodificar direcciones en inglés o pinyin en China, el parámetro País debe configurarse en "CHN".

Devuelve las siguientes columnas:

  • <dataset key column>: la columna clave del conjunto de datos de entrada.
  • Address: la dirección encontrada, con formato acorde a los estándares del país.
  • Geometry: el punto del elemento encontrado.
  • HouseNumber: el número de domicilio del elemento encontrado.
  • Street: la calle del elemento encontrado.
  • PostalCode: el código postal del elemento encontrado.
  • City: el nombre de la división administrativa a nivel de ciudad del elemento encontrado.
  • Adm1: el nombre o nombre abreviado de la división administrativa de primer orden (estado) del elemento encontrado.
  • CountryIso2: el código de país del elemento encontrado.
  • Match: un valor entre 0 y 1 que muestra lo bueno que fue el resultado. Un valor de 1 significa un resultado perfecto.
  • Todas las columnas excepto la columna clave del conjunto de datos, con el nombre del conjunto de datos como prefijo.

Los campos devueltos pueden estar vacíos allí donde no es aplicable o donde los datos no están disponibles.

Admite:

  • ScriptEval en scripts de carga.

Ejemplo que geocodifica algunas direcciones suecas donde cada elemento está en su propio campo:

[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);

Este ejemplo muestra la codificación geográfica en un estilo de texto libre:

[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);
Parámetros para AddressPointLookup
Parámetro Tipo Uso Descripción
Texto de búsqueda cadena de texto opcional Una cadena de texto que buscar. Pueden ser direcciones como: "1600 Pennsylvania Ave, Washington DC, EE. UU." o direcciones incompletas que se combinan con datos de otros campos, como "1117 Washington Ave" y con el campo City configurado como "Philadelphia" y Country como "EE. UU.".
searchTextField cadena de texto opcional Si no se especifica searchText este parámetro se puede utilizar para especificar un campo del que recuperar la información.
country cadena de texto opcional Una cadena con códigos ISO de tres letras. Se pueden especificar varios países separados por comas como: "SWE,NOR,FIN". Para geocodificar direcciones en inglés o pinyin en China, este parámetro debe configurarse en "CHN".
countryField cadena de texto opcional Si no se especifica country, este parámetro puede servir para especificar un campo que contenga códigos ISO de 2 o 3 letras o el nombre del país. Tenga en cuenta que, a diferencia de los otros parámetros, el formato esperado de los datos especificados por country y countryField no es idéntico. El parámetro country permite varios países, pero solo en formato ISO de tres letras mientras que countryField permite diferentes formatos de países.
state cadena de texto opcional Nombre o código de estado. En la mayoría de los países, el estado no forma parte de la dirección.
stateField cadena de texto opcional Si no se especifica state este parámetro se puede utilizar para especificar un campo del que se deba recuperar la información.
city cadena de texto opcional Nombre de la ciudad, municipio o ciudad postal.
cityField cadena de texto opcional Si no se especifica city, este parámetro se puede utilizar para especificar un campo desde donde se deba recuperar la información.
postalCode cadena de texto opcional Código postal.
postalCodeField cadena de texto opcional Si no se especifica postalCode este parámetro se puede utilizar para especificar un campo desde donde se deba recuperar la información.
street cadena de texto opcional Nombre de la calle. En lugar de especificar la calle y el número de casa en parámetros o campos aparte, se permite especificar ambos juntos, separados por un espacio.
streetField cadena de texto opcional Si no se especifica street este parámetro se puede utilizar para especificar un campo desde donde se deba recuperar la información.
houseNumber cadena de texto opcional Número de casa.
houseNumberField cadena de texto opcional Si no se especifica houseNumber este parámetro se puede utilizar para especificar un campo desde donde se deba recuperar la información.
matchThreshold real predeterminado:0,5 Devuelve solo resultados con una coincidencia mejor que esta. Aumente este valor si se devuelven demasiados resultados falsos.
language cadena de texto predeterminado: Ninguno. Un código de idioma de dos letras con el idioma preferido para la dirección en la respuesta. Si la dirección no está disponible en el idioma solicitado, se devuelve en un idioma predeterminado para la ubicación.
dataset Conjunto de datos predeterminado: Ninguno. Un conjunto de datos con direcciones que se buscarán en el geocodificador. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga, lo que significa que se permiten tablas más grandes.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

Binning (Discretización)

Genera cubos contenedores rectangulares o hexagonales para un conjunto de datos de puntos. Es una forma de agregar datos puntuales para poder mostrar una visión general de los datos de forma eficiente.

Devuelve las siguientes columnas:

  • <dataset key column>: la columna clave del conjunto de datos de entrada.
  • BinId: identidad del cubo contenedor.
  • BinTable.BinPolygon: el polígono del cubo contenedor.
  • BinTable.CenterPoint: punto en el centro del cubo contenedor.
  • Todas las columnas excepto la columna clave del conjunto de datos, con el nombre del conjunto de datos como prefijo.

Admite:

  • ScriptEval en scripts de carga.

Ejemplo que carga cubos contenedores hexagonales de los aeropuertos estadounidenses:

Load * Extension GeoOperations.ScriptEval(' Binning(type="hexagonal", gridSize="1") DATASOURCE airports LOCATIONSERVICE geometry="POINT", type="AirportIATA", country="us" ');
Parámetros para Binning
Parámetro Tipo Uso Descripción
tipo cadena de texto predeterminado:rectangular Define si se deben generar contenedores rectangulares o hexagonales.
gridSize real predeterminado: Ninguno. La altura de un contenedor individual en grados. Un grado es aproximadamente 10.000 m.
gridWidthHeightRatio real predeterminado:1,5 La relación entre altura y anchura de los cubos contenedores. Los cubos cuadrados suelen ser lo óptimo, pero eso varía según la latitud. La fórmula para la relación óptima entre anchura y altura es 1/cos(latitud), por ejemplo 1 en el ecuador, 1,15 en la latitud +-30 grados y 2 en la latitud +-60 grados. A menudo parece mejor mostrar datos agrupados en la proyección adaptativa que en la proyección Mercator.
dataset Conjunto de datos predeterminado: Ninguno. El conjunto de datos con geometrías de puntos para las que se generarán cubos contenedores. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga, lo que significa que se permiten tablas más grandes.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

Closest

Devuelve las relaciones y distancias entre los objetos en un conjunto de datos y los n objetos más cercanos en otro, si alguno está más cerca que la distancia máxima. El coste también se puede calcular a lo largo de las carreteras y, en ese caso, utilizar opcionalmente el tiempo de trayecto. Esta operación es útil en muchos casos, no solo para obtener las relaciones más cercanas, sino también para obtener matrices de distancia entre un conjunto de puntos.

Devuelve las siguientes columnas:

  • <dataset1 name>_<dataset2 name>_RelationId: una clave generada para la relación entre las dos geometrías.
  • <dataset key column>: la columna clave del conjunto de datos de entrada dataset1.
  • <dataset2 key column>: la columna clave del conjunto de datos de entrada dataset2.
  • Distancia: la distancia en la unidad especificada en costUnit.
  • Status: el estado que devuelve es "ok" o "fallido:" seguido de un mensaje de error.
  • LowResLine: una versión de baja resolución de la línea de ruta, solo disponible para los tipos de distancia que no son bird.
  • Todas las columnas excepto la columna clave del conjunto de datos de entrada dataset1, con el nombre del conjunto de datos como prefijo.
  • Todas las columnas excepto la columna clave del conjunto de datos de entrada dataset2, con el nombre del conjunto de datos como prefijo.

Admite:

  • ScriptEval en scripts de carga.

Este ejemplo encuentra los aeropuertos más cercanos a los puntos de una tabla:

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);
Parámetros para Closest
Parámetro Tipo Uso Descripción
distance real predeterminado: Ninguno. Distancia máxima desde la unidad especificada en Cost unit. Los elementos más alejados de aquí se ignoran.
costUnit cadena de texto predeterminado:metros Debería ser una distancia en metros, yardas, kilómetros, millas, segundos, minutos u horas. El uso de unidades de tiempo implica que se utiliza el tiempo de desplazamiento como coste y las unidades de longitud que se utiliza la distancia. Las unidades de tiempo no se permiten para el tipo de distancia Bird.
distanceType real predeterminado:Bird Decide cómo se miden las distancias. Se permiten los siguientes valores:
  • Bird: mide la distancia directa (como el vuelo de un pájaro) entre los objetos.
  • Coche: mide la distancia de carreteras con restricciones de automóviles. Solo se admite para conjuntos de datos de puntos.
  • Bicicleta: mide la distancia de carreteras con restricciones para bicicletas. Solo se admite para conjuntos de datos de puntos.
  • Peatón: mide la distancia de carreteras con restricciones para peatones. Solo se admite para conjuntos de datos de puntos.
  • Camión: mide la distancia de carreteras con restricciones para camiones. Solo se admite para conjuntos de datos de puntos.
closestCount real predeterminado:1 Número de objetos en el segundo conjunto de datos para asociar con un objeto en el primer conjunto de datos. Un valor de 1 significa solo el más cercano, 2 significa los dos más cercanos y así sucesivamente.
dataset1 Conjunto de datos predeterminado:<primer conjunto de datos> Objetos para comprobar la cercanía a los objetos en el conjunto de datos dataset2 si se especifica, de lo contrario a los objetos en sí mismo. Cuando se comprueba la proximidad entre los objetos de un mismo conjunto de datos, las relaciones nunca se añaden de un objeto a otro. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga y se define el conjunto de datos dataset2, lo que significa que se permiten tablas más grandes.
dataset2 Conjunto de datos predeterminado:<segundo conjunto de datos, si lo hay> Objetos para relacionar con los objetos en el conjunto de datos 1.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

Clúster

Produce clústeres a partir de un conjunto de datos de puntos basado en la cercanía geográfica entre puntos. La generación de clústeres es controlada por el parámetro distance que define la distancia a la que puede estar un punto del clúster al que pertenece. Devuelve una tabla con relaciones entre puntos y clústeres. También devuelve una tabla unida denominada Clusters con geometrías de clúster. Contiene los campos ClusterID, ClusterCenter (geometría de puntos) y PointCount. El campo de recuento contiene el número de puntos del clúster.

Devuelve las siguientes columnas:

  • <dataset key column>: la columna clave del conjunto de datos de entrada.
  • ClusterID: ID del clúster al que pertenece el punto.
  • Clusters.ClusterPoint: punto central del clúster.
  • Clusters.PointCount: número de puntos originales que pertenecen al clúster.
  • Todas las columnas excepto la columna clave del conjunto de datos de entrada, con el nombre del conjunto de datos como prefijo.

Admite:

  • ScriptEval en scripts de carga.

Este ejemplo agrupa aeropuertos de los EE. UU., de modo que los aeropuertos a menos de 50 km pertenezcan a un grupo o clúster:

MyClusteredAirports: Load * Extension GeoOperations.ScriptEval(' Cluster(distance="50000") DATASOURCE airports LOCATIONSERVICE geometry="POINT", type="AirportIATA", country="us" ');
Parámetros para Cluster
Parámetro Tipo Uso Descripción
distance real predeterminado: Ninguno. La distancia entre un punto y su grupo o clúster no puede ser mayor que esta distancia en metros.
dataset Conjunto de datos predeterminado: Ninguno. Un conjunto de datos con puntos que agrupar en un clúster.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

Dissolve

Disuelve y simplifica áreas para formar áreas más grandes basándose en la asignación de correspondencias entre las identidades de áreas antiguas (o geometrías) y las nuevas identidades de áreas. Se suele utilizar para construir áreas personalizadas que se componen de áreas más pequeñas y bien definidas, como las áreas postales o las divisiones administrativas.

Devuelve las siguientes columnas:

  • <dissolveField>: el campo especificado como dissolveField en indata.
  • DissolvedPolygon: las geometrías de las nuevas áreas disueltas.

Admite:

  • ScriptEval en scripts de carga.

El conjunto de datos de geometría es opcional. Si no se proporciona, se supone que las geometrías están disponibles en el conjunto de datos de definición de dissolve.

Tenga en cuenta que las superposiciones de polígonos se eliminan en todas las resoluciones excepto en Source.

Este ejemplo crea dos regiones, una formada por California y Arizona (CA y AZ) y otra por Washington y Oregón (WA y 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);
Parámetros para Dissolve
Parámetro Tipo Uso Descripción
dissolveField cadena de texto predeterminado:<el mismo nombre que el campo clave en dissolveDataset> El nombre del campo con identidades de las nuevas áreas en dissolveDataset.
parámetro cadena de texto predeterminado:Auto El conjunto de datos resultante se simplifica y el grado de simplificación es controlado por esta propiedad. Los valores disponibles son:
  • auto: la operación calcula una resolución basada en los datos que a menudo están bien.
  • autolow: una resolución que es inferior a (la mitad de) la resolución automática.
  • autohigh: una resolución que es superior a (el doble de) la resolución automática.
  • source: no se realiza ninguna simplificación. Tenga en cuenta que si dissolveDataset contiene las mismas áreas antiguas dos veces en dos áreas nuevas distintas, debe usarse source.
areaDatasetKeyField cadena de texto predeterminado:<campo clave en areaDataset> Las identidades de las áreas originales en areaDataset. Esto solo se utiliza si se ha especificado areaDataset.
dissolveDataset Conjunto de datos predeterminado:<primer conjunto de datos> La definición de a qué nueva área pertenece cada área antigua, es decir, una asignación o mapeo entre las identidades de las áreas antiguas y las nuevas. El campo clave debe asignarse a las claves de areaDataset, si se especifican estas. Si no se proporciona ningún areaDataset, las geometrías deben estar disponibles en este conjunto de datos.
areaDataset Conjunto de datos predeterminado:<segundo conjunto de datos, si lo hay> El conjunto de datos con geometrías de área para disolver. Puede no haber ninguna, lo que significa que las geometrías deben estar disponibles en dissolveDataset. El areaDatasetKeyField de este conjunto de datos debe estar vinculado al campo clave en dissolveDataset.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

Intersects

Devuelve una tabla que asigna correspondencias entre la clave del conjunto de datos dataset1 y la clave del conjunto de datos dataset2 para todos los objetos que se cruzan. Si ambos conjuntos de datos contienen polígonos, se devuelve el área de superposición relativa en comparación con las áreas del conjunto de datos respectivo.

Es posible limitar el número de geometrías que se cruzan con el segundo conjunto de datos y que deben asignarse a cada geometría del primer conjunto de datos especificando intersectsCount. A continuación, se devuelven las geometrías que más se cruzan, en orden. La operación es simétrica si no se especifica intersectsCount.

Devuelve las siguientes columnas:

  • <dataset1 name>_<dataset2 name>_RelationId: una clave generada para la relación entre las dos geometrías.
  • <dataset key column>: la columna clave del conjunto de datos de entrada dataset1.
  • <dataset2 key column>: la columna clave del conjunto de datos de entrada dataset2.
  • <dataset1 name>.RelativeOverlap: la superposición en comparación con el polígono en dataset1. Solo se devuelve si ambos conjuntos de datos contienen polígonos. Existe una penalización de rendimiento por solicitar este campo.
  • <dataset2 name>.RelativeOverlap: la superposición comparada con el polígono en dataset2. Solo se devuelve si ambos conjuntos de datos contienen polígonos. Existe una penalización de rendimiento por solicitar este campo.
  • Todas las columnas excepto la columna clave del conjunto de datos de entrada dataset1, con el nombre del conjunto de datos como prefijo.
  • Todas las columnas excepto la columna clave del conjunto de datos de entrada dataset2, con el nombre del conjunto de datos como prefijo.

Admite:

  • ScriptEval en scripts de carga.

Este ejemplo calcula qué estados se cruzan con algunas líneas:

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);
Parámetros para Intersects
Parámetro Tipo Uso Descripción
dataset1 Conjunto de datos predeterminado:<primer conjunto de datos> Un conjunto de datos con geometrías para probar que intersectan las geometrías en el otro conjunto de datos si se especifica, o entre objetos en este conjunto de datos si no. Al comprobar la intersección entre objetos en un solo conjunto de datos, las relaciones nunca se agregan de un objeto a sí mismo. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga y cuando se define el conjunto de datos dataset2, lo que significa que se permiten tablas más grandes.
dataset2 Conjunto de datos predeterminado:<segundo conjunto de datos, si lo hay> Un conjunto de datos con geometrías para probar que se cruzan con las geometrías en el otro conjunto de datos. Si no se especifica, se calcula la intersección entre los objetos del conjunto de datos dataset1.
intersectsCount entero predeterminado:0 Si es mayor que 0, solo se devuelve como máximo este número de geometrías que se cruzan en dataset2 por geometría de dataset1. Solo se devuelven los que se cruzan más (los que tienen el área o la longitud superpuesta más grande).
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

IpLookup

Devuelve la información de localización y las geometrías de los puntos de direcciones IP de una tabla. Esto es útil cuando se analizan los datos de acceso a los servicios web. La tabla devuelta contiene los siguientes campos:
  • Key field: el mismo que el campo clave para la tabla de nombres.
  • <Address Table Ip Field>: el mismo que el campo IP que se buscó. Solo disponible si no es el mismo que el campo clave.
  • IpPoint: el punto del elemento encontrado.
  • CountryIso2: el código de país del elemento encontrado.
  • Adm1Code: el código de la división administrativa de primer orden del elemento encontrado. Tenga en cuenta que este código no siempre es compatible con el código devuelto por el servicio de ubicación.
  • City: la ciudad del elemento encontrado.
  • Todas las columnas excepto la columna clave del conjunto de datos de entrada, con el nombre del conjunto de datos como prefijo.

La geolocalización por IP es intrínsecamente imprecisa. Para muchas direcciones IP es posible determinar una ciudad, pero para otras solo se puede resolver el país.

La mejor práctica es enviar solo la columna Ip a la operación IpLookup. Ejemplo que busca algunas direcciones 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});

Es habitual que la misma IP se repita en muchas filas. Luego mejora el rendimiento para filtrar primero únicamente las IP únicas como en este ejemplo:

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;

Este producto incluye datos GeoLite2 creados por MaxMind, disponibles desde MaxMind.

Parámetros para IpLookup
Parámetro Tipo Uso Descripción
ipField cadena de texto opcional El campo con la dirección IP que buscar. Utiliza el campo clave del conjunto de datos si no se especifica.
dataset Conjunto de datos predeterminado: Ninguno. Un conjunto de datos con direcciones IP que se buscarán en el geocodificador. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga, lo que significa que se permiten tablas más grandes.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

Cargar

Solo carga el conjunto de datos, no se aplica ninguna operación. Esto permite cargar todos los formatos que admite GeoOperaciones. Tenga en cuenta que Simplify puede ser una buena alternativa a Load si las geometrías son detalladas y lentas de mostrar.

Devuelve las siguientes columnas:

  • Todas las columnas del conjunto de datos dataset.

Admite:

  • ScriptEval en scripts de carga.

Ejemplo que carga códigos postales de Suecia:

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

Dado que WKT se admite como formato de geometría para datos en INTABLE, la operación de carga Load es excelente para convertir geometrías geográficas cargadas desde una base de datos al formato de geometría de Sense para que pueda mostrarse. El siguiente ejemplo muestra cómo convertir datos WKT, en este caso de la tabla 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);
Parámetros para Load
Parámetro Tipo Uso Descripción
dataset Conjunto de datos predeterminado:<primer conjunto de datos> Conjunto de datos que cargar. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga, lo que significa que se permiten tablas más grandes.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

PointToAddressLookup

Devuelve la dirección más cercana a los puntos de la lista, también conocido como geocodificación inversa. Esta operación requiere una licencia especial. Los puntos que estén cerca de las calles obtendrán direcciones a nivel de calle; de lo contrario, devolverán de nuevo los resultados del área postal o de la ciudad. Para los puntos demasiado lejanos, no se devuelve ningún dato.

Devuelve las siguientes columnas:

  • <dataset key column>: la columna clave del conjunto de datos de entrada.
  • Address: la dirección encontrada, con formato acorde a los estándares del país.
  • Geometry: el punto del elemento encontrado.
  • HouseNumber: el número de domicilio del elemento encontrado.
  • Street: la calle del elemento encontrado.
  • PostalCode: el código postal del elemento encontrado.
  • City: el nombre de la división administrativa a nivel de ciudad del elemento encontrado.
  • Adm1: el nombre o nombre abreviado de la división administrativa de primer orden (estado) del elemento encontrado.
  • CountryIso2: el código de país del elemento encontrado.
  • Distance: distancia en metros a la dirección encontrada.
  • Todas las columnas excepto la columna clave del conjunto de datos, con el nombre del conjunto de datos como prefijo.

Tenga en cuenta que los campos que devuelve pueden estar vacíos cuando no sea aplicable o cuando no haya datos disponibles.

Ejemplo que obtiene las direcciones para algunos puntos:

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);
Parámetros para PointToAddressLookup
Parámetro Tipo Uso Descripción
language cadena de texto predeterminado: Un código de idioma de dos letras con el idioma preferido para la dirección en la respuesta. Si la dirección no está disponible en el idioma solicitado, se devuelve en un idioma predeterminado para la ubicación.
dataset Conjunto de datos predeterminado: Ninguno. Un conjunto de datos con puntos que se buscarán en el geocodificador. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga, lo que significa que se permiten tablas más grandes.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

Routes

Calcula las rutas, incluyendo la longitud y la duración, entre dos lugares de una tabla.

Tenga en cuenta que el origen es la columna de geometría en el conjunto de datos. La columna de destino se especifica en los parámetros de la operación, ya que los conjuntos de datos solo conocen una columna de geometría.

Si utiliza bird como tipo de transporte, genera grandes arcos de circunferencia entre los orígenes y destinos.

Devuelve las siguientes columnas:

  • <dataset key column>: la columna clave del conjunto de datos de entrada.
  • Distance: la distancia de la ruta en metros.
  • Duration: el tiempo de viaje estimado de la ruta en segundos.
  • Status: el estado que devuelve es "ok" o "fallido:" seguido de un mensaje de error.
  • LowResLine: una versión de baja resolución de la línea de ruta.
  • Todas las columnas excepto la columna clave del conjunto de datos de entrada, con el prefijo del nombre del conjunto de datos.

Admite:

  • ScriptEval en scripts de carga.
  • ScriptEvalStr en scripts de carga para obtener la ruta.
  • ScriptEval en scripts de carga para obtener la distancia o la duración.

Este es un ejemplo que calcula rutas entre puntos en un conjunto de datos:

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);

Este es un ejemplo que calcula rutas directamente en una capa de líneas. La operación se invoca para la selección cada vez que esta cambia. Normalmente debe haber una condición de cálculo que sea verdadera si solo se seleccionan algunos puntos (de lo contrario es mejor calcular las rutas en el script de carga). Debe ponerse esto en el script de carga para cargar los datos. Por ejemplo:

Load * Extension GeoOperations.ScriptEval( 'Load() DATASOURCE Cities LOCATIONSERVICE geometry="POINT", type="City", country="dk"');

Utilice la siguiente dimensión en la capa de líneas:

LocationDbId

Utilice una condición de cálculo en la capa de líneas:

Count(LocationDbId)<10

En la propiedad Ubicación, que debe configurarse en Geometría lineal, coloque esto para calcular las rutas desde una posición fija a los puntos seleccionados:

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

Parámetros para Routes
Parámetro Tipo Uso Descripción
dataset Conjunto de datos predeterminado: Ninguno. Un conjunto de datos con orígenes y destinos para calcular las rutas. Los orígenes deben estar en la geometría del conjunto de datos. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga, lo que significa que se permiten tablas más grandes.
criterios cadena de texto predeterminado:lo más rápido Escoja entre la ruta más rápida o más corta que se deba calcular.
transportation cadena de texto predeterminado:coche El modo de transporte puede ser coche, camión, bicicleta, peatón o bird (distancia directa, como el vuelo de un pájaro, a 10 m/s).
destField cadena de texto predeterminado: Ninguno. El campo del conjunto de datos que especifica el destino. Tenga en cuenta que el origen es el campo geométrico especificado en el conjunto de datos.
geometryType cadena de texto prederminado:POINT Tipo de geometría en destField. Los valores permitidos son Point, NamedPoint y LatLon. En el caso de los puntos llamados por su nombre, la geometría se busca en el servicio de ubicación y se añade una columna para la geometría.
sufijo cadena de texto predeterminado: Ninguno. Para usuarios avanzados. La cadena especificada se añade a todos los ID. Esta es una forma cómoda de especificar más información a los servicios de localización basados en el servidor, como el código de país o el tipo. La alternativa es añadir los datos extra al cargar la tabla en Qlik. Con el sufijo siguiente, todos los elementos se especifican como ciudades de Suecia:
,SE:city
Vea la Guía del servicio de ubicación para obtener más información sobre qué sintaxis utilizar.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

Simplify

Simplifica las geometrías de líneas y áreas en un conjunto de datos. A menudo es útil para cargar los datos geográficos con la operación Simplify en lugar de la operación Load para obtener geometrías más eficientes y más rápidas de mostrar.

El grado de simplificación se calcula automáticamente en función del área, el número de objetos y el tamaño de los mismos. A continuación, es posible ajustarlo a una resolución mayor o menor con el parámetro de resolución.

La simplificación del área se hace con un algoritmo que maneja las topologías y puede eliminar huecos y unir islas.

La simplificación de líneas se realiza con un algoritmo de reducción de puntos de interrupción.

Tenga en cuenta que se eliminan las superposiciones de polígonos. No habrá polígonos superpuestos en el resultado.

Devuelve las siguientes columnas:

  • <dataset key column>: la columna clave del conjunto de datos de entrada dataset1.
  • Simplified_<geometry column name>: versiones simplificadas de las geometrías originales.
  • Todas las columnas excepto la columna clave del conjunto de datos, con el nombre del conjunto de datos.

Admite:

  • ScriptEval en scripts de carga.

Ejemplo que carga las versiones simplificadas de los estados de EE.UU.:

Load * Extension GeoOperations.ScriptEval(' SELECT LocationDbId, Simplified_LocationPolygon FROM Simplify() DATASOURCE states LOCATIONSERVICE type="State", country="us" ');
Parámetros para Simplify
Parámetro Tipo Uso Descripción
parámetro cadena de texto predeterminado:Auto El conjunto de datos resultante se simplifica y el grado de simplificación es controlado por esta propiedad. Los valores disponibles son:
  • Auto: la operación calcula una resolución basada en los datos.
  • AutoLow: una resolución que es inferior a (la mitad de) la resolución automática.
  • AutoHigh: una resolución que es superior a (el doble de) la resolución automática.
dataset Conjunto de datos predeterminado:<primer conjunto de datos> El conjunto de datos con geometrías que simplificar.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

TravelAreas

Calcula el tiempo de desplazamiento de las áreas ISO. Todos los lugares dentro de la zona devuelta se pueden alcanzar en un tiempo determinado o están más cerca de una determinada distancia por las carreteras. Devuelve una tabla con el id, la geometría del área de desplazamiento, el punto central, el coste, la unidad de coste y el estado (correcto o fallido).

Si utiliza "Bird" como tipo de transporte, genera círculos geográficamente correctos alrededor de los orígenes.

Devuelve las siguientes columnas:

  • <dataset key column>: la columna clave del conjunto de datos de entrada.
  • TravelArea: la geometría del polígono que define el área de viaje.
  • Cost: el coste tal como se especifica en costValue o costField.
  • CostUnit: la unidad de coste tal como se especifica en costUnit.
  • Status: el estado que devuelve es "OK" o "fallido:" seguido de un mensaje de error.
  • Todas las columnas excepto la columna clave del conjunto de datos de entrada, con el prefijo del nombre del conjunto de datos.

Admite:

  • ScriptEval en scripts de carga.
  • ScriptEvalStr en scripts de carga para obtener la geometría del área de ruta.
  • ScriptEvalStr en scripts de carga para obtener el coste.

Este ejemplo de script de carga genera áreas de recorrido de 10 minutos en Miami y Orlando a partir de las coordenadas:

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);

Este ejemplo de script de carga genera áreas de recorrido de 10 minutos en Miami y Orlando a partir de puntos con nombre:

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});

Este es un ejemplo que calcula áreas de recorrido en torno a puntos directamente en una capa de área. La operación se invoca para la selección cada vez que esta cambia. Debe escribirse esto en el script de carga para cargar los datos del ejemplo:

MyAirports: Load * Extension GeoOperations.ScriptEval(' Load() DATASOURCE airports LOCATIONSERVICE geometry="POINT", type="AirportIATA", country="se" ');

Utilice la siguiente dimensión en la capa de área:

LocationDbId

Utilice una condición de cálculo en la capa de área:

Count(LocationDbId)<10

En la propiedad Ubicación ponga esto:

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

Parámetros para TravelAreas
Parámetro Tipo Uso Descripción
dataset Conjunto de datos predeterminado:<primer conjunto de datos> Un conjunto de datos con orígenes y, opcionalmente, costes para los cálculos del área de recorrido. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga, lo que significa que se permiten tablas más grandes.
costValue número predeterminado: Ninguno. El coste en el borde o frontera de la zona devuelta. El coste puede ser una duración o una hora. (Véase la unidad de coste más abajo.) Una alternativa que permite costes individuales para cada área es especificar costField en su lugar.
costField cadena de texto predeterminado: Ninguno. Un campo del conjunto de datos que especifica el coste. Solo se utiliza si costValue está vacío.
costUnit cadena de texto predeterminado:segundos Debe ser uno de los siguientes: segundos, minutos, horas, metros, yardas, kilómetros o millas. Cuando se utiliza una unidad de tiempo, se calcula el área alcanzada en ese tiempo y cuando se utiliza una unidad de duración, se calcula el área con una distancia de recorrido inferior a la especificada.
transportation cadena de texto predeterminado:coche El modo de transporte puede ser coche, camión, bicicleta, peatón o bird (distancia directa, como el vuelo de un pájaro, que avanza a 10 m/s).
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.

Within

Devuelve las relaciones entre dos conjuntos de datos en los que una geometría de un conjunto de datos (incluido) está completamente dentro del área del otro conjunto de datos (que lo engloba). Devuelve una tabla que asigna correspondencias entre la clave que hay en el conjunto de datos incluido y la clave del conjunto que lo engloba para todas las relaciones encontradas.

Utilice within normalmente para encontrar las áreas en las que se hallan los datos; por ejemplo, si deseamos probar la posición del GPS, para ver en qué área administrativa se encuentran. Se trata de una especie de geocodificación inversa.

Devuelve las siguientes columnas:

  • <enclosed name>_<enclosing name>_RelationId: una clave generada para la relación entre las dos geometrías.
  • <enclosed key column>: la columna clave del conjunto de datos de entrada dataset1.
  • <enclosing key column>: la columna clave del conjunto de datos de entrada dataset2.
  • Todas las columnas excepto la columna clave del conjunto de datos incluido enclosed, con el nombre del conjunto de datos como prefijo.
  • Todas las columnas excepto la columna clave del conjunto de datos que engloba enclosing, con el nombre del conjunto de datos como prefijo.

Admite:

  • ScriptEval en scripts de carga.

Para compensar por inexactitudes en los datos, a veces es mejor usar Closest en lugar de Within. Por ejemplo, si tiene datos de puntos en zonas costeras que quiere relacionar con divisiones administrativas, pequeñas imprecisiones pueden hacer que los puntos queden ligeramente fuera de las zonas.

Este es un ejemplo de script de carga que calcula qué puntos están dentro de qué estados:

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);
Parámetros para Within
Parámetro Tipo Uso Descripción
incluido Conjunto de datos predeterminado:<primer conjunto de datos> Un conjunto de datos con geometrías de área para comprobar qué geometrías engloban. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga, lo que significa que se permiten tablas más grandes.
que lo engloba Conjunto de datos predeterminado:<segundo conjunto de datos> Un conjunto de datos con geometrías de área para comprobar qué geometrías engloban. Admite la transmisión de este conjunto de datos cuando se envía desde el script de carga, lo que significa que se permiten tablas más grandes.
precisión entero predeterminado:6 Establece el número de decimales para redondear en las coordenadas. El valor predeterminado es 6 decimales, que tiene una precisión de alrededor de 10 cm. Si no desea redondear las coordenadas, establezca el valor en un número negativo.
 

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.