Changeset a42c5ad in observatorio


Ignore:
Timestamp:
Aug 20, 2014, 6:05:00 PM (10 years ago)
Author:
Ing. Roldan Vargas <rvargas@…>
Branches:
master
Children:
7a85b9a
Parents:
53a40d6
Message:

agregada función para el control de datos geoespaciales desde GeoDjango?, y se incorpora función de vista para la consulta y posterior creación de capas correspondientes a los indicadores estadísticos

File:
1 edited

Legend:

Unmodified
Added
Removed
  • procesos/apps/geocadena/views.py

    r644582b ra42c5ad  
    2929from cadenas.models import Directorio2005, Encuesta
    3030from divisionTerritorial import estados
     31from models import LayerDivisionEstadal, LayerDivisionMunicipal, LayerDivisionParroquial, LayerRedi, RelacionRediEntidad
    3132
    3233
     
    444445
    445446    return HttpResponse(content_type='text/plain')
     447
     448
     449#===
     450# Vistas sobre los indicadores estadísticos implementados en la georeferencia dentro del Sistema de Información
     451# Geográfico
     452#===
     453@login_required()
     454def indicador_estadistico(request):
     455    """!
     456    Permite validar y mostrar los datos sobre los indicadores estadísticos a georeferenciar
     457
     458    @author Ing. Roldan D. Vargas G. rvargas@cenditel.gob.ve
     459    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) nodo Mérida
     460    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     461    @date 19-08-2014
     462    @pre Requiere auntenticación del usuario e información registrada en el SIGESIC, así como información estadística
     463        suministrada por el Instituto Nacional de Estadística INE
     464    @param request  Variable de tipo JSON que contiene los datos de petición al servidor
     465    @return Información relacionada sobre el indicador estadístico consultado para la representación geográfica del
     466        mismo
     467    """
     468    indicador = request.GET.get('indicador', None)
     469    anho = request.GET.get('anho', None)
     470    semestre = request.GET.get('semestre', None)
     471    actividad_ciiu = request.GET.get('actividad_ciiu', None)
     472    area_cobertura = request.GET.get('area_cobertura', None)
     473
     474    if indicador and anho and semestre and area_cobertura:
     475        field, qs = "", []  # Inicializacion de variables
     476
     477        if area_cobertura == "p":
     478            qs = LayerDivisionParroquial.objects.all()
     479        elif area_cobertura == "m":
     480            qs = LayerDivisionMunicipal.objects.all()
     481        elif area_cobertura == "e":
     482            qs = LayerDivisionEstadal.objects.all()
     483        elif area_cobertura == "r":
     484            qs = LayerRedi.objects.all()
     485
     486        if indicador == "1" and actividad_ciiu and actividad_ciiu.__len__() <= 4:
     487            ## Condición que evalúa si se desea consulta el indicador correspondiente al número de empleos generados
     488            # por las empresas registradas en el SIGESIC según la actividad económica indicada
     489            empresas = Unidad_Economica.objects.filter(actividad_ciiu__ciiu=actividad_ciiu)
     490            if area_cobertura == "e":
     491                qs = qs.filter(cod_estado__in=[emp.parroquia.municipio.entidad.codigo for emp in empresas])
     492            elif area_cobertura == "r":
     493                qs = qs.filter(relacionredientidad__entidad__in=[emp.parroquia.municipio.entidad.codigo
     494                                                                 for emp in empresas]).distinct("geom")
     495            else:
     496                qs = qs.none()
     497        elif indicador == "2":
     498            ## Condición que evalúa si se desea consulta el indicador correspondiente a la proporción del número de
     499            # empleos generados por las empresas registradas en el SIGESIC, respecto al número de empleos registrados
     500            #  por las empresas a nivel nacional
     501            empresas = Unidad_Economica.objects.all()
     502        elif indicador == "3":
     503            ## Condición que evalúa si se desea consulta el indicador correspondiente a la población económicamente
     504            # activa según datos estadísticos del Instituto Nacional de Estadística (INE)
     505            pass
     506        elif indicador == "4":
     507            ## Condición que evalúa si se desea consulta el indicador correspondiente a la tasa de desempleo según
     508            # datos estadísticos del Instituto Nacional de Estadística (INE)
     509            pass
     510        elif indicador == "5":
     511            ## Condición que evalúa si se desea consulta el indicador correspondiente al índice de especialización de
     512            #  las empresas registradas en el SIGESIC
     513            pass
     514        elif indicador == "6":
     515            ## Condición que evalúa si se desea consulta el indicador correspondiente a la proporción de la
     516            # producción en cada región, respecto al total registrado en el SIGESIC
     517            pass
     518        elif indicador == "7":
     519            ## Condición que evalúa si se desea consulta el indicador correspondiente al consumo intermedio
     520            # necesarios para la producción de bienes finales
     521            pass
     522        elif indicador == "8":
     523            ## Condición que evalúa si se desea consulta el indicador correspondiente al índice nacional de precios
     524            # al consumidor de las principales ciudades del pais según datos estadísticos del Instituto Nacional de
     525            # Estadística (INE)
     526            pass
     527        elif indicador == "9":
     528            ## Condición que evalúa si se desea consulta el indicador correspondiente a la proporción de bienes
     529            # intermedios importados requeridos para la producción de las empresas registradas en el SIGESIC
     530            pass
     531        else:
     532            return HttpResponse(content_type='text/plain')
     533
     534        return HttpResponse(str(GeoJSONSerializer().serialize(qs, use_natural_keys=True,
     535                                                              properties={'field_name': field})),
     536                            content_type="text/plain")
     537
     538
     539    return HttpResponse(content_type='text/plain')
Note: See TracChangeset for help on using the changeset viewer.