Acerca de

Hace años que desde la Unidad Orgánica del Banco de Datos y Centro de Documentación, venimos trabajando en la recopilación y el suministro de los datos económicos relevantes de la isla de Tenerife.

En esta misma línea, ahora nos embarcamos en un proyecto más ambicioso aún: instaurar un proyecto de Open Data, que ponga a disposición de nuestros usuarios, con formato normalizado y abierto, todo un catálogo de datos estructurados, relevantes desde el punto de vista del conocimiento de nuestra realidad insular.

La mayor parte de estos datos ya estaban disponibles en otros portales que sostenemos: ahora se trata de recopilar todos estos contenidos, y facilitar su consulta y reutilización.

Este proyecto se inserta, por último, en la política de e-administración, transparencia y Buen Gobierno en la que se ha comprometido esta Corporación Insular.

Aviso Legal

Condiciones de uso de la información contenida en este servidor

El uso de la información contenida en este servidor implica la aceptación de las siguientes condiciones de uso:

  1. Condiciones de uso de la información contenida en este portal: El uso de la información aquí contenida implica la aceptación de las siguientes condiciones de uso: 
    • El Excmo. Cabildo Insular de Tenerife, en adelante ECIT, ha creado este sitio Web para facilitar a los usuarios el acceso a la información estadística oficial. Los datos que aquí se contienen provienen de múltiples fuentes.
    • El ECIT pone este material a libre disposición de los usuarios.
    • Con motivo del desarrollo de la Ley 11/2007 de acceso electrónico de los ciudadanos a los servicios públicos, y en particular el Real Decreto 3/2010 por el que se regula el Esquema Nacional de Seguridad en el ámbito de la Administración Electrónica, el ECIT dispone de una Política de Seguridad de la Información, como norma base para la gestión y aseguramiento de la información manejada, incluida la referente a datos de carácter personal, en los sistemas de información de los que dispone.
    • La Política de privacidad del Cabildo Insular de Tenerife está presidida por el cumplimiento de la legalidad vigente en materia de protección de datos de carácter personal.
  2. Calidad de la información:
    • Los datos y otros materiales que aparecen en este servidor se han introducido siguiendo estrictos procedimientos de control de calidad; no obstante, pueden producirse errores por lo que las cifras ofrecidas en este sitio Web pueden en algún caso no ser correctas. Cuando se advierte la existencia de cifras u otros datos erróneos, ECIT procede a subsanarlos de inmediato y se advierte a los usuarios, en la página más adecuada a cada caso, sobre la modificación realizada.
  3. Disponibilidad de la información. 
    • El ECIT no puede garantizar el funcionamiento de la red de comunicaciones y por tanto no asume responsabilidad alguna sobre la disponibilidad de este servidor.
    • El servidor podrá ser desconectado sin previo aviso. Se harán todos los esfuerzos para que el impacto por tareas de mantenimiento sea el mínimo posible.
    • El ECIT no se responsabiliza de ningún daño o perjuicio sufrido por el usuario que se derive del acceso a este servidor o del uso de información o aplicaciones en él contenidos.
  4. Establecimiento de hiperenlaces. 
    • Los usuarios que se propongan establecer un hiperenlace entre su página Web y la del ECIT deberán tener en cuenta lo siguiente:
      •  
      • El establecimiento de hiperenlaces no implica en ningún caso la existencia de relaciones entre el ECIT y el propietario de la página Web en la que se establezca, ni la aceptación y aprobación por parte del ECIT de sus contenidos o servicios. Por lo tanto no se declarará ni se dará a entender que el ECIT ha autorizado expresamente el hiperenlace ni que ha supervisado o asumido de cualquier forma los servicios ofrecidos o puestos a disposición en la página Web desde la que se establece el hiperenlace.
      • El ECIT no se responsabiliza en modo alguno ni garantiza la calidad, exactitud, fiabilidad, corrección o moralidad de contenidos o servicios que el establecimiento del hiperenlace pueda ofrecer. El usuario asume bajo su responsabilidad las consecuencias, daños o acciones que pudieran derivarse del acceso a la página Web del hiperenlace.  
      • La página Web en la que se establezca el hiperenlace no podrá contener ninguna marca, denominación, logotipo, eslogan u otros signos distintivos pertenecientes al ECIT, excepto aquellos signos que formen parte del mismo hiperenlace.
      • La página Web en la que se establezca el hiperenlace no contendrá informaciones o contenidos ilícitos, contrarios a la moral y a las buenas costumbres generalmente aceptadas y al orden público, así como tampoco contendrá contenidos contrarios a cualesquiera derechos de terceros.
  5. Autorización de reutilización y cesión no exclusiva de derechos de propiedad intelectual
    • Las presentes condiciones generales permiten la reutilización de los datos sometidos a ellas para fines comerciales y no comerciales. Se entiende por reutilización el uso de datos que obran en poder del Cabildo Insular de Tenerife y de los demás organismos y entidades adscritos a él, por personas físicas o jurídicas, con fines comerciales o no comerciales, siempre que dicho uso no constituya una actividad administrativa pública. Por ejemplo, la reutilización autorizada incluye actividades como la copia, difusión, modificación, adaptación, extracción, reordenación y combinación de la información.
    • El concepto de documento es el establecido en el apartado 2 del artículo 3 de la Ley 37/2007, de 16 de noviembre, sobre Reutilización de la Información del Sector Público, por lo que comprende toda información cualquiera que sea su soporte material o electrónico así como su forma de expresión gráfica, sonora o en imagen utilizada, incluyendo, en consecuencia, también los datos en sus niveles más desagregados o “en bruto”.
    • Esta autorización conlleva, asimismo, la cesión gratuita y no exclusiva de los derechos de propiedad intelectual, en su caso, correspondientes a tales documentos, autorizándose la realización de actividades de reproducción, distribución, comunicación pública o transformación, necesarias para desarrollar la actividad de reutilización autorizada, en cualquier modalidad y bajo cualquier formato, para todo el mundo y por el plazo máximo permitido por la Ley.
    • Condiciones generales para la reutilización
      • Son de aplicación las siguientes condiciones generales para la reutilización de los documentos sometidos a ellas:
        • Está prohibido desnaturalizar el sentido de la información.
        • Debe citarse la fuente de los documentos objeto de la reutilización. Esta cita podrá realizarse de la siguiente manera ""Origen de los datos: Cabildo Insular de Tenerife (o, en su caso, órgano administrativo, organismo o entidad de que se trate)""
        • Debe mencionarse la fecha de la última actualización de los documentos objeto de la reutilización, siempre y cuando estuviera incluida en el documento original.
        • No se podrá indicar, insinuar o sugerir que el Cabildo Insular de Tenerife participa, patrocina o apoya la reutilización que se lleve a cabo con la información.
        • Deben conservarse, no alterarse ni suprimirse los metadatos sobre la fecha de actualización y las condiciones de reutilización aplicables incluidos, en su caso, en el documento puesto a disposición para su reutilización.
    • La utilización de los conjuntos de datos se realizará por parte de los usuarios o agentes de la reutilización bajo su propia cuenta y riesgo, correspondiéndoles en exclusiva a ellos responder frente a terceros por daños que pudieran derivarse de ella.
    • El Cabildo Insular de Tenerife no será responsable del uso que de su información hagan los agentes reutilizadores ni tampoco de los daños sufridos o pérdidas económicas que, de forma directa o indirecta, produzcan o puedan producir perjuicios económicos, materiales o sobre datos, provocados por el uso de la información reutilizada.
    • El ECIT no garantiza la continuidad en la puesta a disposición de los datos reutilizables, ni en contenido ni en forma, ni asume responsabilidades por cualquier error u omisión contenido en ellos.
    • Responsabilidad del agente reutilizador
      • El agente reutilizador se halla sometido a la normativa aplicable en materia de reutilización de la información del sector público, incluyendo el régimen sancionador previsto en el artículo 11 de la Ley 37/2007, de 16 de noviembre, sobre Reutilización de la Información del Sector Público.
  6. Esta licencia de uso se rige por las leyes españolas independientemente del entorno legal del usuario. Cualquier disputa que pueda surgir en la interpretación de este acuerdo se resolverá en los tribunales españoles.

