Propuesta para la "Publicación de Instalaciones"

Anuncio
Propuesta para la "Publicación de
Instalaciones"
2015
Open Data Canarias
San Cristóbal de La Laguna, marzo de 2015
Open Data Canarias
Control de Versiones
Resumen de los cambios realizados en el documento:
Fecha
2015-02-23
Versión Autor
V0.1
Adrián Muñoz Barrera
2015-03-05
V0.1
2015-03-05
V0.1
2015-04-29
V0.1
Adrián Muñoz Barrera
Luis Alberto Rubio
Rodríguez
Adrián Muñoz Barrera
Cambios
Creación e inicio del documento.
Añadido campo fecha de apertura y
modificados los campos de horario y
días.
Añadidas nuevas consideraciones.
Solucionados errores.
Nota: Valorar si borrar esta sección en el documento final
Índice
1
Introducción ..................................................................................................................... 4
2
Modelo de datos de la información de Instalaciones ...................................................... 5
3
Justificación de CSV y JSON .............................................................................................. 5
4
Propuesta del esquema que seguir .................................................................................. 6
Anexo I
Modelo de datos CSV ............................................................................................ 8
Anexo II
Modelo de datos JSON. ......................................................................................... 9
Anexo III
Consideraciones a utilizar.................................................................................... 10
Anexo IV
Ejemplos .............................................................................................................. 13
1 Introducción
Este documento contiene una propuesta para la publicación de datos sobre instalaciones
de una institución. Se parte de los datos existentes de varias organizaciones y se plantea una
estructura común para dicha información.
Con las directrices que aquí se plantean, se pretende que esta liberación sea lo más
homogénea posible en cuanto a metadatos y formatos utilizados, con el objetivo de facilitar la
reutilización de la información.
Esta propuesta se realiza como tarea de la colaboración entre RedELTIC (Red de Técnicos en
Modernización y Tecnologías de la Información y las Comunicaciones de Entidades Locales de
la isla de Tenerife) y el Proyecto Open Data Canarias. Se encuentra actualizada a febrero de
2015, fecha en la que se celebró la última reunión.
En el estudio se han analizado diferentes fuentes de datos en formatos CSV y JSON de
miembros de RedELTIC. Las fuentes analizadas han sido:




Ayuntamiento de Arona
o CSV:
 http://portal.adeje.es/opendata/get/instalaciones/HlN5emloU590nE0WuYi5XpRCdw=/?format=csv
o JSON:
 http://portal.adeje.es/opendata/get/instalaciones/HlN5emloU590nE0WuYi5XpRCdw=/?format=json
Ayuntamiento de Granadilla de Abona
o JSON:
 http://portal.adeje.es/opendata/get/instalaciones/HlN5emloU590nE0WuYi5XpRCdw=/?format=json
Ayuntamiento de Adeje
o CSV:
 http://lod.arona.es/bulkdata/inst-culturales/inst-culturales.csv
 http://lod.arona.es/bulkdata/inst-deportivas/inst-deportivas.csv
 http://lod.arona.es/bulkdata/inst-educativas/inst-educativas.csv
 http://lod.arona.es/bulkdata/inst-sanitarias/inst-sanitarias.csv
