|
5 | 5 |
|
6 | 6 | Repositorio OSINT para centralizar datos HVD de **Las Palmas de Gran Canaria**. |
7 | 7 |
|
8 | | -## Fuentes |
| 8 | +## Uso rápido |
9 | 9 |
|
10 | | -| Fuente | Tipo | Datasets | Acceso | |
11 | | -|--------|------|----------|--------| |
12 | | -| **ISTAC** (datos.canarias.es) | CKAN + REST API | ~22K datasets | CSV/TSV/JSON vía API REST | |
13 | | -| **Ayuntamiento LPGC** (datosabiertos.laspalmasgc.es) | WordPress/Viavansi | ~200 datasets | DCAT RDF + CKAN DataStore API | |
14 | | -| **SITCAN** (opendata.sitcan.es) | CKAN geo | 174 datasets | Descarga ZIP (SHP) | |
15 | | -| **Eurostat** | SDMX | 28 datasets NUTS-3 | MCP connector | |
16 | | -| **osint-canarias** (repo local) | ETL propio | Turismo elaborado | Parquet listo | |
17 | | - |
18 | | -## Cobertura actual |
19 | | - |
20 | | -| Dominio | Dataset | Registros | Período | Granularidad | Fuente | |
21 | | -|---------|---------|-----------|---------|-------------|--------| |
22 | | -| Población | Serie histórica | 114 | 1986-2025 | municipio | ISTAC | |
23 | | -| Demografía | Indicadores | 15 | 2008-2022 | municipio | ISTAC | |
24 | | -| Población | Por sección censal (edad, sexo, origen) | 275 | 2022 | sección | WFS ISTAC | |
25 | | -| Empleo | Paro por sexo/edad | 7.260 | 2008-03 → 2026-06 | municipio, mensual | ISTAC | |
26 | | -| Empleo | Paro por sexo/ocupación | 6.105 | 2011-02 → 2026-06 | municipio, mensual | ISTAC | |
27 | | -| Transporte | GTFS rutas | 47 | 2026 | línea | Ayto LPGC | |
28 | | -| Transporte | GTFS viajes | 6.250 | 2026 | viaje | Ayto LPGC | |
29 | | -| Transporte | GTFS horarios | 151.551 | 2026 | parada/viaje | Ayto LPGC | |
30 | | -| Transporte | GTFS calendario | 9 | 2015-2025 | servicio | Ayto LPGC | |
31 | | -| Transporte | Sitycleta bike stations | 11 | 2018 | estación | Ayto LPGC | |
32 | | -| Turismo | Ocupación hotelera | 45 | 2009-2023 | LPGC + categoría | ISTAC | |
33 | | -| Turismo | Pernoctaciones | 197 | 2010-2026 | Gran Canaria, mensual | ISTAC | |
34 | | -| Turismo | Gasto turístico | 96 | 2010-2017 | Canarias, por país | ISTAC | |
35 | | -| Economía | Renta bruta por municipio | 45 | 2015-2023 | LPGC por fuente | ISTAC | |
36 | | -| Economía | Renta bruta por sección censal | 12.395 | 2015-2023 | 281 secciones LPGC | ISTAC | |
37 | | -| Seguridad | Atestados accidentes | 76.178 | 1998-2016 | LPGC, calle | Ayto LPGC | |
38 | | -| Seguridad | Atestados heridos | 45.488 | 1998-2016 | LPGC, edad/sexo/gravedad | Ayto LPGC | |
39 | | -| Seguridad | Atestados vehículos | 148.650 | 1998-2016 | LPGC, marca/modelo | Ayto LPGC | |
40 | | -| Urbanismo | PGO Plan General | 6.608 | 2012 | polígono (ZUSO) | SITCAN | |
41 | | -| Urbanismo | PGO catalogación | 821 | 2012 | elemento protegido | SITCAN | |
42 | | -| Urbanismo | Planes parciales | 28 planes GIS | 1994-2024 | polígono (ZUSO) | SITCAN | |
43 | | -| Geografía | Distritos (geometría + indicadores) | 5 | 2022 | distrito | WFS ISTAC | |
44 | | -| Geografía | Barrios (geometría + indicadores) | 121 | 2024 | barrio | WFS ISTAC | |
45 | | -| Geografía | Secciones censales (geometría) | 275 | 2022 | sección | WFS ISTAC | |
46 | | - |
47 | | -## Queries (41) |
48 | | - |
49 | | -| # | Query | Dominio | |
50 | | -|---|-------|---------| |
51 | | -| 001 | Tendencia población LPGC 1986-2025 | Población | |
52 | | -| 002 | Composición por sexo | Población | |
53 | | -| 003 | Población extranjera | Población | |
54 | | -| 004 | Estructura de edad (jóvenes/adultos/mayores) | Población | |
55 | | -| 005 | Tendencia mensual del paro 2008-2026 | Empleo | |
56 | | -| 006 | Paro por sexo | Empleo | |
57 | | -| 007 | Paro por edad | Empleo | |
58 | | -| 008 | Paro anual | Empleo | |
59 | | -| 009 | **Patrones temporales de accidentes** (hora/día/mes/año) | Movilidad | |
60 | | -| 010 | Líneas de guaguas | Movilidad | |
61 | | -| 011 | Viajes por línea | Movilidad | |
62 | | -| 012 | Calendario de servicio GTFS | Movilidad | |
63 | | -| 013 | **Tasa de paro juvenil (16-24) por barrio** | Empleo | |
64 | | -| 014 | **Estructura de edad por distrito** | Demografía | |
65 | | -| 015 | **Renta, verde y mercado laboral por distrito** | Economía | |
66 | | -| 016 | **Accidentes por tipo de colisión y evolución** | Movilidad | |
67 | | -| 017 | **Complementariedad guaguas × Sitycleta** | Movilidad | |
68 | | -| 018 | **Comparación temporal accidentes ↔ desempleo** | Movilidad | |
69 | | -| 019 | **Evolución tejido empresarial por tamaño** | Economía | |
70 | | -| 020 | Ocupación hotelera LPGC por categoría | Turismo | |
71 | | -| 021 | Pernoctaciones mensuales Gran Canaria | Turismo | |
72 | | -| 022 | Gasto turístico por país de origen | Turismo | |
73 | | -| 023 | **Estacionalidad turística (perfil mensual)** | Turismo | |
74 | | -| 024 | **Perfil del desempleo por grupo de edad** | Empleo | |
75 | | -| 025 | **Brecha de género en el desempleo** | Empleo | |
76 | | -| 026 | **Micro-empresas ↔ desempleo** | Economía | |
77 | | -| 027 | **Evolución autónomos LPGC (2010-2026)** | Economía | |
78 | | -| 028 | **Demanda potencial coworking** | Economía | |
79 | | -| 029 | **Distribución sectorial autónomos** | Economía | |
80 | | -| 030 | Zonificación del PGO | Urbanismo | |
81 | | -| 031 | Catálogo de protección | Urbanismo | |
82 | | -| 032 | Resumen de planeamiento | Urbanismo | |
83 | | -| 033 | Espacio verde pro-capite LPGC | Urbanismo | |
84 | | -| 034 | Renta por distrito (composición por fuente) | Economía | |
85 | | -| 035 | Barrios con mayor/menor tasa de paro | Geografía | |
86 | | -| 036 | Comparativa laboral entre distritos | Geografía | |
87 | | -| 037 | Espacios verdes por barrio | Urbanismo | |
88 | | -| 038 | Espacios verdes por distrito | Urbanismo | |
89 | | -| 039 | Paro vs renta por distrito | Economía | |
90 | | -| 040 | Evolución de la severidad de accidentes | Movilidad | |
91 | | -| 041 | **Resumen del callejero municipal** | Geografía | |
92 | | - |
93 | | -**Negrita** = queries añadidas en la sesión de julio 2026. |
94 | | - |
95 | | -## Estructura |
96 | | - |
97 | | -``` |
98 | | -laspalmas-intelligence/ |
99 | | -├── bin/ # scripts de utilidad (runner queries, status, csv2parquet) |
100 | | -├── ingest/ # scripts de descarga por fuente (ETL) |
101 | | -├── parquet/ # datos limpios en Parquet |
102 | | -│ ├── poblacion/ # población + indicadores + secciones |
103 | | -│ ├── empleo/ # paro registrado sexo/edad + sexo/ocupación |
104 | | -│ ├── economia/ # renta bruta por municipio y sección |
105 | | -│ ├── movilidad/ # GTFS + atestados policía + sitycleta |
106 | | -│ ├── turismo/ # ocupación, pernoctaciones, gasto |
107 | | -│ ├── urbanismo/ # PGO + planes parciales (GeoParquet) |
108 | | -│ └── geografia/ # distritos, barrios, secciones (GeoParquet + dimensión) |
109 | | -├── sql/ # 35 consultas DuckDB (#001-#040) |
110 | | -├── bin/ # utilidades (runner queries, status, validación, csv2parquet) |
111 | | -├── meta/ |
112 | | -│ ├── catalog.json # inventario completo de fuentes y datasets |
113 | | -│ └── next-session.md # plan para próxima sesión |
114 | | -├── explore/ # informes de análisis |
115 | | -├── .venv/ # entorno virtual Python |
116 | | -├── requirements.txt # dependencias |
117 | | -├── requirements.lock # versiones precisas |
118 | | -└── Makefile # make refresh | queries | status | validate |
| 10 | +```bash |
| 11 | +make venv # entorno virtual |
| 12 | +make refresh # descargar datos |
| 13 | +make validate # validar integridad |
| 14 | +make queries # ejecutar 41 consultas |
| 15 | +make status # resumen de datasets |
| 16 | +make all # todo lo anterior |
119 | 17 | ``` |
120 | 18 |
|
121 | | -## Uso |
| 19 | +## Documentación |
122 | 20 |
|
123 | | -```bash |
124 | | -make venv # crear entorno virtual e instalar dependencias |
125 | | -make refresh # descargar y actualizar todos los datos |
126 | | -make validate # validar integridad de datasets (rows, año, columnas) |
127 | | -make queries # ejecutar todas las consultas (41) |
128 | | -make status # resumen de datasets y filas |
129 | | -make all # venv + refresh + validate + queries + status |
130 | | -``` |
| 21 | +| Documento | Contenido | |
| 22 | +|-----------|----------| |
| 23 | +| [docs/sources.md](docs/sources.md) | Fuentes, endpoints API, scripts de ingest | |
| 24 | +| [docs/datasets.md](docs/datasets.md) | Cobertura, granularidad, períodos | |
| 25 | +| [docs/queries.md](docs/queries.md) | Catálogo completo de las 41 consultas SQL | |
| 26 | +| [docs/architecture.md](docs/architecture.md) | Estructura del repo, Makefile, CI/CD | |
| 27 | +| [meta/catalog.json](meta/catalog.json) | Inventario machine-readable de fuentes y datasets | |
| 28 | +| [explore/analisis-resultados.md](explore/analisis-resultados.md) | Informes de análisis exploratorio | |
131 | 29 |
|
132 | 30 | ## Notas técnicas |
133 | 31 |
|
134 | | -- **DuckDB v1.5.4** via Python (package pip). El CLI `duckdb` puede estar en otra versión. |
135 | | -- **Spatial extension**: `ST_Transform` requiere dos SRID + `ST_FlipCoordinates` para geometrías WGS84: |
136 | | - ```sql |
137 | | - ST_Transform(ST_FlipCoordinates(geom), 'EPSG:4326', 'EPSG:32628') |
138 | | - ``` |
139 | | -- **Makefile** usa `$(VENV)/bin/python3` para garantizar el entorno correcto. |
140 | | -- Los scripts en `ingest/` son ETL independientes (cada uno descarga una fuente). |
141 | | -- Los scripts en `bin/` son utilidades transversales (runner, status, conversión). |
142 | | - |
143 | | ---- |
| 32 | +- DuckDB **v1.5.4** via Python (`.venv/bin/python3`). El CLI del sistema puede estar en otra versión. |
| 33 | +- Los scripts en `bin/` son utilidades; los de `ingest/` son ETL independientes. |
| 34 | +- `make queries` usa DuckDB v1.5.4 (no el CLI). |
144 | 35 |
|
145 | | -## Aviso legal / Disclaimer |
| 36 | +## Aviso legal |
146 | 37 |
|
147 | | -- Todos los datos aquí recolectados provienen de **fuentes públicas oficiales** (ISTAC, Ayuntamiento de Las Palmas de Gran Canaria, SITCAN, Eurostat). |
148 | | -- Este repositorio no modifica ni altera los datos originales; solo los transforma a formato Parquet para facilitar su análisis. |
149 | | -- Los datos se proporcionan **"tal cual"** (`as is`), sin garantías de exactitud, integridad o actualidad. Verifique siempre con la fuente oficial para usos críticos. |
150 | | -- Este proyecto no tiene ninguna vinculación oficial con las instituciones mencionadas. |
151 | | -- El código se distribuye bajo licencia **MIT** (ver `LICENSE`). |
| 38 | +- Todos los datos provienen de **fuentes públicas oficiales** (ISTAC, Ayuntamiento de Las Palmas de Gran Canaria, SITCAN, Eurostat). |
| 39 | +- Este repositorio no modifica los datos originales; solo los transforma a Parquet. |
| 40 | +- Los datos se proporcionan **"tal cual"** (`as is`). Verifique con la fuente oficial para usos críticos. |
| 41 | +- Código distribuido bajo licencia **MIT** (ver `LICENSE`). |
152 | 42 |
|
153 | 43 | ## Pendiente |
154 | 44 |
|
155 | | -- **Centros educativos** (ISTAC, geolocalizados) |
156 | | -- **Analítica urbana** (conteo personas mercados, live) |
157 | | -- **Eurostat NUTS-3** (PIL, GVA, crimen ES704 como contexto provincial) |
158 | | -- **Sensores calidad del aire** (Ayto LPGC, live 2026-07, 3 recursos) |
159 | | -- **Sitycleta Moxsi actual** (GeoJSON 2026 no descargable, solo 2018 disponible) |
160 | | -- **Atestados 2017+** — no publicados por el Ayuntamiento |
| 45 | +- Centros educativos (ISTAC, geolocalizados) |
| 46 | +- Sensores calidad del aire (Ayto LPGC, live) |
| 47 | +- Analítica urbana (conteo mercados) |
| 48 | +- Eurostat NUTS-3 contexto provincial (ES704) |
0 commit comments