AWS Machine LearningPublicación de la fuente

Visualice puntos y rutas con GeoJSON en mapas de capas de Amazon Quick Sight

Con los mapas de capas de Amazon Quick Sight, ahora puede trazar puntos y rutas, como ubicaciones de tiendas en una ciudad o vuelos que salen de un aeropuerto. Los mapas geoespaciales ayudan a las empresas a detectar patrones vinculados a la ubicación, como el desempeño de una región o dónde se concentran los clientes.

Con los mapas de capas de Amazon Quick Sight, ahora puede trazar puntos y rutas, como ubicaciones de tiendas en una ciudad o vuelos que salen de un aeropuerto. Los mapas geoespaciales ayudan a las empresas a detectar patrones vinculados a la ubicación, como el desempeño de una región o dónde se concentran los clientes. Amazon Quick Sight admite esto con varios tipos de mapas, incluidos mapas de puntos, mapas de áreas sombreadas y mapas de capas. Cuando los mapas de capas se lanzaron por primera vez, podía cargar un archivo GeoJSON para dibujar capas de formas personalizadas, como territorios de ventas o distritos, y unir esas formas a un conjunto de datos. Eso funcionaba bien para regiones y límites, pero no cubría las ubicaciones individuales dentro de ellos ni las rutas que las conectan.

Los mapas de capas ahora admiten dos tipos de geometría adicionales desde el mismo flujo de trabajo de GeoJSON: Point y LineString. Los puntos marcan ubicaciones específicas, como sitios individuales de tiendas o instalaciones. Un LineString traza la ruta entre ubicaciones, como un trayecto de entrega o un vuelo entre aeropuertos.

Amazon Quick Sight, la capacidad de inteligencia empresarial (BI) de Amazon Quick, es un servicio de BI unificado. Ofrece paneles interactivos modernos, consultas en lenguaje natural, informes con precisión de píxel, perspectivas de aprendizaje automático (ML) y analítica integrada a escala. Amazon Quick reúne agentes de IA para perspectivas de negocio, investigación y automatización en una experiencia integrada, ayudándole a trabajar de manera más inteligente y rápida mientras mantiene las políticas de seguridad y acceso.

En esta publicación, recorremos la estructura del conjunto de datos y del GeoJSON que requieren los mapas de capas. También explicamos cómo funcionan los puntos y las líneas en un visual de mapa de capas y cuándo elegir cada uno. Finalmente, cubrimos técnicas avanzadas para controlar el viewport, superponer geometrías y actualizar archivos GeoJSON mediante programación.

Consideraciones sobre la estructura del conjunto de datos

Un mapa de capas obtiene sus formas de un archivo GeoJSON y sus métricas de un conjunto de datos de Quick Sight, y una clave compartida une ambos. La forma en que estructure cada uno determina lo que el mapa puede mostrar. Esta sección cubre lo que necesita antes de comenzar y cómo se organiza un archivo GeoJSON.

Requisitos previos

Los siguientes son los requisitos previos que necesita antes de crear un mapa de capas en Quick Sight:

  • Un archivo GeoJSON que describa su geometría.
  • Un conjunto de datos de Quick Sight que contenga las métricas y dimensiones.
  • Una clave de unión compartida entre el conjunto de datos de Quick Sight y el archivo GeoJSON.
  • El archivo GeoJSON debe guardarse en formato .geojson, con un tamaño máximo de archivo admitido de 100 MB.

Estructura del archivo GeoJSON

GeoJSON es un formato basado en JSON para describir características geográficas como puntos y líneas.

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "geometry": {
      "type": "Point",
      "coordinates": [88.4, 22.6]
    },
    "properties": { "prop0": "value0" }
  }, {
    "type": "Feature",
    "geometry": {
      "type": "LineString",
      "coordinates": [
        [88.2, 22.4],
        [88.9, 23.1],
        [89.5, 22.8],
        [90.1, 23.6]
      ]
    },
    "properties": { "prop0": "value0" }
  }]
}