Cabildo de Tenerife
o CSV:
 http://opendatacanarias.es/datos/dataset/d1561851-ddaf-4baf9cf7-a2fb956006f7/resource/dbeb2841-081e-4b61-bbd1a98a893b7f26/download/camposdefutbol.csv
 http://opendatacanarias.es/datos/dataset/06e67b96-c473-43cca881-ad4030955eef/resource/aa9839e8-7248-490a-831f560f614e30ee/download/camposdebaloncesto.csv
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
4
2 Modelo de datos de la información de Instalaciones
Vista la información que los diferentes ayuntamientos ofrecen, se puede definir una
estructura común que modele las instalaciones:
Campo
Identificador
Nombre
Categoría
Tipo de instalación
Descripción
Fecha de apertura
Horario
Dónde
Dirección
Código Postal
Georreferencia
Contacto
Teléfono
Fax
Email
Web
Imagen
Descripción
Identificador único para la instalación.
Nombre de la instalación.
Categoría (instalación educativa, instalación deportiva...).
Tipo específico de la instalación (biblioteca, escuela...)
Descripción detallada de la instalación.
Fecha en la que se inauguró la instalación.
Horario semanal de la instalación.
Lugar (calle, edificio, etc.) donde se ubica la instalación.
Código postal del lugar donde se ubica la instalación.
Latitud y longitud del lugar donde se ubica la instalación.
Teléfono de contacto de la instalación.
Fax de la instalación.
Email de contacto de la instalación.
Página web de la instalación.
Imagen de la instalación.
3 Justificación de CSV y JSON
El análisis se ha centrado en el uso de los formatos CSV y JSON (en sus diferentes
versiones).
CSV y JSON
Ambos tipos de formatos son de formato abierto utilizados para la representación y el
intercambio de datos.
CSV (Comma-Separated Values) representa los datos en forma de tabla, donde las
columnas se separan por comas y las filas por saltos de línea. Se trata de un formato muy
sencillo, compacto y fácil de generar, leer y analizar.
Por otro lado, JSON (JavaScript Object Notation) es un formato sencillo para el intercambio
de datos. Se trata de un subconjunto de la notación de objetos de JavaScript. La simplicidad de
este formato ha dado lugar que surja como alternativa a XML. La ventaja de JSON sobre XML
como formatos de intercambio reside en la sencillez de realizar un análisis documentos en
formato JSON, gracias a JavaScript. Es legible por un humano, así como por una máquina y es
fácil de aprender ya que su sintaxis es reducida y no se extiende.
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
5
Conclusiones de uso de CSV y JSON.
Hemos decidido usar CSV y JSON como formato para la publicación inicial de contenidos
referidos a las instalaciones. Ya que este sería un primer acercamiento, sería ideal un
planteamiento sencillo para la publicación de dichos datos, que facilite su reutilización por los
desarrolladores. Por sus características, anteriormente descritas, estos formatos cumplen
dichos requisitos.
En posteriores pasos, lo más conveniente sería publicar estos datos en un formato más rico,
como RDF.
4 Propuesta del esquema que seguir
Una vez seleccionados CSV y JSON como formatos que vamos a utilizar para la publicación
de instalaciones, necesitamos definir la estructura completa de las instalaciones a publicar
según la tabla del apartado 2.
Los campos que usaremos para el formato CSV son los siguientes:
Campo CSV
Identificador
Nombre
Categoría
Tipo de instalación
Descripción
Fecha de apertura
Horario
Dirección
Código Postal
Latitud
Longitud
Teléfono
Fax
Email
Web
Imagen
Uso
IDENTIFICADOR
NOMBRE
CATEGORIA
TIPO-INSTALACION
DESCRIPCION
FECHA-APERTURA
HORARIO
DIRECCION
CODIGO-POSTAL
LATITUD
LONGITUD
TELEFONO
FAX
EMAIL
WEB
IMAGEN
Por otro lado, los campos que usaremos para el formato JSON son los siguientes:
Campo JSON
Entidad
URL entidad
Imagen entidad
Uso
entidad
url-entidad
imagen-entidad
Identificador
Nombre
Categoría
Tipo de instalación
identificador
nombre
categoria
tipo-instalacion
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
6
Descripción
Fecha de apertura
Horario
Dónde
Dirección
Código Postal
Latitud
Longitud
Contacto
Teléfono
Fax
Email
Web
Imagen
descripcion
fecha-apertura
horario
localizacion
direccion
codigo-postal
latitud
longitud
contacto
telefono
fax
email
web
imagen
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
7
Anexo I
CSV
- Identificador
- Nombre
- Categoría
- Tipo instalación
- Descripción
- Dirección
- Fecha de apertura
- Horario
Ejemplo 1
1
Nombre 1
deportiva
campo-de-futbol
Instalación de tipo…
Calle 1
2010-02-14
L-V:08:00:00Z-20:00:00Z,S:09:00:00Z-13:00:00Z
- Código postal
- Latitud
- Longitud
- Teléfono
- Fax
- Email
- Web
- Imagen
38640
28,10055885
-16,6786565
+34600112233
"Id",
Ej1 1,
Ej2 2,
Modelo de datos CSV
"Nombre",
"N 1",
"N 2",
Ejemplo 2
2
Nombre2
deportiva
complejo-deportivo
Instalación de tipo…
Calle 2
2012-01-01
L-J:08:00:00Z-20:00:00Z,
V:09:00:00Z-18:00:00Z,
S-D:09:00:00Z-13:00:00Z
38650
28,05707652
-16,7160573
+34922112233
+34922112233
[email protected]
www.ejemplo2.com
www.ejemplo2.com/imagenes/imagen.jpg
[email protected]
www.ejemplo1.com
www.ejemplo1.com/imagenes/imagen.jpg
"Cat",
"dep…",
"dep…",
"Tipo",
"cam…",
"com…",
"Desc",
"Inst…",
"Inst…",
"Dir",
"Calle",
"Calle",
"Fecha",
"2010",
"2012",
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
"Horario",
"L-V…",
"L-J…",
"CP",
"38640",
"38650",
"Lat",
"28…",
"-1…",
8
"Lon",
"28…",
"-1…",
"Tlfn",
"+34…",
"+34…",
"Fax",
"+34…",
"+34…",
"Email",
"info@...",
"info@...",
"Web",
"www…",
"www…",
"Imagen"
"www…"
"www…"
Anexo II
Etiqueta
- Entidad
- URL entidad
- Imagen entidad
Instalación
- Identificador
- Nombre
- Categoría
- Tipo de instalación
- Descripción
- Fecha de apertura
- Horario
- Localización
» Dirección
» Código postal
» Latitud
» Longitud
- Contacto
» Email
» Teléfono
» Fax
- Web
- Imagen
Instalación
Instalación
Modelo de datos JSON.
Ejemplo
Ayuntamiento 1
http://www.ayuntamie
nto1.org
http://www.ayuntamin
to1.es/images/logo.png
1
Nombre 1
deportiva
complejo-deportivo
Instalación de tipo…
2010-02-14
L-V…
Calle 1
38280
28.52194265
-16.34796068
[email protected]
+34922112233
+34922112233
www.ayuntamiento1.co
m/instalaciones/1
www.ayuntamiento1.co
m/instalaciones/images
/1.jpg
JSON
Ejemplo
{ "entidad":
"url-entidad":
"Ayuntamiento 1",
"http://www.ayuntamiento1.
org",
"http://www.ayuntamiento1.
org/images/logo.png",
"imagen-entidad":
"instalaciones": [
{
"identificador":
"nombre":
"categoría":
"tipo-instalacion":
"descripcion":
"fecha-apertura":
"horario":
"localizacion":{
"direccion":
"codigopostal":
"latitud":
"longitud":
"contacto":{
"email":
"telefono":
"fax":
"web":
"imagen":
1,
"Nombre 1",
"deportiva",
"complejo-deportivo",
"Instalación de tipo…",
"2010-02-14",
"L-V…",
"Calle 1",
"38660",
"28.0599006497",
"-16.7268933424"},
"[email protected]",
"+34922112233",
"+34922112233"},
"www.ayuntamiento1.com/in
stalaciones/1",
"www.ayuntamiento1.com/in
stalaciones/images/1.jpg"
},
{...},
{...},
]}
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
9
Anexo III Consideraciones a utilizar
Atributos del formato CSV
Los nombres de los atributos del formato CSV se escribirán en mayúscula para
diferenciarlos de los valores de las filas. Un ejemplo de CSV simplificado sería el siguiente:
IDENTIFICADOR
1
NOMBRE
Nombre 1
CATEGORIA
deportiva
Categoría
Aunque en posteriores revisiones del documento se irán añadiendo más categorías a
medida que se vayan necesitando, inicialmente sólo se permitirán los siguientes valores para
este campo:




Instalaciones deportivas: instalacion-deportiva
Instalaciones culturales: instalacion-cultural
Instalaciones educativas: instalacion-educativa
Instalaciones sanitarias: instalacion-sanitaria
Tipos de instalación
El tipo de instalación dependerá de la categoría a la que pertenezca la misma y al igual
que en el caso anterior, los posibles tipos de instalación contemplados en el documento se irán
ampliando según se necesiten. A continuación, se listan los posibles tipos de instalación para
cada una de las categorías:
Instalación deportiva
 campo-de-futbol
 campo-de-baloncesto
 centro-de-voleibol
 club-deportivo
 complejo-deportivo
 empresa-de-ocio-y-deporte
Instalación cultural
 agrupacion-folklorica
 agrupacion-musical
 agrupacion-teatral
 asociacion
 biblioteca
Instalación educativa
 academia
 centro-educativo-adultos
 colegio-privado
 colegio-concertado
 colegio-publico
 escuela-de-idiomas
 instituto-publico
 universidad
Instalación sanitaria
 veterinario
 spa-y-balneario
 centro-salud-hospital
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
10
Dirección
La dirección de la instalación se escribirá en el campo de texto dirección de forma no
estructurada. Por ejemplo: Avenida Arquitecto Gómez Cuesta 17, Arona, Santa Cruz de
Tenerife, España
Fecha de apertura
Para representar la fecha de apertura de la instalación se hará uso del estándar ISO 8601. A
continuación, se describe cómo debe ser el formato:
YYYY-MM-DD
Se puede desglosar:



YYYY-MM-DD: Año en número con cuatro cifras. Ej.: 2014.
YYYY-MM-DD: Mes en número con dos cifras. Ej.: 05.
YYYY-MM-DD: Día en número con dos cifras. Ej.: 09.
Ejemplo completo: 2014-05-09
Horario
Para describir el horario semanal de la instalación se utilizarán intervalos para especificar
los días de la semana y para las horas usaremos el estándar UTC.
Los días de la semana se van a representar mediante intervalos, correspondiendo cada día
de la semana con su primera letra en mayúscula, salvo para el miércoles que se utilizará una X.
El intervalo podrá estar compuesto por un único día en caso de que dicho día tenga un horario
diferente al resto de la semana. Por ejemplo, si la instalación está abierta de lunes a viernes el
intervalo será L-V, y si abre el sábado con otro horario el intervalo será simplemente S.
Los horarios se representarán mediante el estándar UTC, especificando el horario de
apertura y el de cierre separados mediante un guión. A continuación se describe como debe
ser el formato para las horas:
hh:mm:ss±hh:mm-hh:mm:ss±hh:mm
hh:mm:ssZ-hh:mm:ssZ
Se puede desglosar:

hh:mm:ss±hh:mm-hh:mm:ss±hh:mm: Hora de apertura con dos cifras y en formato
24H, minutos y segundos. Ej.: 09:30:00.

hh:mm:ss±hh:mm-hh:mm:ss±hh:mm: Hora de cierre con dos cifras y en formato
24H, minutos y segundos. Ej.: 18:30:00.

hh:mm:ss±hh:mm-hh:mm:ss±hh:mm: Indicador zona horaria: positiva = UTC +
desviación, negativa = UTC – desviación. Para Canarias: zona horaria positiva.
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
11