Detalles Técnicos

tenerifedata está instalada en una plataforma de catálogo de datos, líder a nivel mundial, denominada CKAN (Comprehensive Knowledge Archive Network). Esta herramienta ha sido diseñada por la Open Knowledge Foundation (OKF).

La herramienta CKAN en la que se basa el presente portal, es utilizada por gobiernos y grupos de usuarios a nivel mundial y gestiona una gran variedad de webs de datos oficiales y comunitarios, para gobiernos locales -como es el caso del Cabildo de Tenerife- nacionales e internacionales.

CKAN es una solución completa de software que hace los datos accesibles y utilizables. Proporciona herramientas para encontrar, publicar, usar y compartir, incluyendo su almacenamiento y la provisión de APIs robustas.

CKAN está orientada a proveedores de datos (gobiernos nacionales y regionales, compañías y organizaciones) que los necesitan para el desarrollo de sus actividades y toma de decisiones.

CKAN es utilizada por gobiernos y grupos de usuarios a nivel mundial y gestiona una variedad de portales de datos oficiales y comunitarios, incluyendo nacionales, locales e internacionales.

tenerifedata ha usado los siguientes módulos y extensiones de CKAN:

CKAN versión 2.7.2

  • CKAN dcat extension

  • CKAN Archiver extension

  • CKAN Data Preview extension

  • CKAN Spatial extension


