<?php
header('Content-Type: application/json;charset= utf-8');
require("dbinfo.php");
$con = mysqli_connect($sqlname, $username, $password, $db);
if(!$con){exit;}
mysqli_set_charset($con,"utf8");

$lat = -34.906563;
$lon = -56.186266;
$tipo = 'zona';
$valor = 0;
$factor = 1;

if($_REQUEST['factor']){$factor = $_REQUEST['factor'];}
switch ($factor){
    case 1:
        $amplitud  = 0.002;
        break;
    case 2:
        $amplitud  = 0.004;
        break;
    case 3:
        $amplitud  = 0.006;
        break;
    case 4:
        $amplitud  = 0.008;
        break;
    default:
        $amplitud  = 0.004;
    }

    if($_REQUEST['lat']){$lat = $_REQUEST['lat'];}
    if($_REQUEST['lon']){$lon = $_REQUEST['lon'];}
    if($_REQUEST['tipo']){$tipo = $_REQUEST['tipo'];}
    if($_REQUEST['valor']){$valor = $_REQUEST['valor'];}


$sql = '';

switch ($tipo){
    case "psingular":
        $sql = "SELECT X(SHAPE) AS lon1, Y(SHAPE) AS lat1 FROM cat_psingulares WHERE elem_red =" . $valor;
        break;
    case "captacion":
        $sql = "SELECT X(SHAPE) AS lon1, Y(SHAPE) AS lat1 FROM cat_captaciones WHERE elem_red =" . $valor;
        break;        
    case "padron":
        $sql = "SELECT X(Centroid(GEOMETRIA)) AS lon1, Y(Centroid(GEOMETRIA)) AS lat1 FROM padrones WHERE padron = " . $valor;
        break;
    case "servicio":
        $sql = "SELECT X(Endpoint(SHAPE)) AS lon1, Y(Endpoint(SHAPE)) AS lat1 FROM conexiones WHERE servicios LIKE '%" . $valor . "%'";
        break;
    case "colector":
        $sql = "SELECT X(Endpoint(SHAPE)) AS lon1, Y(Endpoint(SHAPE)) AS lat1 FROM cat_tramos WHERE elemred = " . $valor;
        break;
    case "tgm":
        $sql = "SELECT X(Endpoint(SHAPE)) AS lon1, Y(Endpoint(SHAPE)) AS lat1 FROM conexiones WHERE tgms  LIKE '%" . $valor . "%'";
        break;
    case "suministro":
        $sql = "SELECT X(Endpoint(SHAPE)) AS lon1, Y(Endpoint(SHAPE)) AS lat1 FROM conexiones WHERE oses  LIKE '%" . $valor . "%'";
        break;                
}

$busco_y_encontro = true;
if ($sql != '')
{
    $busco_y_encontro = false;
    $resultado = mysqli_query($con,$sql);
    if ($resultado != FALSE){
        if (mysqli_num_rows($resultado) > 0){
            $row = mysqli_fetch_assoc($resultado);
                $lat = $row["lat1"];
                $lon = $row["lon1"];
                $busco_y_encontro = true;
        }
}
}


$geometria_zona = "GEOMFROMTEXT('POLYGON((" . ($lon - $amplitud) . " " . ($lat - $amplitud) . "," . ($lon - $amplitud) . " " . ($lat + $amplitud) . "," . ($lon + $amplitud) . " " . ($lat + $amplitud) . "," . ($lon + $amplitud) . " " . ($lat - $amplitud) . "," . ($lon - $amplitud) . " " . ($lat - $amplitud) . "))')";


$res = array();
$res_conexiones = array();
$res_tramos = array();
$res_psingulares = array();
$res_conex_capt = array();
$res_captaciones = array();
$res_calles = array();
$res_centro = array();
$res_padrones = array();