La estructura del archivo es la siguiente:

  • FeatureCollection es el archivo completo. Tiene un tipo de FeatureCollection y un features array.
  • Feature es un único elemento de mapa. Contiene una geometry (la forma) y un objeto properties , que guarda la clave de unión.
  • geometry tiene un type (Point, LineString o Polygon) y sus coordinates. Las coordinates contienen una única [longitude, latitude] posición para un Point, y una lista ordenada de posiciones para un LineString.

Configuración del dataset de Quick Sight y su GeoJSON

En Quick Sight, cuando configura una capa en un visual de mapa de capas, hay dos configuraciones principales a considerar. La primera es Geometry type to visualize, que establece qué geometría del archivo GeoJSON se representa: Points, Lines o Polygons. Una capa representa un tipo de geometría a la vez, por lo que cuando un archivo mezcla tipos como en el ejemplo anterior, solo aparecen en el mapa los Features del tipo seleccionado. La segunda es hacer coincidir el Shape file key field con el Dataset key field, lo que vincula cada Feature del GeoJSON con una fila de su dataset de Quick Sight. Los nombres de los campos no necesitan ser idénticos, pero los valores sí. Los dos ejemplos siguientes muestran esto de principio a fin, primero una capa de tipo LineString y luego una capa de tipo Point .

Ejemplo: capa LineString

Considere datos de ejemplo que muestran un vuelo desde JFK a una ciudad de destino como Los Ángeles. La estructura GeoJSON para un único punto de datos se configura de la siguiente manera:

{
  "type": "Feature",
  "geometry": {
    "type": "LineString",
    "coordinates": [
      [-73.7781, 40.6413],
      [-85.5627, 40.6407],
      [-97.1415, 39.4569],
      [-108.1612, 37.1753],
      [-118.4085, 33.9416]
    ]
  },
  "properties": { "route_id": "JFK-LAX" }
}

La fila correspondiente en el conjunto de datos de Quick Sight contiene la siguiente información:

Figura 1: Fila del conjunto de datos para la ruta JFK-LAX, indexada por route_id

El campo route_id se utiliza para unir el conjunto de datos de Quick Sight con el archivo GeoJSON. El GeoJSON contiene un elemento de este tipo por ruta, y el conjunto de datos una fila por ruta. El tipo de geometría a visualizar se establece en Lines.

Figura 2: La ruta JFK-LAX dibujada como una capa LineString

Ejemplo: capa de puntos

Considere datos de ejemplo que muestran la ubicación de una tienda minorista como Long Island City. La estructura GeoJSON para un único punto de datos se configura de la siguiente manera:

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [-73.9490, 40.7447]
  },
  "properties": { "store_id": "S-109" }
}

La fila correspondiente en el conjunto de datos de Quick Sight contiene la siguiente información:

Figura 3: Fila del conjunto de datos de una tienda, indexada por store_id

El campo store_id se usa para unir el conjunto de datos de Quick Sight con el archivo GeoJSON. El GeoJSON contiene un feature por tienda, y el conjunto de datos una fila por tienda. El tipo de geometría a visualizar se establece en Points.

Figura 4: Una tienda trazada como capa de Points

Líneas en los elementos visuales de mapas de capas

Los elementos visuales de mapas de capas ahora admiten geometría LineString , que conecta una lista ordenada de coordenadas en una sola ruta. Como se explicó en la sección de estructura de datos, cada ruta es un feature, y sus coordenadas son las posiciones ordenadas que el mapa conecta en secuencia.

Use líneas cuando la relación entre ubicaciones sea lo que desea mostrar, como rutas de vuelo, rutas de entrega, rutas marítimas o segmentos de tuberías. El elemento visual dibuja cada ruta a partir de las coordenadas de su archivo GeoJSON en lugar de generarla a partir de sus datos en el momento de la carga. Un campo de su conjunto de datos unido puede determinar la codificación de color de la línea, de modo que pueda agrupar rutas según lo que represente ese campo. Además del color, puede personalizar las líneas con controles de grosor y opacidad para ajustar su prominencia visual y claridad en el mapa. La clave de unión en el objeto de propiedades del GeoJSON vincula cada LineString con la fila del conjunto de datos que aparece detrás de su información sobre herramientas y color.