Tutorial

Pulse el botón Map para mostrar el mapa

Introduzca el texto a buscar en todo el conjunto de datos devuelto


Mapa con el marcador


Si el marcador no se ve pulse el checkbox "Cluster Markers"

Si se devuelve más de un resultado se muestran todos

Buscar en el Grid

Introduzca el texto a buscar en todo el conjunto de datos devuelto

Buscar en el Grid

Activar/Desactivar columnas a mostrar

Grid

Posibilidad de cambiar el número de registros mostrado por el paginador

Paginador

API JAVA

Para obtener la información contenida en el portal, además de la interfaz gráfica se pueden utilizar llamadas a la API de CKAN para obtener toda la información contenida en el portal. A continuación se explican los pasos a seguir para obtener, tanto información general como información> específica, así como una explicación de los datos obtenidos.

Antes, sería bueno recordar cómo se organiza el portal. Si pensamos en una estructura descendente top-down, el primer elemento serían las organizaciones. En ellas se definen los diferentes grupos (tener en cuenta que hasta la versión actual los identificadores de los grupos deben ser diferentes aunque se repitan en diferentes organizaciones).

En cada grupo se definen los datasets (conjuntos de datos), que además pueden pertenecer a varios grupos.

En cada dataset se pueden definir uno o varios recursos, por ejemplo en http://www.tenerifedata.com/dataset/informacion-por-municipios, se ha definido la información tanto en formato geojson y Excel.

Teniendo en cuenta lo anterior vamos a mostrar cómo obtener la información de primer nivel y a continuación ir ajustando la búsqueda de información. De esta manera seremos capaces de acceder a la información particular y general que deseemos.

El tratamiento de los objetos json devueltos se puede realizar con cualquiera de las diversas librerías disponibles.

Obtener los grupos del portal

Utilizamos la siguiente llamada a la API:

http://www.tenerifedata.com/api/3/action/group_list

Obtenemos la siguiente información, objeto json con tres campos. Si success es true hemos obtenido resultados, result devuelve un vector con todos los grupos.

{

help: "Return a list of the names of the site's groups.
success: true,
result:
[
"bienestar-social",
"comercios",
"demografia",
"dossieres-prensa",
"indicadores-economicos",
"industria",
"medio-ambiente",
"mercado-laboral",
"movilidad",
"turismo"
]

}

Con esta simple url obtenemos los nombres, que a su vez son los identificadores de los grupos (bienestar-social, comercios, demografía, etc….).
El código sería por ejemplo el siguiente:


BufferedReader reader = null;
String urlString = "http://www.tenerifedata.com/api/3/action/group_list";
URL url = new URL(urlString);
reader = new BufferedReader(new InputStreamReader(url.openStream()));

Obtener la información del grupo comercio

Utilizamos la siguiente llamada a la API:

http://www.tenerifedata.com/api/3/action/group_show?id=comercio

Obtenemos la siguiente información, objeto json con tres campos. Si success es true hemos obtenido resultados, result devuelve un vector con todos los grupos.