//$sql_previo = "SELECT id, X(Startpoint(SHAPE)) AS lon1, Y(Startpoint(SHAPE)) AS lat1,  X(Endpoint(SHAPE)) AS lon2, Y(Endpoint(SHAPE)) AS lat2,padron, colector, profundidad, tipo, seccion, ccz, alta_fuent , alta_descr, alta_fecha, servicios, tgms, oses, sur, historial, etapa, ccz, accion, fotos, audios, activo, puertas, z_col, via, id_tramite, id_con_ant, calle , empresa, tramite, descripcion, (6370031 * acos(cos( radians(%s)) * cos( radians(Y(Startpoint(SHAPE))) ) * cos( radians(X(Startpoint(SHAPE))) - radians(%s) ) + sin( radians(%s) ) * sin( radians(Y(Startpoint(SHAPE)))))) AS distance FROM conexiones WHERE activo = 1 ORDER BY distance LIMIT 0 , " . $cant_conexiones; 

$sql = "SELECT id, X(Startpoint(SHAPE)) AS lon1, Y(Startpoint(SHAPE)) AS lat1,  X(Endpoint(SHAPE)) AS lon2, Y(Endpoint(SHAPE)) AS lat2,padron, colector, profundidad, tipo, seccion, ccz, alta_fuent , alta_descr, alta_fecha, servicios, tgms, oses, sur, historial, etapa, ccz, accion, fotos, audios, activo, puertas, z_col, via, id_tramite, id_con_ant, calle , empresa, tramite, descripcion FROM conexiones WHERE activo = 1 AND INTERSECTS(SHAPE, " . $geometria_zona . ")";

//$sql = sprintf($sql_previo, mysqli_real_escape_string($con,$lat), mysqli_real_escape_string($con,$lon), mysqli_real_escape_string($con,$lat));
$resultado = mysqli_query($con,$sql);
if ($resultado != FALSE){
	if (mysqli_num_rows($resultado) > 0){
		while($row = mysqli_fetch_assoc($resultado))
		{
		   // $row = array_map('utf8_encode',$row);
			$elem = array(
							'id'=>$row["id"],
							'lon1'=>$row["lon1"],
                            'lat1'=>$row["lat1"],
							'lon2'=>$row["lon2"],
                            'lat2'=>$row["lat2"],
                            'padron'=>$row["padron"],
                            'colector'=>$row["colector"],
                            'profundidad'=>$row["profundidad"],
                            'tipo'=>$row["tipo"],
                            'seccion'=>$row["seccion"],
                            'ccz'=>$row["ccz"],                           
                            'servicios'=>$row["servicios"],
                            'tgms'=>$row["tgms"],
                            'oses'=>$row["oses"],
                            'puertas'=>$row["puertas"],
                            'z_col'=>$row["z_col"],
                            'descripcion'=>$row["descripcion"]
      	   				);
			 $exito_en_consulta = TRUE;
           // $elem = array_map('utf8_encode', $elem);
			 array_push($res_conexiones,$elem);
			}
		}
}	


$sql = "SELECT ASTEXT(SHAPE) AS geom, elemred, X(Startpoint(SHAPE)) AS lon1, Y(Startpoint(SHAPE)) AS lat1,  X(Endpoint(SHAPE)) AS lon2, Y(Endpoint(SHAPE)) AS lat2,tiposec,tipotra,id_psig_aa,id_psig_ab,dim1,dim2,dim3,dim4,pendiente,salto,contrato,proyecto,material,zarriba,zabajo,z_tapa_aa,z_tapa_ab,prof_aa,prof_ab,longitud,etapa,estado,accion,ccz,cuenca,historial,documentos,fotos,audios,videos,alta_fuente,alta_fecha,calle,via,hidraulica,economica,comentarios,plano,provisorio,dato1,dato2,dato3,dato4,habilitado,publicado,fueraservicio FROM cat_tramos WHERE activo = 1 AND INTERSECTS(SHAPE, " . $geometria_zona . ")";

