public static function newEntityInfoInstantMet($obj, $est, $obj_mei)
 {
     $mei = new MetEstacionInstant();
     $em = $obj->getDoctrine()->getManager();
     //inicializar la instancia a cargar en la bd
     $mei->fecha = MetEstacionInstant::getFecha($obj_mei->FechaHora);
     //fecha
     $mei->temp = (double) $obj_mei->Temp;
     //temp
     $mei->tmax = (double) $obj_mei->TempMax;
     //tmax
     $mei->fmax = MetEstacionInstant::getFecha($obj_mei->TimeTempMax);
     //fmax
     $mei->tmin = (double) $obj_mei->TempMin;
     //tmin
     $mei->fmin = MetEstacionInstant::getFecha($obj_mei->TimeTempMin);
     //fmin
     $mei->hum = (double) $obj_mei->Hum;
     //hum
     $mei->RadSolar = (double) $obj_mei->SolarRad;
     //RadSolar
     $mei->pBarom = (double) $obj_mei->presion;
     //pBarom
     $mei->Lluvia = (double) $obj_mei->Lluvia;
     //Lluvia
     $mei->EvoT = (double) $obj_mei->EvoT;
     //EvoT
     $mei->SensTerm = (double) $obj_mei->SensTerm;
     //SensTerm
     $mei->MinSensTerm = $obj_mei->MinSensTerm != "" ? (double) $obj_mei->MinSensTerm : 0.0;
     //MinSensTerm
     $mei->vDir = $obj_mei->VtoDir;
     //vDir
     $mei->vVel = (double) $obj_mei->VtoVel;
     //vVel
     $mei->ptorocio = (double) $obj_mei->PtoRocio;
     //ptorocio
     $mei->ptorocio = (double) $obj_mei->PtoRocio;
     //ptorocio
     $mei->hummax = (double) $obj_mei->HumMax;
     //hummax
     $mei->fhummax = MetEstacionInstant::getFecha($obj_mei->TimeHumMax);
     //fhummax
     $mei->hummin = (double) $obj_mei->HumMin;
     //hummin
     $mei->fhummin = MetEstacionInstant::getFecha($obj_mei->TimeHumMin);
     //fhummin
     $mei->ptorociomax = (double) $obj_mei->PtoRocioMax;
     //ptorociomax
     $mei->fptorociomax = MetEstacionInstant::getFecha($obj_mei->TimePtoRocioMax);
     //fptorociomax
     $mei->ptorociomin = (double) $obj_mei->PtoRocioMin;
     //ptorociomin
     $mei->fptorociomin = MetEstacionInstant::getFecha($obj_mei->TimePtoRocioMin);
     //fptorociomin
     $mei->solarradmax = (double) $obj_mei->SolarRadMax;
     //solarradmax
     $mei->fsolarradmax = MetEstacionInstant::getFecha($obj_mei->TimeSolarRadMax);
     //fsolarradmax
     $mei->PresionTendencia = '';
     if ($obj_mei->PresionTendencia == 'Rising Rapidly') {
         $mei->PresionTendencia = 'Incremento rápido';
     }
     if ($obj_mei->PresionTendencia == 'Rising Slowly') {
         $mei->PresionTendencia = 'Incremento moderado';
     }
     if ($obj_mei->PresionTendencia == 'Steady') {
         $mei->PresionTendencia = 'Estable';
     }
     if ($obj_mei->PresionTendencia == 'Falling Slowly') {
         $mei->PresionTendencia = 'Disminución lenta';
     }
     if ($obj_mei->PresionTendencia == 'Falling Rapidly') {
         $mei->PresionTendencia = 'Disminución rápida';
     }
     if ($obj_mei->LluviaMax != '') {
         $mei->LluviaMax = (double) $obj_mei->LluviaMax;
         //LluviaMax
         $mei->fLluviaMax = MetEstacionInstant::getFecha($obj_mei->TimeLluviaMax);
         //fLluviaMax
     }
     $mei->tempsuelo1 = (double) $obj_mei->TempSuelo1;
     //tempsuelo1
     $mei->tempsuelo2 = (double) $obj_mei->TempSuelo2;
     //tempsuelo2
     $mei->tempsuelo3 = (double) $obj_mei->TempSuelo3;
     //tempsuelo3
     $mei->humsuelo1 = (double) $obj_mei->HumSuelo1;
     //humsuelo1
     $mei->humsuelo2 = (double) $obj_mei->HumSuelo2;
     //humsuelo2
     $mei->humsuelo3 = (double) $obj_mei->HumSuelo3;
     //humsuelo3
     $mei->TempSuelo1Max = (double) $obj_mei->TempSuelo1Max;
     //TempSuelo1Max
     $mei->fTempSuelo1Max = MetEstacionInstant::getFecha($obj_mei->TimeTempSuelo1Max);
     //fTempSuelo1Max
     $mei->TempSuelo2Max = (double) $obj_mei->TempSuelo2Max;
     //TempSuelo2Max
     $mei->fTempSuelo2Max = MetEstacionInstant::getFecha($obj_mei->TimeTempSuelo2Max);
     //fTempSuelo2Max
     $mei->TempSuelo3Max = (double) $obj_mei->TempSuelo3Max;
     //TempSuelo3Max
     $mei->fTempSuelo3Max = MetEstacionInstant::getFecha($obj_mei->TimeTempSuelo3Max);
     //fTempSuelo3Max
     $mei->TempSuelo1Min = (double) $obj_mei->TempSuelo1Min;
     //TempSuelo1Min
     $mei->fTempSuelo1Min = MetEstacionInstant::getFecha($obj_mei->TimeTempSuelo1Min);
     //fTempSuelo1Min
     $mei->TempSuelo2Min = (double) $obj_mei->TempSuelo2Min;
     //TempSuelo2Min
     $mei->fTempSuelo2Min = MetEstacionInstant::getFecha($obj_mei->TimeTempSuelo2Min);
     //fTempSuelo2Min
     $mei->TempSuelo3Min = (double) $obj_mei->TempSuelo3Min;
     //TempSuelo3Min
     $mei->fTempSuelo3Min = MetEstacionInstant::getFecha($obj_mei->TimeTempSuelo3Min);
     //fTempSuelo3Min
     $mei->HumSuelo1Max = (double) $obj_mei->HumSuelo1Max;
     //HumSuelo1Max
     $mei->fHumSuelo1Max = MetEstacionInstant::getFecha($obj_mei->TimeHumSuelo1Max);
     //fHumSuelo1Max
     $mei->HumSuelo2Max = (double) $obj_mei->HumSuelo2Max;
     //HumSuelo2Max
     $mei->fHumSuelo2Max = MetEstacionInstant::getFecha($obj_mei->TimeHumSuelo2Max);
     //fHumSuelo2Max
     $mei->HumSuelo3Max = (double) $obj_mei->HumSuelo3Max;
     //HumSuelo3Max
     $mei->fHumSuelo3Max = MetEstacionInstant::getFecha($obj_mei->TimeHumSuelo3Max);
     //fHumSuelo3Max
     $mei->HumSuelo1Min = (double) $obj_mei->HumSuelo1Min;
     //HumSuelo1Min
     $mei->fHumSuelo1Min = MetEstacionInstant::getFecha($obj_mei->TimeHumSuelo1Min);
     //fHumSuelo1Min
     $mei->HumSuelo2Min = (double) $obj_mei->HumSuelo2Min;
     //HumSuelo2Min
     $mei->fHumSuelo2Min = MetEstacionInstant::getFecha($obj_mei->TimeHumSuelo2Min);
     //fHumSuelo2Min
     $mei->HumSuelo3Min = (double) $obj_mei->HumSuelo3Min;
     //HumSuelo3Min
     $mei->fHumSuelo3Min = MetEstacionInstant::getFecha($obj_mei->TimeHumSuelo3Min);
     //fHumSuelo3Min
     $mei->codEstacion = $est->Codigo;
     //codEstacion
     $mei->estacion = $est;
     $em->persist($mei);
     $em->flush();
 }
 public function dataRemoteAction()
 {
     // Recorrer el listado de estaciones que posea informacion de datos online, url valida.
     $list = $this->getDoctrine()->getManager()->getRepository('ServiceBundle:EstacionesMet')->getListEstWithUltDatos();
     foreach ($list as $est) {
         $url = $est->url_Ult_datos;
         if ($url != '') {
             $txt = file_get_contents($url);
             $pos = strpos($txt, '" Time');
             if ($pos !== false) {
                 $txt = str_replace('" Time', '"Time', $txt);
             }
             $pos = strpos($txt, '/' . date('y'));
             if ($pos !== false) {
                 $txt = str_replace('/' . date('y'), '/' . date('Y'), $txt);
             }
             $pos = strpos($txt, '<!--date-->');
             if ($pos !== false) {
                 $obj = json_decode($txt);
                 $obj->FechaHora = MetEstacionInstant::getFecha($obj->FechaHora, 0);
                 $txt = str_replace('<!--date-->', $obj->FechaHora, $txt);
             }
             $obj = json_decode($txt);
             // leer objeto  si se parsea ok hay que procesarlo y generar nueva instancia a agregar en la tabla usando el Doctrine
             if (isset($obj)) {
                 // verificar en la base si existe la instancia para la estacion/fecha/hora en la bd
                 $obj->FechaHora = MetEstacionInstant::getFecha($obj->FechaHora);
                 $llist = MetEstacionInstant::getInfoInstantMet($this, $est->Codigo, $obj->FechaHora);
                 if (count($llist) == 0) {
                     MetEstacionInstant::newEntityInfoInstantMet($this, $est, $obj);
                     //crear nueva instancia de la info instantanea para la estacion.
                 }
             }
         }
     }
     $response = new Response();
     return $response;
 }