{
help: "Return the details of a group.",
success: true,
result:

{
users: [ ],
display_name: "Comercio",
description: "Información geolocalizada de actividades económicas, culturales, de ocio y administrativas.",
image_display_url: "http://www.tenerifedata.com/uploads/group/20140614-162647.771212phcomercio.jpg",
title: "Comercio",
package_count: 0,
created: "2014-06-14T18:18:59.024424",
approval_status: "approved",
is_organization: false,
state: "deleted",
extras: [ ],
image_url: "20140614-162647.771212phcomercio.jpg",
groups: [ ],
num_followers: 0,
revision_id: "e1dd8ed4-d2be-4e97-8f9e-5162652cc7a3",
packages: [ ],
type: "group",
id: "1e80a45a-e9e5-4285-8ebc-e709c0cb922a",
tags: [ ],
name: "comercio"
}

}

Con este simple ejemplo obtenemos un objeto json con toda la información de este grupo concreto como puede ser:

  • Título: title: Comercio
  • Descripción: Description: Descripción del grupo
  • Fecha de creación (con formato ISO): created: 2014-06-14T18:18:59.024424
  • Etc.

BufferedReader reader = null;

String urlString = " http://www.tenerifedata.com/api/3/action/group_show?id=comercio ";

URL url = new URL(urlString);

reader = new BufferedReader(new InputStreamReader(url.openStream()));

Obtener conjuntos de datos (datasets) del portal

Utilizamos la siguiente llamada a la API:

http://www.tenerifedata.com/api/3/action/package_list

BufferedReader reader = null;

String urlString = "http://www.tenerifedata.com/api/3/action/package_list";

URL url = new URL(urlString);

reader = new BufferedReader(new InputStreamReader(url.openStream()));

Obtenemos la siguiente información, objeto json con tres campos. Si success es true hemos obtenido resultados, result devuelve un vector con todos los datasets del portal

{
help: "Return a list of the names of the site's datasets (packages). ",
success: true,
result:

[
"afiliacion-a-la-seguridad-social",
"censo",
"censo-agrario-1999",
"censo-agrario-2009",
"censo-de-poblacion-y-viviendas-2011",
"censos-agrarios-1982-1999",
"ci",
"cifras-censales",
"comercio-y-alimentacion",
"contratos",
"cuentas-economicas",
"demandantes-de-empleo",
"empresas-y-actividades-en-poligonos-industriales",
"empresas-y-centros-de-trabajo",
"encuesta-de-poblacion-activa-epa",
"estadistica-agraria-de-tenerife",
"estadisticas-de-empleo-registrado",
"flores-esquejes-y-plantas",
"hosteleria-y-restauracion",
"iass-recursos-sanitarios-y-atencion-social",
"indices-de-ocupacion-por-categoria-y-zona",
"industria",
"informacion-por-municipios",
"medicina-y-salud",
"movimiento-natural-de-la-poblacion",
"nomenclator-de-poblacion-tenerife",
"parque-vehiculos",
"pernoctaciones-por-categoria-y-zona",
"platano",
"plazas-de-alojamientos-por-categoria-y-zona",
"poligonos-industriales",
"precios-consumo-e-inversion",
"prensa-economica-nacional",
"prensa-economica-regional",
"prensa-economica-turismo",
"produccion-vitivinicola",
"productos-hortofruticolas",
"titsa-informacion-sobre-sistema-de-transporte",
"transporte",
"transporte-aereo",
"transporte-maritimo",
"turismo",
"turistas-alojados-por-categoria-y-zona",
"turistas-alojados-por-municipios"

]
}


Obtener los recursos para un dataset concreto

Utilizamos la siguiente llamada a la API:

http://www.tenerifedata.com/api/3/action/package_show?id=medicina-y-salud

BufferedReader reader = null;

String urlString = "http://www.tenerifedata.com/api/3/action/package_show?id=medicina-y-salud";

URL url = new URL(urlString);

reader = new BufferedReader(new InputStreamReader(url.openStream()));

En este objeto obtenemos los recursos para este dataset concreto. De nuevo tenemos help, success y result. Se ha recortado porque no es necesario mostrarlos todos para ilustrar este ejemplo.

En result, hay un vector llamado resources con una lista de los recursos y todo tipo de información.

Para acceder al recurso necesitamos el campo url, que proporciona la ubicación del fichero con la información