$resultado = mysqli_query($con,$sql);
if ($resultado != FALSE){
	if (mysqli_num_rows($resultado) > 0){
		while($row = mysqli_fetch_assoc($resultado))
		{
			$elem = array(
                            'geom'=>$row["geom"],
							'id_tramo'=>$row["elemred"],
							'lon1'=>$row["lon1"],
                            'lat1'=>$row["lat1"],
							'lon2'=>$row["lon2"],
                            'lat2'=>$row["lat2"],
                            'tiposec'=>$row["tiposec"],
                            'tipotra'=>$row["tipotra"],
                            'id_psig_aa'=>$row["id_psig_aa"],
                            'id_psig_ab'=>$row["id_psig_ab"],
                            'dim1'=>$row["dim1"],
                            'dim2'=>$row["dim2"],
                            'dim3'=>$row["dim3"],
                            'dim4'=>$row["dim4"],
                            'pendiente'=>$row["pendiente"],
                            'salto'=>$row["salto"],
                            'contrato'=>$row["contrato"],
                            'proyecto'=>$row["proyecto"],
                            'material'=>$row["material"],
                            'zarriba'=>$row["zarriba"],
                            'zabajo'=>$row["zabajo"],
                            'z_tapa_aa'=>$row["z_tapa_aa"],
                            'z_tapa_ab'=>$row["z_tapa_ab"],
                            'prof_aa'=>$row["prof_aa"],
                            'prof_ab'=>$row["prof_ab"],
                            'longitud'=>$row["longitud"],
                            'etapa'=>$row["etapa"],
                            'estado'=>$row["estado"],
                            'accion'=>$row["accion"],
                            'ccz'=>$row["ccz"],
                            'cuenca'=>$row["cuenca"],
                            'historial'=>$row["historial"],
                            'documentos'=>$row["documentos"],
                            'fotos'=>$row["fotos"],
                            'audios'=>$row["audios"],
                            'videos'=>$row["videos"],
                            'alta_fuente'=>$row["alta_fuente"],
                            'alta_fecha'=>$row["alta_fecha"],
                            'calle'=>$row["calle"],
                            'via'=>$row["via"],
                            'hidraulica'=>$row["hidraulica"],
                            'economica'=>$row["economica"],
                            'comentarios'=>$row["comentarios"],
                            'plano'=>$row["plano"],
                            'provisorio'=>$row["provisorio"],
                            'dato1'=>$row["dato1"],
                            'dato2'=>$row["dato2"],
                            'dato3'=>$row["dato3"],
                            'dato4'=>$row["dato4"],
                            'habilitado'=>$row["habilitado"],
                            'publicado'=>$row["publicado"],
                            'fueraservicio'=>$row["fueraservicio"]
       				);
			 $exito_en_consulta = TRUE;
           // $elem = array_map('utf8_encode', $elem);
			 array_push($res_tramos,$elem);
			}
		}
}			 


$sql = "SELECT elem_red, X(SHAPE) AS lon1, Y(SHAPE) AS lat1,tipo,z_tapa,inspeccion,profundidad,salto,z_ab,alta_fuente,alta_fecha,calle,via,contrato,etapa,estado,ccz,cuenca,proyecto,accion,historial,fotos,audios,documentos,comentarios,hidraulica,economica,plano,provisorio,dato1,dato2,dato3,dato4,habilitado,publicado,fueraservicio FROM cat_psingulares WHERE activo = 1 AND INTERSECTS(SHAPE, " . $geometria_zona . ")";
$resultado = mysqli_query($con,$sql);
if ($resultado != FALSE){
	if (mysqli_num_rows($resultado) > 0){
		while($row = mysqli_fetch_assoc($resultado))
		{
			$elem = array(
							'id_psingular'=>$row["elem_red"],
							'lon1'=>$row["lon1"],
                            'lat1'=>$row["lat1"],
                            'tipo'=>$row["tipo"],
                            'z_tapa'=>$row["z_tapa"],
                            'inspeccion'=>$row["inspeccion"],
                            'profundidad'=>$row["profundidad"],
                            'salto'=>$row["salto"],
                            'z_ab'=>$row["z_ab"],
                            'contrato'=>$row["contrato"],
                            'proyecto'=>$row["proyecto"],
                            'etapa'=>$row["etapa"],
                            'estado'=>$row["estado"],
                            'accion'=>$row["accion"],
                            'ccz'=>$row["ccz"],
                            'cuenca'=>$row["cuenca"],
                            'historial'=>$row["historial"],
                            'documentos'=>$row["documentos"],
                            'fotos'=>$row["fotos"],
                            'audios'=>$row["audios"],
                            'alta_fuente'=>$row["alta_fuente"],
                            'alta_fecha'=>$row["alta_fecha"],
                            'calle'=>$row["calle"],
                            'via'=>$row["via"],
                            'hidraulica'=>$row["hidraulica"],
                            'economica'=>$row["economica"],
                            'comentarios'=>$row["comentarios"],
                            'plano'=>$row["plano"],
                            'provisorio'=>$row["provisorio"],
                            'dato1'=>$row["dato1"],
                            'dato2'=>$row["dato2"],
                            'dato3'=>$row["dato3"],
                            'dato4'=>$row["dato4"],
                            'habilitado'=>$row["habilitado"],
                            'publicado'=>$row["publicado"],
                            'fueraservicio'=>$row["fueraservicio"]
       				);
			 $exito_en_consulta = TRUE;
			 array_push($res_psingulares,$elem);
			}
		}
}	



