Changeset da0ad50 in observatorio


Ignore:
Timestamp:
Oct 20, 2014, 11:05:12 AM (10 years ago)
Author:
Ing. Roldan Vargas <rvargas@…>
Branches:
master
Children:
c1f41e4, 24668a6
Parents:
59fecc6
Message:

correcciones e incorporación de logs con detalles en la generación de la georeferencia de la cadena productiva

File:
1 edited

Legend:

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

    r59fecc6 rda0ad50  
    632632
    633633                            coordxy = getCoordenadas(ue)
    634                             dict_cadena['geom'] = 'POINT(%s %s)' % (str(coordxy[0]), str(coordxy[1]))
     634                            if coordxy.__len__() == 2:
     635                                dict_cadena['geom'] = 'POINT(%s %s)' % (str(coordxy[0]), str(coordxy[1]))
    635636                        else:
    636637                            # Si no es posible establecer los datos de la Unidad Económica, se procede a verificar el
     
    656657                        for p in g.nodes():
    657658                            pr += produce % p.attr['label']
    658                         dict_cadena['produce'] = "<ul>%s</ul>" % pr
    659 
    660                     logger.info("Registrando datos en BD del grafo %s" % grafo_id)
    661                     self.model.objects.create(**dict_cadena)
     659
     660                        if pr != '':
     661                            logger.info(u"Estableciendo datos de la producción para la U.E. %s" % g.node_attr['label'])
     662                            dict_cadena['produce'] = "<ul>%s</ul>" % pr
     663
     664                    if 'geom' in dict_cadena:
     665                        logger.info("Registrando datos en BD del grafo %s para la U.E. %s"
     666                                    % (grafo_id, g.node_attr['label']))
     667                        self.model.objects.create(**dict_cadena)
     668                    else:
     669                        logger.warning(u"No se pudo obtener datos de referencia geoespacial para la U.E. %s"
     670                                       % g.node_attr['label'])
    662671
    663672                # Instrucción que recorre la cadena de producción para obtener las relaciones entre los nodos a
     
    703712                        logger.info(u"Estableciendo conexión entre las Unidades Económicas [%s] y [%s] en las "
    704713                                    u"coordenadas [%s] y [%s] respectivamente" % (ue_ini, ue_fin, coord_ini, coord_fin))
    705                         conexion = "LINESTRING(%s %s, %s %s)" % (
    706                             str(coord_ini[0]), str(coord_ini[1]), str(coord_fin[0]), str(coord_fin[1])
    707                         )
    708                         conex = 'D'
    709                         if [i.nodes()[0].attr['color'] for i in grafo.subgraphs() if con[1] in i.nodes()][0] == "cyan":
    710                             conex = 'U'
    711 
    712                         ConexionCadenaProduccion.objects.create(
    713                             grafo_id=grafo_id, sentido=conex,
    714                             geom=conexion, nivel=0
    715                         )
     714
     715                        if coord_ini.__len__() == 2 and coord_fin.__len__() == 2:
     716                            conexion = "LINESTRING(%s %s, %s %s)" % (
     717                                str(coord_ini[0]), str(coord_ini[1]), str(coord_fin[0]), str(coord_fin[1])
     718                            )
     719                            conex = 'D'
     720                            if [i.nodes()[0].attr['color'] for i in grafo.subgraphs() if con[1] in i.nodes()][0] == "cyan":
     721                                conex = 'U'
     722
     723                            ConexionCadenaProduccion.objects.create(
     724                                grafo_id=grafo_id, sentido=conex,
     725                                geom=conexion, nivel=0
     726                            )
     727                        else:
     728                            logger.warning(u"No se pudo determinar las coordenadas de una de las Unidades Económicas. "
     729                                           u"Los datos obtenidos de las mismas son: %s y %s" % (coord_ini, coord_fin))
    716730
    717731                    except Exception, e:
Note: See TracChangeset for help on using the changeset viewer.