hh:mm:ss±hh:mm-hh:mm:ss±hh:mm: Desviación con respecto al UTC, con dos
cifras para las horas y dos para los minutos. Para Canarias: la desviación es de 0
horas y 0 minutos (UTC+00:00).
Ejemplo completo: 09:00:00+00:00-18:35:33+00:00

hh:mm:ssZ-hh:mm:ssZ: Se puede omitir la desviación horaria, sustituyéndola por Z
(se asumirá que ésta es 00:00).
Ejemplo completo (equivalente al anterior): 09:00:00Z-18:35:33Z
Un ejemplo completo de una instalación cuyo horario varía a lo largo de la semana podría
ser el siguiente:
L-X:09:00:00Z-21:30:00Z,J:09:30:00Z-14:00:00Z,V-S:09:00:00Z-20:00:00Z
Correos electrónicos (email)
Los correos electrónicos se deben escribir siguiendo una forma natural: [email protected] (es
decir: .+@.+). Por ejemplo: [email protected]. No está permitido: mailto:[email protected]
Números de teléfono y fax
Los números de teléfono y fax deben estar precedidos por el prefijo internacional
correspondiente asignado por la UIT (para España: +34) y sin espacios entre los dígitos. Por
ejemplo: +34922000000
Cómo comprobar el JSON
Es posible comprobar la correcta sintaxis del JSON. Para ello, basta con introducir el
contenido de éste o su URL de acceso en http://www.freeformatter.com/jsonvalidator.html y pulsar el botón “VALIDATE JSON”. En caso de que lo detecte como correcto,
la página devolverá:
Cómo comprobar el CSV
Es posible comprobar la correcta sintaxis del CSV. Para ello, basta con introducir el
contenido de éste o su URL de acceso en http://csvlint.io/ y pulsar el botón “Validate”.
En caso de que lo detecte como correcto, la página devolverá:
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
12
Anexo IV Ejemplos
Ejemplo JSON completo:
{
"entidad": "Ayuntamiento 1",
"url-entidad": "www.ayuntamiento1.com",
"imagen-entidad": "www.ayuntamiento1.com/imagenes/logo.png",
"instalaciones": [
{
"identificador": 1,
"nombre": "Nombre 1",
"categoria": "instalacion-deportiva",
"tipo-instalacion": "complejo-deportivo",
"descripcion": "Descripción de la instalación",
"fecha-apertura": "2014-02-14",
"horario": "L-X:09:00:00Z-21:30:00Z,J:09:30:00Z-14:00:00Z,VS:09:00:00Z-20:00:00Z",
"localizacion": {
"direccion": "Calle 1",
"codigo-postal": "38660",
"latitud": "28.0599006497",
"longitud": "-16.7268933424"
},
"contacto": {
"email": "[email protected]",
"telefono": "+34922112233",
"fax": "+34922112233"
},
"web": "www.ayuntamiento1.com/instalaciones/1",
"imagen": "www.ayuntamiento1.com/instalaciones/imágenes/1.jpg"
},
{
...
},
...
{
...
}
]
}
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
13
Ejemplo CSV completo:
IDENTIFICADOR,NOMBRE,CATEGORIA,TIPO-INSTALACION,DESCRIPCION,FECHA-APERTURA,HORARIO,DIRECCION,CODIGOPOSTAL,LATITUD,LONGITUD,EMAIL,TELEFONO,FAX,WEB,IMAGEN
1,"Nombre 1","deportiva","complejo-deportivo","Descripción de la instalación.","2014-02-14","L-X:09:00:00Z21:30:00Z,J:09:30:00Z-14:00:00Z,V-S:09:00:00Z-20:00:00Z","Calle 1","38660","28.0599006497","16.7268933424","[email protected]","+34922112233","+34922112233","www.ayuntamiento1.com/instalaciones/1","
www.ayuntamiento1.com/instalaciones/imágenes/1.jpg"
...
...
...
...
Propuesta para la "Publicación de Instalaciones" – Open Data Canarias
14
Descargar