$sql = "SELECT elem_red, X(SHAPE) AS lon1, Y(SHAPE) AS lat1,id_tramo,id_conex_capt,tipo,clase,dim,cant_bocas,alta_fuente,alta_fecha,rotacion,z_col,z_tapa,calle,via,contrato,etapa,estado,proyecto,accion,ccz,cuenca,historial,fotos,audios,documentos,comentarios,hidraulica,economica,plano,provisorio,dato1,dato2,dato3,dato4,habilitado,publicado,fueraservicio FROM cat_captaciones WHERE activo = 1 AND INTERSECTS(SHAPE, " . $geometria_zona . ")";
$resultado = mysqli_query($con,$sql);
if ($resultado != FALSE){
	if (mysqli_num_rows($resultado) > 0){
		while($row = mysqli_fetch_assoc($resultado))
		{
			$elem = array(
							'id_captacion'=>$row["elem_red"],
							'lon1'=>$row["lon1"],
                            'lat1'=>$row["lat1"],
                            'id_tramo'=>$row["id_tramo"],
                            'id_conex_capt'=>$row["id_conex_capt"],
                            'tipo'=>$row["tipo"],
                            'clase'=>$row["clase"],
                            'dim'=>$row["dim"],
                            'cant_bocas'=>$row["cant_bocas"],
                            'rotacion'=>$row["rotacion"],
                            'z_col'=>$row["z_col"],
                            'z_tapa'=>$row["z_tapa"],
                            'contrato'=>$row["contrato"],
                            'proyecto'=>$row["proyecto"],
                            'etapa'=>$row["etapa"],
                            'estado'=>$row["estado"],
                            'accion'=>$row["accion"],
                            'ccz'=>$row["ccz"],
                            'cuenca'=>$row["cuenca"],
                            'historial'=>$row["historial"],
                            'documentos'=>$row["documentos"],
                            'fotos'=>$row["fotos"],
                            'audios'=>$row["audios"],
                            'alta_fuente'=>$row["alta_fuente"],
                            'alta_fecha'=>$row["alta_fecha"],
                            'calle'=>$row["calle"],
                            'via'=>$row["via"],
                            'hidraulica'=>$row["hidraulica"],
                            'economica'=>$row["economica"],
                            'comentarios'=>$row["comentarios"],
                            'plano'=>$row["plano"],
                            'provisorio'=>$row["provisorio"],
                            'dato1'=>$row["dato1"],
                            'dato2'=>$row["dato2"],
                            'dato3'=>$row["dato3"],
                            'dato4'=>$row["dato4"],
                            'habilitado'=>$row["habilitado"],
                            'publicado'=>$row["publicado"],
                            'fueraservicio'=>$row["fueraservicio"]
       				);
			 $exito_en_consulta = TRUE;
			 array_push($res_captaciones,$elem);
			}
		}
}	


