Skip to content

MisaelCast/proyecto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proyecto: Mapa de Calor de Empleos en Baja California

Status Version

Link: https://github.com/MisaelCast/proyecto.git
Author(s): Misael Castillo
Status: Draft
Última actualización: 2025-12-08

Vista Previa del Mapa


🎯 Goals

  • Desarrollar un servicio backend que analice los datos de empleo por municipio en Baja California.
  • Visualizar en un mapa de calor la concentración de empleos según las coordenadas (latitud, longitud) y el número de trabajadores
  • Permitir consultas dinámicas (por municipio o tipo de actividad).

🚫 Non-Goals

  • No se implementará un sistema de autenticación ni permisos de usuarios.
  • No se editarán ni eliminarán registros desde la aplicación.
  • No se incluirán predicciones ni análisis de inteligencia artificial.

🧩 Background

Los datos provienen de registros del inegi en Baja California, que incluyen:

  • Municipio
  • Tipo de actividad económica
  • Personal ocupado
  • Coordenadas geográficas
  • Información de contacto

El proyecto busca resolver este problema mediante una representación visual intuitiva.

--

🧠 Overview

Este proyecto es una aplicación Full-Stack de visualización de datos.

Se ha diseñado una arquitectura que separa la lógica de procesamiento de datos de la interfaz de usuario:

  • Backend (API):
    Servidor que carga la base de datos en memoria, procesa los rangos de empleo para asignar un peso numérico y expone endpoints JSON.

  • Frontend (UI):
    Interfaz web interactiva que consume la API, gestiona los filtros del usuario y renderiza el mapa utilizando capas de superposición (Deck.gl) sobre mapas base oscuros (Carto) para resaltar la intensidad de la actividad económica.


🧰 Tecnologías

  • Python 3.12+
  • Flask: Framework para la creación de la API RESTful.
  • Pandas: Limpieza, transformación y filtrado de datos.
  • OpenPyXL: Lectura de archivos Excel (.xlsx).

🚀 Instalación y Ejecución

1. Prerrequisitos

  • Tener instalado Python.
  • Asegurar que el archivo de datos db.xlsx esté en la carpeta raíz del proyecto.

2. Configuración del Entorno

# Crear entorno virtual
python -m venv .venv

# Activar entorno (Windows)
.\.venv\Scripts\activate

# Instalar dependencias
pip install flask streamlit pandas pydeck openpyxl requests

3. Ejecución (Requiere 2 Terminales)

Terminal 1: Levantar el Backend

python backend.py

Servidor disponible en: http://127.0.0.1:5000

Terminal 2: Levantar el Frontend

streamlit run app.py

📡 Documentación de la API

1. Obtener Opciones de Filtro

Retorna listas únicas de municipios y actividades.

Endpoint: GET /api/opciones

Respuesta:

{
  "municipios": ["Ensenada", "Tijuana"],
  "actividades": ["Comercio", "Pesca"]
}

2. Consultar Empleos (Filtrado)

Retorna datos geoespaciales y peso ponderado.

Endpoint: GET /api/empleos

Query Params:

  • municipio
  • actividad

Ejemplo:

/api/empleos?municipio=Ensenada&actividad=Pesca

Respuesta:

[
  {
    "nom_estab": "Nombre Negocio",
    "latitud": 31.86,
    "longitud": -116.60,
    "peso_empleo": 75.0,
    "per_ocu": "51 a 100 personas"
  }
]

⚙️ Lógica de Ponderación (Data Processing)

Para generar el mapa de calor, los rangos textuales del INEGI se transforman a valores numéricos aproximados:

Rango INEGI Peso Asignado
0 a 5 personas 3
6 a 10 personas 8
11 a 30 personas 20
31 a 50 personas 40
51 a 100 personas 75
101 a 250 personas 150
251 y más personas 300

Este enfoque permite que los negocios con mayor personal tengan mayor impacto visual en el mapa de calor.

About

Mapa de calor económico de Baja California basado en datos del INEGI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages