Open SDG - Datos

November 4, 2021 · View on GitHub

Módulo que implementa el formato de datos de OpenSDG basado en el proyecto open-sdg-data-starter

Carga de datos y metadatos

El proceso de carga de ficheros en la plataforma OpenSDG se realiza mediante la creación de un fichero de datos y otro de metadatos por cada indicador que deseemos incluir. Para cada indicador se definirá al menos un archivo CSV con los datos requeridos para poder representarlo en una gráfica y un archivo MD con los metadatos requeridos para poder representar dicho indicador.

Nombre de los Archivos de Datos

Los datos se definen en un archivo CSV cuyo nombre ha de ser de la siguiente forma: indicator_$indicador.csv siendo $indicador el número de un indicador con la forma $M-$O-$I tal que:

  • $M = Número de la meta.
  • $O = Código alfanumérico del objetivo.
  • $I = Código alfanumérico del indicador.

Además habrá que diferenciar las series que pertenecen a un indicador que tendrán un nombre con el siguiente formato: indicator_$indicador-SERIE-$serie siendo $indicador un número de indicador con el formato $M-$O-$I y $serie siendo una letra mayúscula de la A a la Z.

Contenido De los Archivos de Datos

Este archivo CSV ha de tener la siguiente estructura:

yearunits[...]value
Año de los datos recogidos.
Esta columna es obligatoria.
Unidad en que se miden los datos presentados.
Esta columna es opcional.
Podremos añadir cuantas columnas queramos en medio de las obligatorias.Valor del dato recogido.
Esta columna es obligatoria.

Además de estas columnas existen otras dos con un comportamiento especial dentro del software:

  • Serie: Define a que serie pertenece la fila en cuestión
  • Territorio: Se puede desagregar la información por “Territorio” utilizando para esto los códigos NUTS2.

Definiendo los Metadatos

Nombre de los Metadatos

Los metadatos se definen en un archivo Markdown cuyo nombre ha de ser de la siguiente forma: $indicador.md siendo $indicador el número de un indicador con la forma $M-$O-$I siendo:

  • $M = Número de la meta.
  • $O = Código alfanumérico del objetivo.
  • $I = Código alfanumérico del indicador.

Además habrá que diferenciar las series que pertenecen a un indicador que tendrán un nombre con el siguiente formato: $indicador-SERIE-$serie siendo $indicador un número de indicador con el formato $M-$O-$I y $serie siendo una letra mayúscula de la A a la Z.

Contenido de los Archivos de Metadatos

En esta sección hay que diferenciar entre los dos tipos de metadatos que vamos a encontrar.

Metadatos de Indicador

Los metadatos de indicador son aquellos que definen los indicadores de tres niveles (P.Ej.: 1-2-1, 4-a-2, etc.). Estos indicadores tendrán los siguientes metadatos:

NombreDefiniciónTipo de dato
data_non_statisticalDefine si los datos de este indicador son estadísticos, y por tanto podemos mostrar una gráfica relacionada a ellos, o si no lo sonValores booleanos (true, false)
goal_meta_linkDefine un enlace a un documento asociado al indicadorTexto entre comillas simples cuyo contenido sea un enlace al documento deseado
goal_meta_link_textDefine el texto que aparecerá en el enlace al documento definido en goal_meta_linkTexto
graph_titleTítulo del gráfico del indicadorTexto
graph_typeTipo de gráfico que se podrá elegir entre line y bar. Por defecto para este tipo de indicadores se recomienda lineTexto
indicator_numberNúmero del indicadorNúmero de indicador en formato $M.$O.$I.
Ojo: Se utilizan puntos en lugar de guiones.
indicator_definitionDefinición del indicadorTexto
indicator_nameNombre del indicadorTexto
indicator_sort_orderOrden del indicadorEsto tendrá el siguiente formato:
$MM-$OO-$II siguiendo el mismo formato de $M-$O-$I pero asegurando que los números y caracteres alfanuméricos tengan un formato de doble dígito.
P.Ej.:
01-02-01 = 1-2-1
01-aa-02 = 1-a-2*
01-02-1a = 1-2-1a
* Cuidado de no representar las letras sueltas como 0a por ejemplo
publishedDefine si el indicador está publicado o noValores booleanos (true, false)
reporting_statusIndica el estado del indicador, si sus datos están completos o noTexto que tendrá uno de dos valores: complete o notstarted
sdg_goalDefine el la Meta de Naciones Unidas al que se relaciona este indicadorNúmero natural entre comillas simples
target_nameDefine el nombre del Objetivo de Naciones unidas al que se relaciona este indicadorTexto
target_idDefine el número del Objetivo de Naciones unidas al que se relaciona este indicadorNúmero con el formato $M.$O entre comillas simples. Ojo: Se utilizan puntos en lugar de guiones.
un_custodian_agencyAgencia de custodia del indicadorTexto
un_designated_tierImportancia designada por Naciones UnidasNúmero natural entre comillas simples
national_geographic_coverageQue región cubre los datos mostrados en el indicadorTexto
source_active_NActiva la fuente número N, siendo N un número natural entre el 1 y el 12Valores booleanos (true, false)
source_organisation_NOrganización que provee los datos de la fuente NTexto
source_url_NEnlace a la web de la organización de la fuente NTexto
source_url_text_NTexto que aparecerá como enlace para la web de la fuente NTexto
computation_unitsUnidad de medida del indicadorTexto entre comillas
preselected_fieldsSeries que se mostrarán seleccionadas por defecto en el gráfico del indicadorObjeto. Cada indicador puede contar con múltiples dimensiones. Por ejemplo, una de las dimensiones del indicador podría ser "enfermedad". A su vez, cada dimensión puede contar con múltiples campos. Para la dimensión "enfermedad", los campos serían "Cáncer", "Diabetes", etc. Por defecto, se mostrarán todos los campos de la dimensión. Para cada campo, se puede indicar si se mostrará o no preseleccionado en el gráfico. Para saber cómo establecer estos campos, consulte el apartado "Cómo preseleccionar campos de una dimensión para mostrar en el gráfico" más abajo.
prev_indicatorIndicador previo. Utilizado para la navegación entre indicadoresNúmero de indicador con el formato $M-$O-$I
next_indicatorIndicador siguiente. Utilizado para la navegación entre indicadoresNúmero de indicador con el formato $M-$O-$I
Cómo preseleccionar campos de una dimensión para mostrar en el gráfico

Para marcar por defecto ciertos campos de una dimensión de desagregación para un indicador en concreto, primero es necesario acudir a su ficha de metadatos y añadir la propiedad preselected_fields de la siguiente manera:

preselected_fields:
  - dimension: <DIMENSIÓN DE DESAGREGACIÓN A>
    fields:
    - <CAMPO 1>
    - <CAMPO 2>
  - dimension: <DIMENSIÓN DE DESAGREGACIÓN B>
    fields: 
    - <CAMPO 1>
    - <CAMPO 2>
    - <CAMPO 3>
    - <CAMPO 4>

Por ejemplo:

<!-- Ejemplo del indicador 3-4-1 -->
preselected_fields:
  - dimension: DIM_DES.TIPO_ENFERMEDAD
    fields:
    - TIPO_ENFERMEDAD.NCD_CNCR
  - dimension: general.territorio
    fields:
    - nuts.ES53
    - nuts.ES532
    - nuts.ES533
    - nuts.ES531_072
    - nuts.ES531_071

Si una dimensión no figura en el campo preselected_fields, entonces todos sus campos estarán marcados (este es el comportamiento por defecto). Al añadir una dimensión, solo se preseleccionarán aquellos campos que figuren en el apartado de fields.

Metadatos de Serie

NombreDefiniciónTipo de dato
target_idNúmero del indicador con el que está relacionada esta serieNúmero con el formato $M.$O entre comillas simples. Ojo: Se utilizan puntos en lugar de guiones.
reporting_statusSimilar a reporting_status en los indicadoresTexto que tendrá uno de dos valores: complete o notstarted
data_non_statisticalSimilar a data_non_statistical en los indicadoresValores booleanos (true, false)
indicator_sort_orderSimilar a indicator_sort_order en los indicadoresEsto tendrá el siguiente formato:
$MM-$OO-$II siguiendo el mismo formato de $M-$O-$I pero asegurando que los números y caracteres alfanuméricos tengan un formato de doble dígito.
P.Ej.:
01-02-01 = 1-2-1
01-aa-02 = 1-a-2*
01-02-1a = 1-2-1a
* Cuidado de no representar las letras sueltas como 0a por ejemplo
national_geographic_coverageSimilar a national_geographic_coverage en los indicadoresTexto
nombreNombre de la serieTexto entre comillas simples
indicador_onu_globalNombre del indicador de Naciones Unidas al que va relacionada esta serieTexto
objetivo_globalNombre del objetivo de Naciones Unidas al que va relacionada esta serieTexto
meta_globalNombre de la meta de Naciones Unidas a la que va relacionada esta serieTexto
definicionDefinción de la serieTexto entre comillas simples
formula_teoricaFórmula teórica de la serieFórmula representada en formato MathJax. P.Ej.: x^2 + y^2 = 3
unidad_medidaUnidad de medida en que se han recogido los datos de la serieTexto
fuentes_informaciónFuentes de información de las que se recogen los datos de esta serieTexto
periodicidadPeriodicidad con la que se recogen datos para esta serieTexto
observacionesObservaciones a destacar para esta serieTexto
graph_titleSimilar a graph_title para el indicadorTexto
graph_typeSimilar a graph_type para el indicador.
Para las series se recomienda utilizar bar
Texto
sort_orderOrden en que se mostrará la pestaña de este indicador en la agrupación de pestañasNúmero natural mayor que 0
tab_nameNombre que se le dará a la pestaña que representa esta serieTexto
show_mapMetadato que se utiliza para mostrar o no el mapaValores booleanos (true, fals

Mostrar la información en mapas

Para poder mostrar la información de un subindicador en un mapa será necesario realizar una serie de pasos:

  1. En los archivos de datos se debe incluir una columna de nombre GeoCode. Bajo esta columna irán los códigos de regiones (geocodes) que mapearán los datos a las regiones del mapa.
  2. En los metadatos del subindicador se deberá añadir un nuevo metadato: show_map y establecerlo a true si se desea mostrar el mapa. Se puede establecer a false para ocultarlo.
  3. Añadir configuraciones de mapa al archivo config_data.yml. Existen ejemplos de esto en el propio archivo. Para más información consultar la documentación de OpenSDG
  4. Esta configuración de los mapas se deberá añadir tal cual está en config_data.yml en la configuración de la web opensdg-web/src/_config.yml.