$sql = "SELECT id, X(Startpoint(SHAPE)) AS lon1, Y(Startpoint(SHAPE)) AS lat1, X(Endpoint(SHAPE)) AS lon2, Y(Endpoint(SHAPE)) AS lat2,id_captacion,id_tramo,longitud,tipo,material,seccion,profundidad,alta_fuente,alta_fecha,contrato,etapa,estado,proyecto,accion,historial,documentos,comentarios,hidraulica,economica,plano,provisorio,dato1,dato2,dato3,dato4,habilitado,publicado,fueraservicio FROM cat_conex_capt WHERE activo = 1 AND INTERSECTS(SHAPE, " . $geometria_zona . ")";
$resultado = mysqli_query($con,$sql);
if ($resultado != FALSE){
	if (mysqli_num_rows($resultado) > 0){
		while($row = mysqli_fetch_assoc($resultado))
		{
			$elem = array(
							'id_conex_capt'=>$row["id"],
							'lon1'=>$row["lon1"],
                            'lat1'=>$row["lat1"],
                            'lon2'=>$row["lon2"],
                            'lat2'=>$row["lat2"],
                            'id_captacion'=>$row["id_captacion"],
                            'id_tramo'=>$row["id_tramo"],
                            'longitud'=>$row["longitud"],
                            'tipo'=>$row["tipo"],
                            'material'=>$row["material"],
                            'seccion'=>$row["seccion"],
                            'profundidad'=>$row["profundidad"],
                            'contrato'=>$row["contrato"],
                            'proyecto'=>$row["proyecto"],
                            'etapa'=>$row["etapa"],
                            'estado'=>$row["estado"],
                            'accion'=>$row["accion"],
                            'historial'=>$row["historial"],
                            'documentos'=>$row["documentos"],
                            'alta_fuente'=>$row["alta_fuente"],
                            'alta_fecha'=>$row["alta_fecha"],
                            'hidraulica'=>$row["hidraulica"],
                            'economica'=>$row["economica"],
                            'comentarios'=>$row["comentarios"],
                            'plano'=>$row["plano"],
                            'provisorio'=>$row["provisorio"],
                            'dato1'=>$row["dato1"],
                            'dato2'=>$row["dato2"],
                            'dato3'=>$row["dato3"],
                            'dato4'=>$row["dato4"],
                            'habilitado'=>$row["habilitado"],
                            'publicado'=>$row["publicado"],
                            'fueraservicio'=>$row["fueraservicio"]

       				);
			 $exito_en_consulta = TRUE;
			 array_push($res_conex_capt,$elem);
			}
		}
}	

$sql = "SELECT ASTEXT(SHAPE) AS geom, nom_calle, cod_nombre FROM calles_im WHERE INTERSECTS(SHAPE, " . $geometria_zona . ")";
$resultado = mysqli_query($con,$sql);
if ($resultado != FALSE){
	if (mysqli_num_rows($resultado) > 0){
		while($row = mysqli_fetch_assoc($resultado))
		{
			$elem = array(
							'geom'=>$row["geom"],
							'nom_calle'=>$row["nom_calle"],
                            'cod_nombre'=>$row["cod_nombre"]
                        );
                        $exito_en_consulta = TRUE;
                        array_push($res_calles,$elem);
        }
    }
}	

$sql = "SELECT ASTEXT(GEOMETRIA) AS geom, padron, ph, saneado, latc, lonc, areatot FROM padrones WHERE INTERSECTS(GEOMETRIA, " . $geometria_zona . ")";
$resultado = mysqli_query($con,$sql);

if ($resultado != FALSE){
	if (mysqli_num_rows($resultado) > 0){
		while($row = mysqli_fetch_assoc($resultado))
		{
            $pos = strpos($row["geom"],"),");
            if ($pos === false)
            {
                $geometria = $row["geom"];
            }else
            {
                $geometria = substr($row["geom"],0,$pos) . ")";
            }
			$elem = array(
							'geom'=>$geometria,
							'padron'=>$row["padron"],
                            'ph'=>$row["ph"],
                            'saneado'=>$row["saneado"],
                            'areatot'=>$row["areatot"]
                        );
                        $exito_en_consulta = TRUE;
                        array_push($res_padrones,$elem);
        }
    }
}



array_push($res_centro,$lat);
array_push($res_centro,$lon);


array_push($res, $res_conexiones);
array_push($res, $res_tramos);
array_push($res, $res_psingulares);
array_push($res, $res_captaciones);
array_push($res, $res_conex_capt);
array_push($res, $res_calles);
array_push($res, $res_centro);
array_push($res, $res_padrones);
array_push($res, $busco_y_encontro);

mysqli_close($con);
echo json_encode($res);
?>