Por ejemplo, un equipo de operaciones aeroportuarias podría trazar los vuelos que salen de Nueva York (JFK) en un día determinado. El archivo GeoJSON contiene un LineString por ruta, indexado por un ID de ruta que se une al conjunto de datos. Cada línea comienza en JFK y termina en su destino, como Los Ángeles, Chicago o Miami. El conjunto de datos proporciona el origen, el destino y la aerolínea que aparecen en la información sobre herramientas.

Figura 5: Vuelos que salen de JFK dibujados como rutas LineString hacia múltiples destinos

Points en los elementos visuales de mapas de capas

Amazon Quick Sight ofrece un tipo de elemento visual de mapa de puntos que geocodifica nombres de ubicaciones automáticamente y se actualiza con su programación de SPICE o su conexión de Direct Query. Admite tamaños de punto dinámicos, codificación de colores y estilos de punto como puntos agrupados y degradados de densidad de mapa de calor. Funciona mejor con datos que cambian con frecuencia y donde desea que el mapa responda visualmente a esos cambios.

Con el soporte añadido para capas de puntos GeoJSON en los elementos visuales de mapas de capas, Quick Sight ahora ofrece una segunda capacidad de mapeo de puntos con algunas diferencias clave. Los puntos de los elementos visuales de mapas de capas usan un tamaño de marcador uniforme y no admiten geocodificación, por lo que debe proporcionar coordenadas explícitas en el archivo GeoJSON. A cambio, puede controlar el viewport con precisión, bloqueando el mapa a una región geográfica exacta y deshabilitando el desplazamiento y el zoom.

La siguiente tabla resume las diferencias clave:

Característica Mapa de puntos Puntos del elemento visual de mapa de capas
Fuente de datos Valores de latitud/longitud o nombres de geolocalización en su conjunto de datos Features Point de GeoJSON unidos a su conjunto de datos mediante una clave compartida
Geocodificación Reconoce automáticamente ciudad, condado, estado, país y código postal No disponible. Debe proporcionar coordenadas explícitas en el archivo GeoJSON
Actualizaciones de ubicación El mapeo se actualiza automáticamente con las actualizaciones de SPICE o Direct Query a medida que cambian los valores de ubicación El elemento visual usa un archivo GeoJSON estático para las ubicaciones de los puntos. Requiere una nueva carga manual o una llamada a la API para actualizar la geometría
Viewport Se ajusta automáticamente a sus datos, con el desplazamiento y el zoom siempre habilitados Se ajusta automáticamente de forma predeterminada; se puede configurar si se permite el desplazamiento y el zoom
Apariencia El tamaño y el color pueden codificarse a partir del conjunto de datos. Configuración de estilo de punto disponible (básico, clúster, mapa de calor) Tamaño de marcador uniforme personalizable, opacidad de relleno, color y grosor del borde. El color puede codificarse a partir del conjunto de datos

Elija la capa de mapa visual cuando:

  • Necesita un viewport bloqueado y no desplazable.
  • Sus ubicaciones son fijas y seleccionadas (como oficinas regionales, centros de distribución, tiendas minoristas) en lugar de cambiar con cada actualización de datos.
  • Planea combinar puntos con otros tipos de geometría (cubierto en la sección de casos de uso avanzados).

Considere una marca minorista cuyos gerentes regionales usan un panel de Quick Sight para seguir el rendimiento de las tiendas en un área metropolitana. El archivo GeoJSON contiene un elemento Point para cada tienda con una propiedad de ID de tienda que se une al conjunto de datos. El conjunto de datos contiene las métricas (tipo de tienda, ingresos mensuales, tráfico diario de clientes) que impulsan la información sobre herramientas y la codificación de color. Usted posiciona el mapa en el nivel de zoom que cubre el área metropolitana y luego desactiva la navegación del mapa para que este se represente con una vista consistente en cada carga. Los gerentes no pueden alejarse accidentalmente hasta una vista nacional o global.