{
help: "Return the metadata of a dataset (package) and its resources.",
success: true,
result:

{
license_title: "Creative Commons Attribution",
maintainer: "",
relationships_as_object: [ ],
private: false,
maintainer_email: "",
revision_timestamp: "2016-03-29T10:02:17.022113",
id: "d1826fd4-38e1-4e9a-a01e-560e035690e4",
metadata_created: "2014-07-15T08:59:54.381651",
metadata_modified: "2016-03-29T10:02:17.023637",
author: "Cabildo Insular de Tenerife",
author_email: "",
state: "active",
version: "",
creator_user_id: "6af82965-4e51-4fff-b011-c8b044ed910f",
type: "dataset",
resources:

[
{
resource_group_id: "82de018e-8bd5-4584-ba5b-275300a5bbeb",
cache_last_updated: null,
revision_timestamp: "2014-07-15T09:05:38.180599",
webstore_last_updated: null,
id: "593a55e3-fe09-46b8-aaf8-8ce654744639",
size: null,
state: "active",
hash: "",
description: "",
format: "geojson",
tracking_summary:

{
total: 0,
recent: 0

},
last_modified: null,
url_type: "upload",
mimetype: null,
cache_url: null,
name: "Centros de salud",
created: "2014-07-15T11:00:58.162465", url: "http://www.tenerifedata.com/dataset/d1826fd4-38e1-4e9a-a01e-560e035690e4/resource/593a55e3-fe09-46b8-aaf8-8ce654744639/download/centrosdesalud.geojson",
webstore_url: null,
mimetype_inner: null,
position: 0,
revision_id: "e0d03d59-3465-4e2c-bcd8-df714138543a",
resource_type: null
},

{
resource_group_id: "82de018e-8bd5-4584-ba5b-275300a5bbeb",
cache_last_updated: null,
revision_timestamp: "2014-07-15T09:15:28.676196",
webstore_last_updated: null,
id: "fff4fbbe-ecfd-445c-b4cc-6ed7152a07bf",
size: null,
state: "active",
hash: "",
description: "",
format: "geojson",
tracking_summary:

{
total: 0,
recent: 0

},

last_modified: null,
url_type: "upload",
mimetype: null,
cache_url: null,
name: "Farmacias",
created: "2014-07-15T11:14:58.060523",
url: "http://www.tenerifedata.com/dataset/d1826fd4-38e1-4e9a-a01e-560e035690e4/resource/fff4fbbe-ecfd-445c-b4cc-6ed7152a07bf/download/farmacias.geojson",
webstore_url: null,
mimetype_inner: null,
position: 1,
revision_id: "0b388f88-9b05-46d5-a0ea-2e954c342a8d",
resource_type: null
},

],

license_id: "cc-by",
relationships_as_subject: [ ],
num_tags: 1,
organization: null,
name: "medicina-y-salud",
isopen: true,
url: "http://www.tenerifecomercio.com",
notes: "Información georeferenciada y listados de centros de salud, farmacias, clínicas dentales y otros servicios sanitarios",
owner_org: null,
extras: [ ],
license_url: "http://www.opendefinition.org/licenses/cc-by",
title: "Medicina y salud",
revision_id: "0e9ef3ab-f955-4a8e-a962-4ba47c0d2ef0"
}

}

API PYTHON

Para obtener la información contenida en el portal, además de la interfaz gráfica se pueden utilizar llamadas a la API de CKAN para obtener toda la información contenida en el portal. A continuación se explican los pasos a seguir para obtener, tanto información general como información> específica, así como una explicación de los datos obtenidos.

Antes, sería bueno recordar cómo se organiza el portal. Si pensamos en una estructura descendente top-down, el primer elemento serían las organizaciones. En ellas se definen los diferentes grupos (tener en cuenta que hasta la versión actual los identificadores de los grupos deben ser diferentes aunque se repitan en diferentes organizaciones).

En cada grupo se definen los datasets (conjuntos de datos), que además pueden pertenecer a varios grupos.

En cada dataset se pueden definir uno o varios recursos, por ejemplo en http://www.tenerifedata.com/dataset/informacion-por-municipios, se ha definido la información tanto en formato geojson y Excel.

Teniendo en cuenta lo anterior vamos a mostrar cómo obtener la información de primer nivel y a continuación ir ajustando la búsqueda de información. De esta manera seremos capaces de acceder a la información particular y general que deseemos.

El tratamiento de los objetos json devueltos se puede realizar con cualquiera de las diversas librerías disponibles.

Obtener los grupos del portal

Utilizamos la siguiente llamada a la API:

http://www.tenerifedata.com/api/3/action/group_list

