Este es el artículo final de los cursos del programa educativo Akademik. En las publicaciones anteriores, consideramos la creación de informes con cuadros de diálogo y la conexión de un informe a los datos de FastReport.
El objeto de mapa se utiliza para mostrar mapas gráficos bidimensionales en formatos ESRI shapefile (.shp), Open Street Map (.osm) y GPS-track (GPS Exchange File, .gpx).
http://en.wikipedia.org/wiki/Shapefile
https://en.wikipedia.org/wiki/OpenStreetMap
https://en.wikipedia.org/wiki/GPX
El objeto Mapa consta de los siguientes elementos:
Un objeto Mapa puede mostrar una o varias capas. Cada capa contiene un mapa separado.
En el modo diseñador y en la ventana para ver el informe listo, puede administrar la visualización del mapa con un mouse:
- un desplazamiento del mouse cambia la escala del mapa;
- haciendo clic en el botón izquierdo del ratón, se puede mover un mapa;
- al hacer clic dentro de un polígono, se pueden establecer sus propiedades en el inspector de objetos.
Los valores de escala mínimo y máximo se establecen en las propiedades MinZoom y MaxZoom. Estos valores se pueden establecer en el inspector de objetos.
El objeto Mapa tiene muchas configuraciones que se pueden cambiar en el editor de objetos. Para eso, haga doble clic en el objeto o elija "Editar ..." en su menú desplegable:
Agregar capas
El objeto Mapa puede contener una o varias capas. La lista de capas se muestra en la esquina superior izquierda del editor:
Para agregar una nueva capa, haga clic en "Agregar ...". La siguiente ventana aparecerá:
En este paso, se debe elegir un tipo de capa:
-
un mapa de un archivo (.shp / .dbf, .osm, .gpx). Este es el tipo de mapas más utilizado. Por ejemplo, puede imprimir un mapa mundial y resaltar los países en los que las ventas superaron un determinado valor;
-
datos cartográficos de una aplicación. Su aplicación debe proporcionar coordenadas geográficas (un par de valores: una latitud y una longitud), que se mostrarán como un punto en el mapa. Los puntos pueden tener inscripciones y ser de varios tamaños y / o colores, dependiendo de ciertos datos. En la práctica, este tipo de mapa se utiliza como segunda capa (la primera, básica, se toma de un archivo de mapa). Por ejemplo, la capa básica muestra un mapa de un determinado país y la segunda capa muestra puntos con el nombre de las ciudades en las que hubo ventas. Los tamaños y colores de los puntos se pueden configurar para que el nivel de ventas en esa ciudad sea evidente.
Si elige una capa basada en un archivo de mapa, indique además cómo se almacenarán los datos cartográficos:
- los datos están incrustados en el archivo del informe. En ese momento, el informe puede aumentar significativamente de tamaño;
- el archivo de informe se refiere al archivo de mapa sin incrustación. Este modo es útil si tiene varios informes que utilizan los mismos mapas.
Es importante tener en cuenta que los mapas grandes (más de 30 Mb) o los mapas con una gran cantidad de polígonos (más de 20.000) ralentizarán significativamente la ejecución del informe.
Establecer la apariencia
Para hacer eso, cambie a la pestaña Apariencia y elija la capa necesaria:
Aquí puede establecer el color y el estilo del marco de los polígonos del mapa, así como elegir la paleta de colores. Si configura polígonos de resaltado con color en función de los datos analíticos (se describirá a continuación), la paleta se ignorará.
El mapa puede mostrar inscripciones, por ejemplo, nombres de países en el mapa mundial. Puede establecer el tipo y la apariencia de las inscripciones en la pestaña Etiquetas:
Si elige un mapa del archivo .shp como tipo de capa, es necesario indicar el campo del que se tomará la inscripción. Como regla general, este es el campo NOMBRE. Para el mapa mundial incluido en la demostración de FastReport, se puede elegir entre los siguientes campos:
- NOMBRE (por ejemplo, Rusia)
- ABBREV (por ejemplo, Rus.)
- ISO_A2 (por ejemplo, RU)
- ISO_A3 (por ejemplo, RUS)
La lista de campos será diferente para otros mapas.
Conectando a los datos
La mayoría de los informes utilizan el objeto Mapa no como está, sino para mostrar información analítica. Por ejemplo, pueden ser ventas en diferentes países. Para eso, se debe conectar una capa a los datos. Esto se puede hacer en el editor de mapas eligiendo una capa y cambiando a la pestaña Datos. La conexión a los datos difiere según el tipo de capa (del archivo de mapa o geodatos de la aplicación):
- si el tipo de capa se indica como un mapa de un archivo, la pestaña Datos se ve así:
En ese caso, la aplicación debe mostrar los siguientes datos:
-
nombre (por ejemplo, nombre del país);
-
valor numérico (por ejemplo, ventas en un país determinado).
Tengamos una tabla de Ventas con los siguientes campos y datos:
Pais Total de Ventas
------- ----------
Estados Unidos 500000
Alemania 1200000
Rusia 300000
En ese caso, los datos deben configurarse de la siguiente manera:
- fuente de datos: Ventas
- datos espaciales, columna: seleccione el campo que corresponde al nombre del país en el archivo de mapa. Como regla general, este es el campo "NOMBRE".
- datos espaciales, valor – [Sales. Country]
- datos analíticos, valor – [Sales.SalesTotal]
- datos analíticos, función - “Suma”. Esta función se utiliza si hay varias inscripciones con diferentes valores para un país determinado.
El campo "Escalar polígono" permite escalar un polígono con el nombre indicado hasta el tamaño de todo el objeto Mapa. Por ejemplo, para ampliar Rusia en el mapa mundial, indique el valor "Rusia" (con comillas) en este campo.
- si el tipo de capa se indica como datos proporcionados por la aplicación, la pestaña "Datos" tiene el siguiente aspecto:
En ese caso, la aplicación debe mostrar los siguientes datos:
- datos espaciales - latitud y longitud;
- etiqueta (por ejemplo, nombre de la ciudad);
- valor numérico (por ejemplo, ventas en una ciudad determinada).
Tengamos una tabla de Ventas con los siguientes campos y datos:
Latitude Longitude CityName SalesTotal
-------- --------- -------- ---------
48.13641 11.57753 Munchen 50000
50.94165 6.95505 Koln 36000
En ese caso, los datos deben configurarse de la siguiente manera
- fuente de datos - Ventas
- datos espaciales, latitud - [Sales.Latitude]
- datos espaciales, longitud - [Sales.Longitude]
- datos espaciales, etiqueta - [Sales.CityName]
- datos analíticos, valor - [Sales.SalesTotal]
- datos analíticos, función - “Suma”. Esta función se utiliza si hay varias inscripciones con diferentes valores para una ciudad determinada.
Resaltando los datos con el color
Una vez que la capa está conectada a los datos, surge una pregunta: ¿de qué forma se mostrará la información analítica (por ejemplo, ventas en varios países)? La forma más sencilla es configurar la visualización de las inscripciones de modo que las cifras de ventas se muestren junto al nombre de un país (consulte la sección "Configuración de los valores mostrados"). Sin embargo, es mucho más conveniente pintar los países con ciertos colores en función del volumen de ventas. Para eso, tenemos que configurar la escala de colores en la pestaña "Gamas de colores":
La escala de colores es un conjunto de valores: valor mínimo; valor máximo; color. Puede haber varios conjuntos (rangos) de este tipo. Para establecer la escala, se debe indicar cuántos rangos contendrá, luego establecer los valores mínimo y máximo en cada rango, y establecer el color:
De forma predeterminada, todos los valores se establecen como "Auto". En ese caso, FastReport calculará los valores mínimo y máximo para cada rango automáticamente y tomará el color de los ajustes preestablecidos de “Color inicial”, “Color intermedio” y “Color final”. Este modo se puede utilizar en la mayoría de los casos. El ajuste "Factor de rango" cambia la distribución de valores a lo largo de la escala.
Una vez establecida la escala de colores, aparece un indicador en la parte inferior del mapa, una banda de varios rectángulos de colores:
La apariencia y la posición del indicador se pueden establecer eligiendo el elemento Mapa en la lista de capas y cambiando a la pestaña "Escala de color":
Resaltando los datos con el tamaño
Si el tipo de capa se indica como los datos proporcionados por la aplicación, los valores se mostrarán como un punto con una inscripción. El tamaño del punto se puede vincular con los datos de la misma manera que cuando se resalta con color. Puedes hacerlo en la pestaña "Rangos de tamaño":
La escala de tamaño es un conjunto de valores: mínimo; máximo; tamaño en píxeles. Puede haber varios conjuntos (rangos) de este tipo. Para configurar la escala se debe indicar cuántos rangos contendrá, luego configurar los valores mínimo y máximo en cada uno de ellos, sin olvidar el tamaño.
De forma predeterminada, todos los valores se establecen como "Auto". En ese caso, FastReport calculará los valores mínimo y máximo para cada rango automáticamente y tomará el tamaño de los ajustes preestablecidos de “Tamaño inicial” y “Tamaño final”. El ajuste "Factor de rango" cambia la distribución de valores a lo largo de la escala.
Cómo utilizar mapas interactivos en FastReport VCL 2021
Los mapas interactivos se hicieron muy populares después de que apareció Google Map. Estos mapas permiten moverse por un mapa, escalar hacia arriba y hacia abajo y tienen muchas otras funciones. Después del lanzamiento de FastReport VCL 2021, dichos mapas se pueden incrustar en informes. Para eso, debe obtener un mapa en uno de los dos formatos disponibles e incrustarlo en su informe con la ayuda de un objeto Mapa.
Puede utilizar mapas en formatos .shp y .osm, así como tachuelas GPS en formato .gpx.
El formato .shp es ShapeFile. Este es un formato especial para almacenar datos geoinformacionales vectoriales. Fue desarrollado por una empresa estadounidense de ESRI en la década de 1990. Hoy en día, es uno de los formatos más utilizados en los sistemas geoinformacionales.
En realidad, ShapeFile no es un solo archivo. Junto con un archivo .shp, un conjunto incluye también archivos .shx y .dbf.
El primero, .shp, es una descripción geométrica de formas. Un archivo .shx tiene un índice de posición para unir formas entre sí. Un archivo .dbf contiene información sobre las formas de un archivo .shp.
Como se trata de un producto comercial, es posible que algunos de los mapas sean de pago.
El formato .osm es OpenStreetMap.
Este es un formato para almacenar datos geográficos basado en xml. Como se desprende del nombre, se trata de un proyecto abierto mantenido exclusivamente por voluntarios. Este proyecto web es un mapa global de la Tierra. Los voluntarios agregan constantemente nuevos datos de geolocalización y fotografías aéreas. El proyecto es muy popular y tiene muchos participantes. Por tanto, los mapas son bastante detallados. Todos los mapas, tanto en formato .osm como .shp, son bidimensionales sin altitud sobre el nivel del mar.
Como el proyecto es gratuito, los mapas también son gratuitos.
Para empezar, necesitamos un mapa. El objeto Mapa admite tres formatos de archivo: .shp, .osm, .gpx.
Los dos primeros son mapas vectoriales; este último es un conjunto de rutas y tracks para mapas. Puede descargar un mapa en uno de los formatos disponibles, luego los datos GPS en una nueva capa.
Antes de considerar el objeto Mapa, identifiquemos de dónde podemos tomar estos mapas. Puede descargar mapas listos para usar en Internet. Muchos sitios web ofrecen mapas gratuitos y de pago en ambos formatos.
Hay otra forma de obtener un archivo de mapa en formato .osm. Es un servicio especial: un mapa interactivo de la Tierra. Este servicio permite elegir el área necesaria y exportarla a un archivo. Sin embargo, el tamaño del área exportada está restringido. Como regla general, esta área contiene un asentamiento o su parte. Veamos cómo se hace:
Después de hacer clic en "Exportar", el navegador descarga el archivo .osm. Por lo tanto, el servicio es muy útil si necesita mostrar solo una pequeña región en el mapa. Si solo desea experimentar, puede tomar los archivos PortoSantoTrack.osm y PortoSantoTrack.gpx listos para usar de FastReport VCL 2021.
Cree un informe y agregue un objeto Mapa a la página. Por cierto, puede colocar este objeto en cualquier banda excepto "Datos". Después de agregar el objeto, veremos inmediatamente su editor.
El objeto está vacío hasta ahora. Solo podemos ver la configuración general, la escala de colores y la escala de tamaño.
Es importante tener en cuenta que puede mostrar un mapa en una capa o dividirlo en varias capas.
Si divide un mapa en varias capas, cada capa se establece por separado: color, fuente, ancho de línea, etc. Con varias configuraciones para capas separadas, podemos, por ejemplo, colorear el río en azul y las rutas comerciales en rojo. Los objetos de mapa se describen mediante etiquetas en un archivo XML (OSM). En cada capa, elegimos las etiquetas (objetos) a mostrar. Luego, configure los parámetros (color, fuente, ancho de línea, etc.) en la configuración. En general, la visualización del mapa capa por capa permite configurar la imagen como desee.
Si muestra un mapa en una capa, la configuración está habilitada para todos los objetos del mapa y no puede configurar la visualización de sus elementos separados.
Cabe señalar que para los mapas en formato .shp, solo está disponible la visualización de una capa.
Para agregar un mapa, haga clic en Agregar…:
Aparece una ventana para agregar una capa. Elija un archivo con un mapa o una pista de GPS. Puede incluir el archivo en un informe con la opción correspondiente. A continuación se muestran dos variantes más de agregar una capa:
− capa vacía con datos de la aplicación – los datos para construir un mapa se pueden tomar no solo del archivo sino también de una base de datos. Por lo tanto, creamos una capa vacía y establecemos la conexión a una fuente de datos;
− capa interactiva vacía – por lo que tengo entendido, esta función no se ha implementado hasta ahora. Asume la oportunidad de crear una capa manualmente, con primitivas.
Haga clic en Aceptar. Si descargamos un archivo .osm, se nos ofrecerá una ventana para elegir etiquetas:
¡Atención! Si hacemos clic en el botón "Cancelar", todas las etiquetas se elegirán automáticamente para la capa actual. Pero lo haremos de otra manera.
Con un botón de flecha, mueva las etiquetas hacia la derecha. Si deseamos mostrar el mapa en varias capas, elegimos las etiquetas necesarias para la capa actual. Por ejemplo, movimos casi todas las etiquetas a la primera capa, excepto las etiquetas de carreteras y vías navegables:
Hay un filtro de etiquetas en la parte inferior. Haga clic en ОK y obtenga casi el mapa completo:
En la configuración de la capa 1 en la pestaña Apariencia, elija Tamaño de punto igual a 0, para que no interfiera:
Algunas palabras sobre la configuración de capas. Se muestran en cinco pestañas:
- Datos: para usar geodatos de la base de datos;
- Apariencia: para establecer la apariencia de las líneas;
- Rangos de color: para establecer los colores para el sombreado automático de objetos en el mapa;
- Rangos de tamaño: para establecer una tabla de tamaño o una cuadrícula de tamaño;
- Etiquetas: para configurar las etiquetas.
Agrega una capa más de la misma manera que antes. Esta vez, elija una etiqueta de autopista. En la pestaña Apariencia, cambie el Color del borde a Granate. Ahora las carreteras son de color granate.
Agrega la tercera capa. Esta vez elegimos una etiqueta de vía fluvial. En Color del borde, cambie el color de las vías fluviales a azul. Establezca el valor de Ancho del borde en 2.
Elija un color pastel para el sombreado de fondo en la configuración del mapa.
Ahora necesitamos los nombres. Elige la primera capa. En la última pestaña Etiqueta, elija el valor de Nombre para Tipo de etiqueta y el valor de nombre para la columna Etiqueta.
Se agrega el mapa, ahora veamos cómo se verá la pista GPS para este mapa. Agregue una capa más y elija un archivo con extensión .gpx.
En la pestaña Apariencia, elija un color brillante para el Color del borde:
El mapa está finalizado. Ahora lanzamos un informe.
Uno puede ver claramente la pista GSP de color rosa brillante. Podemos movernos por el mapa con un mouse y escalar hacia arriba y hacia abajo con un desplazamiento del mouse. En la esquina superior derecha se encuentra el bloque de filtración. En él, se pueden desactivar las capas innecesarias. Por ejemplo, deshabilitamos la última capa, la pista:
Hay un problema al agregar un mapa por capas. Uno tiene que agregar manualmente las etiquetas necesarias a la capa. Pero el resultado es mucho mejor que después de agregar todas las etiquetas en una capa.
Ahora, ya conoce todas las funciones básicas de FastReport VCL 2021. Sea creativo y cree sus propios informes excelentes. ¡Le deseamos éxito en nombre de la empresa Fast Report!