Figura 6: Ubicaciones de tiendas como puntos con la navegación del mapa desactivada para fijar la vista del área metropolitana

Casos de uso avanzados

Las secciones anteriores cubren una configuración estándar de un mapa de capas. Utilice las siguientes técnicas cuando necesite más control sobre lo que ven los lectores, desee combinar tipos de geometría en una sola vista o necesite una geometría que cambie con el tiempo.

Control del viewport

Cuando necesite controlar el viewport en elementos visuales de mapas de capas, puede desplazarse y hacer zoom manualmente hasta la vista deseada. Luego, desactive la navegación del mapa para fijarla en su lugar. Para casos de uso donde necesite límites más precisos o control programático, puede establecer las coordenadas exactas del viewport a través de la definición visual usando las API de Quick Sight.

El elemento visual de mapa de capas almacena su configuración de viewport en la MapState propiedad dentro de ChartConfiguration. Esta propiedad acepta dos campos:

  • Bounds: las coordenadas geográficas que definen el área mínima visible (Norte, Sur, Este, Oeste).
  • MapNavigation: ENABLED o DISABLED para controlar si los lectores pueden desplazarse y hacer zoom.

Aunque la propiedad bounds no se expone en la consola, puede establecer estos límites al trabajar con el JSON de definición del panel para la gestión programática de activos. Por ejemplo, para definir los límites, modifique el MapState bloque en la definición visual y luego llame a las API CreateDashboard o UpdateDashboard .

Los límites definen el área mínima que se garantiza que será visible. El mapa hace zoom para asegurarse de que toda esta área quepa dentro del contenedor visual. Para lograr el ajuste más preciso con el mínimo espacio adicional añadido al mapa, haga coincidir la relación de aspecto de sus límites con la forma de su contenedor visual.

Superposición de geometrías

Para casos de uso que requieren combinar múltiples tipos de geometría en una sola vista, puede superponer elementos visuales unos sobre otros. Por ejemplo, la siguiente captura de pantalla muestra el trazado de ubicaciones de clientes como puntos dentro de límites regionales de EE. UU. definidos por polígonos. Esta composición muestra qué territorios tienen la mayor densidad de clientes y puede usarse para correlacionar con otras métricas presentes en el conjunto de datos, como el rendimiento.

Figura 7: Puntos de clientes superpuestos dentro de límites regionales de polígonos

Este segundo ejemplo demuestra la combinación de puntos como paradas a lo largo de la ruta de entrega. El LineString dibuja la ruta planificada y los elementos Point marcan cada parada programada en el camino.

Figura 8: Una ruta de entrega dibujada como un LineString con marcadores Point para cada parada

Para superponer geometrías, apila varios elementos visuales de mapa de capas unos sobre otros, siguiendo estos pasos:

  1. Use el diseño de forma libre: Cambie la configuración de diseño de la hoja a forma libre para que los elementos visuales puedan superponerse y apilarse.
  2. Cree dos elementos visuales de mapa de capas: Cree los dos elementos visuales de mapa de capas que combinará en una sola vista, por ejemplo, uno que use un archivo GeoJSON de tipo Point y otro que use un archivo GeoJSON de tipo LineString.
  3. Use límites coincidentes: Con el enfoque descrito anteriormente para controlar el viewport, verifique que todos los elementos visuales de mapa de capas usen límites idénticos para tener la misma vista de mapa subyacente.
  4. Desactive el desplazamiento y el zoom: Para cada elemento visual de mapa de capas, desactive el desplazamiento y el zoom en Map options para que la alineación se mantenga igual.
  5. Oculte el mapa base y el fondo en la capa superior: Establezca el fondo del elemento visual superior como oculto en Display settings y desactive el mapa base en Map options.
  6. Apile los elementos visuales: Mueva el elemento visual superior sobre la capa base mediante arrastrar y soltar o haciendo coincidir coordenadas precisas de tamaño y posición en Display settings.