Obtenemos la siguiente información, objeto json con tres campos. Si success es true hemos obtenido resultados, result devuelve un vector con todos los grupos.

{

help: "Return a list of the names of the site's groups.
success: true,
result:
[
"bienestar-social",
"comercios",
"demografia",
"dossieres-prensa",
"indicadores-economicos",
"industria",
"medio-ambiente",
"mercado-laboral",
"movilidad",
"turismo"
]

}

Con esta simple url obtenemos los nombres, que a su vez son los identificadores de los grupos (bienestar-social, comercios, demografía, etc….).
El código sería por ejemplo el siguiente:


url_datasets = 'http://www.tenerifedata.com/api/3/action/group_list'
response = urllib.urlopen(url_datasets)
json_obj = json.load(response)
pprint.pprint(json_obj)

Obtener la información del grupo comercio

Utilizamos la siguiente llamada a la API:

http://www.tenerifedata.com/api/3/action/group_show?id=comercio

Obtenemos la siguiente información, objeto json con tres campos. Si success es true hemos obtenido resultados, result devuelve un vector con todos los grupos.

{
help: "Return the details of a group.",
success: true,
result:

{
users: [ ],
display_name: "Comercio",
description: "Información geolocalizada de actividades económicas, culturales, de ocio y administrativas.",
image_display_url: "http://www.tenerifedata.com/uploads/group/20140614-162647.771212phcomercio.jpg",
title: "Comercio",
package_count: 0,
created: "2014-06-14T18:18:59.024424",
approval_status: "approved",
is_organization: false,
state: "deleted",
extras: [ ],
image_url: "20140614-162647.771212phcomercio.jpg",
groups: [ ],
num_followers: 0,
revision_id: "e1dd8ed4-d2be-4e97-8f9e-5162652cc7a3",
packages: [ ],
type: "group",
id: "1e80a45a-e9e5-4285-8ebc-e709c0cb922a",
tags: [ ],
name: "comercio"
}

}

Con este simple ejemplo obtenemos un objeto json con toda la información de este grupo concreto como puede ser:

  • Título: title: Comercio
  • Descripción: Description: Descripción del grupo
  • Fecha de creación (con formato ISO): created: 2014-06-14T18:18:59.024424
  • Etc.

url_datasets = 'http://www.tenerifedata.com/api/3/action/group_show?id=comercio'

response = urllib.urlopen(url_datasets)

json_obj = json.load(response)

pprint.pprint(json_obj)

Obtener conjuntos de datos (datasets) del portal

Utilizamos la siguiente llamada a la API:

http://www.tenerifedata.com/api/3/action/package_list

BufferedReader reader = null;

String urlString = "http://www.tenerifedata.com/api/3/action/package_list";

URL url = new URL(urlString);

reader = new BufferedReader(new InputStreamReader(url.openStream()));

Obtenemos la siguiente información, objeto json con tres campos. Si success es true hemos obtenido resultados, result devuelve un vector con todos los datasets del portal

{
help: "Return a list of the names of the site's datasets (packages). ",
success: true,
result:

[
"afiliacion-a-la-seguridad-social",
"censo",
"censo-agrario-1999",
"censo-agrario-2009",
"censo-de-poblacion-y-viviendas-2011",
"censos-agrarios-1982-1999",
"ci",
"cifras-censales",
"comercio-y-alimentacion",
"contratos",
"cuentas-economicas",
"demandantes-de-empleo",
"empresas-y-actividades-en-poligonos-industriales",
"empresas-y-centros-de-trabajo",
"encuesta-de-poblacion-activa-epa",
"estadistica-agraria-de-tenerife",
"estadisticas-de-empleo-registrado",
"flores-esquejes-y-plantas",
"hosteleria-y-restauracion",
"iass-recursos-sanitarios-y-atencion-social",
"indices-de-ocupacion-por-categoria-y-zona",
"industria",
"informacion-por-municipios",
"medicina-y-salud",
"movimiento-natural-de-la-poblacion",
"nomenclator-de-poblacion-tenerife",
"parque-vehiculos",
"pernoctaciones-por-categoria-y-zona",
"platano",
"plazas-de-alojamientos-por-categoria-y-zona",
"poligonos-industriales",
"precios-consumo-e-inversion",
"prensa-economica-nacional",
"prensa-economica-regional",
"prensa-economica-turismo",
"produccion-vitivinicola",
"productos-hortofruticolas",
"titsa-informacion-sobre-sistema-de-transporte",
"transporte",
"transporte-aereo",
"transporte-maritimo",
"turismo",
"turistas-alojados-por-categoria-y-zona",
"turistas-alojados-por-municipios"

]
}