El orden de las capas sigue el orden de apilamiento de los elementos visuales en el diseño libre. Para cambiar la posición de un elemento visual en la pila, elija el icono de menú (tres puntos) del elemento visual y, a continuación, elija Send backward o Bring forward. Los lectores pueden acceder a la información sobre herramientas del elemento visual superior, por lo que debe colocar en la parte superior la capa de la que los lectores necesiten ver detalles. Cada hoja admite hasta cinco elementos visuales de mapa de capas.

GeoJSON con actualización dinámica

A diferencia de otros elementos visuales de Quick Sight en los que los datos se actualizan mediante SPICE o Direct Query, la geometría del mapa de capas reside en el propio archivo GeoJSON. Cuando su conjunto de datos se actualiza según lo programado, las métricas se actualizan (por ejemplo, cambian los colores y se actualizan los valores de la información sobre herramientas), pero la geometría permanece en su posición original.

Para actualizar lo que aparece en el mapa, como una nueva ruta, nuevas ubicaciones de puntos o límites actualizados, debe actualizar el archivo GeoJSON y volver a publicar el dashboard. Puede reemplazar un archivo GeoJSON manualmente a través de la consola de Quick Sight editando el elemento visual de mapa de capas dentro de Analysis y cargando un nuevo archivo. Esto funciona para cambios poco frecuentes, como actualizar los límites territoriales cada trimestre o agregar una nueva ubicación de tienda.

Para actualizaciones automatizadas, bajo demanda o dinámicas, el proceso implica Amazon Simple Storage Service (Amazon S3) y las API de Quick Sight descritas en los siguientes pasos:

  1. Cargue el nuevo GeoJSON en Amazon S3: Genere su geometría actualizada y guárdela en un bucket de Amazon S3 . Las soluciones personalizadas pueden usar otros servicios de AWS como Amazon Location Service para crear los archivos GeoJSON.
  2. Haga referencia al archivo en la definición del dashboard: La definición del dashboard contiene un array StaticFiles con una SpatialStaticFile entrada por cada archivo GeoJSON. Modifique la referencia del archivo a la ubicación de S3 de su archivo actualizado en la entrada de cada archivo GeoJSON.
  3. Llame a la API UpdateDashboard: Envíe la definición actualizada con la nueva referencia de archivo utilizando la API UpdateDashboard .
  4. Llame a la API UpdateDashboardPublishedVersion: Publique el cambio para que sea visible para los lectores del dashboard con la API UpdateDashboardPublishedVersion .

El siguiente ejemplo usa este patrón para admitir actualizaciones de mapas bajo demanda en un dashboard incrustado a fin de generar rutas óptimas entre ubicaciones y puntos de ruta. Aunque queda fuera del alcance de esta publicación, representa un caso de uso avanzado que combina cada uno de los enfoques anteriores.

Figura 9: Generación de rutas bajo demanda en un dashboard incrustado

Conclusión

En esta publicación, mostramos cómo usar geometría de Point y LineString en los mapas de capas de Amazon Quick Sight para trazar ubicaciones específicas y las rutas entre ellas. Cubrimos la estructura de GeoJSON y la unión de conjuntos de datos que requieren los mapas de capas, y comparamos los puntos de los mapas de capas con el mapa de puntos nativo. También repasamos técnicas avanzadas para controlar el viewport, superponer visualizaciones separadas en una sola vista y actualizar los archivos GeoJSON con Amazon S3 y las API de Quick Sight.

Para obtener más información sobre los mapas en capas, consulte la documentación de mapas en capas de Amazon Quick Sight. Visite la comunidad de Amazon Quick para conectarse con colegas y mantenerse al tanto de las funcionalidades y recursos más recientes.

 


Sobre los autores

Fuente original

AWS Machine Learning

Notas sobre el contenido

La publicación original y los derechos pertenecen a la fuente.

Traducción automática · Consulte el original