Obtener los recursos para un dataset concreto

Utilizamos la siguiente llamada a la API:

http://www.tenerifedata.com/api/3/action/package_show?id=medicina-y-salud

url_datasets = 'http://www.tenerifedata.com/api/3/action/package_show?id=medicina-y-salud'

response = urllib.urlopen(url_datasets)

json_obj = json.load(response)

pprint.pprint(json_obj)

En este objeto obtenemos los recursos para este dataset concreto. De nuevo tenemos help, success y result. Se ha recortado porque no es necesario mostrarlos todos para ilustrar este ejemplo.

En result, hay un vector llamado resources con una lista de los recursos y todo tipo de información.

Para acceder al recurso necesitamos el campo url, que proporciona la ubicación del fichero con la información

{
help: "Return the metadata of a dataset (package) and its resources.",
success: true,
result:

{
license_title: "Creative Commons Attribution",
maintainer: "",
relationships_as_object: [ ],
private: false,
maintainer_email: "",
revision_timestamp: "2016-03-29T10:02:17.022113",
id: "d1826fd4-38e1-4e9a-a01e-560e035690e4",
metadata_created: "2014-07-15T08:59:54.381651",
metadata_modified: "2016-03-29T10:02:17.023637",
author: "Cabildo Insular de Tenerife",
author_email: "",
state: "active",
version: "",
creator_user_id: "6af82965-4e51-4fff-b011-c8b044ed910f",
type: "dataset",
resources:

[
{
resource_group_id: "82de018e-8bd5-4584-ba5b-275300a5bbeb",
cache_last_updated: null,
revision_timestamp: "2014-07-15T09:05:38.180599",
webstore_last_updated: null,
id: "593a55e3-fe09-46b8-aaf8-8ce654744639",
size: null,
state: "active",
hash: "",
description: "",
format: "geojson",
tracking_summary:

{
total: 0,
recent: 0

},
last_modified: null,
url_type: "upload",
mimetype: null,
cache_url: null,
name: "Centros de salud",
created: "2014-07-15T11:00:58.162465", url: "http://www.tenerifedata.com/dataset/d1826fd4-38e1-4e9a-a01e-560e035690e4/resource/593a55e3-fe09-46b8-aaf8-8ce654744639/download/centrosdesalud.geojson",
webstore_url: null,
mimetype_inner: null,
position: 0,
revision_id: "e0d03d59-3465-4e2c-bcd8-df714138543a",
resource_type: null
},

{
resource_group_id: "82de018e-8bd5-4584-ba5b-275300a5bbeb",
cache_last_updated: null,
revision_timestamp: "2014-07-15T09:15:28.676196",
webstore_last_updated: null,
id: "fff4fbbe-ecfd-445c-b4cc-6ed7152a07bf",
size: null,
state: "active",
hash: "",
description: "",
format: "geojson",
tracking_summary:

{
total: 0,
recent: 0

},

last_modified: null,
url_type: "upload",
mimetype: null,
cache_url: null,
name: "Farmacias",
created: "2014-07-15T11:14:58.060523",
url: "http://www.tenerifedata.com/dataset/d1826fd4-38e1-4e9a-a01e-560e035690e4/resource/fff4fbbe-ecfd-445c-b4cc-6ed7152a07bf/download/farmacias.geojson",
webstore_url: null,
mimetype_inner: null,
position: 1,
revision_id: "0b388f88-9b05-46d5-a0ea-2e954c342a8d",
resource_type: null
},

],

license_id: "cc-by",
relationships_as_subject: [ ],
num_tags: 1,
organization: null,
name: "medicina-y-salud",
isopen: true,
url: "http://www.tenerifecomercio.com",
notes: "Información georeferenciada y listados de centros de salud, farmacias, clínicas dentales y otros servicios sanitarios",
owner_org: null,
extras: [ ],
license_url: "http://www.opendefinition.org/licenses/cc-by",
title: "Medicina y salud",
revision_id: "0e9ef3ab-f955-4a8e-a962-4ba47c0d2ef0"
}

}