Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
359 righe
16 KiB
359 righe
16 KiB
<?php |
|
if (session_id() == "")session_start();ob_start(); |
|
if (!isset($_SESSION['USER_ID'])) {header("location: login");} |
|
?> |
|
<?php include_once "cfg.php" ?> |
|
<?php //include "mc_header2" ?> |
|
|
|
<?php |
|
|
|
$feature = $_GET['id']; |
|
$obj = $_SESSION['OBJ']; |
|
$risk = $_SESSION['RISK']; |
|
|
|
echo "FEATURE ID = ".$feature."<br>"; |
|
echo "OBJ = ".$obj."<br>"; |
|
echo "RISK ID = ".$risk."<br>"; |
|
|
|
if(!$conn) { ?> |
|
<script type="text/javascript"> top.location.href = "500.php";</script> |
|
<?php |
|
} else { |
|
//echo 'Connessione riuscita !<br />'; |
|
} |
|
|
|
switch ($obj) { |
|
case 'point': |
|
$objtable = "objpoint"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "id_obj"; |
|
break; |
|
case 'gate': |
|
$objtable = "objgate"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "id_obj"; |
|
break; |
|
case 'area': |
|
$objtable = "objarea"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "id_obj"; |
|
break; |
|
case 'fire': |
|
$objtable = "incendi"; |
|
$schema = "public"; |
|
$idgeom = "id_aib"; |
|
break; |
|
case 'sce': |
|
$objtable = "objscenari"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "id_obj"; |
|
break; |
|
case 'line': |
|
$objtable = "objline"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "id_obj"; |
|
break; |
|
case 'sog': |
|
$objtable = "objsoggetti"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "id_obj"; |
|
break; |
|
case 'trash': |
|
$objtable = "discarica"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "id"; |
|
break; |
|
case 'int': |
|
$objtable = "interventi"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "id_inter"; |
|
break; |
|
case 'suolo_pub': |
|
$objtable = "objsoggetti"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "suolo_id"; |
|
break; |
|
case 'passi': |
|
$objtable = "objsoggetti"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "passi_id"; |
|
break; |
|
case 'pubblicita': |
|
$objtable = "objsoggetti"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "pubbli_id"; |
|
break; |
|
case 'civici': |
|
$objtable = "topo_civici"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "civico_id"; |
|
break; |
|
case 'sign': |
|
$objtable = "segnalazioni"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "segnalazione_id"; |
|
break; |
|
case 'zoning_compare': |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "compare_id"; |
|
break; |
|
case 'zpoi': |
|
$objtable = "zoning_poi"; |
|
$schema = strtolower($_SESSION['COMUNE_BELF']); |
|
$idgeom = "poi_id"; |
|
break; |
|
default: |
|
$schema = "public"; |
|
} |
|
|
|
/**/ |
|
//RECUPERA L'ULTIMO ID DALLA TABELLA GEOMETRY_TEST |
|
if(!$last_idtable = @pg_query("SELECT ".$idgeom." AS idgeometria FROM ".$schema.".".$objtable." ORDER BY ".$objtable.".".$idgeom." DESC LIMIT 1")) |
|
die("Errore nella query RECUPERA ID: " . pg_last_error($conn)); |
|
echo "SELECT = ".$last_idtable."<br>"; |
|
while($last_idtable_result = pg_fetch_assoc($last_idtable)) { |
|
$id_new_geometry = $last_idtable_result['idgeometria']; |
|
} |
|
|
|
//echo "1 FEATURE: ".$feature."<br>2 MODE: ".$mode."<br>3 OBJ: ".$obj."<br>"; |
|
|
|
//$featuredati = explode(".", $feature); |
|
|
|
//echo "3 TABELLA: ".$featuredati[0]."<br>4 ID: ".$featuredati[1]."<br>5 SCHEMA: ".$schema."<br>6 ID: ".$idgeom."<br>"; |
|
|
|
//$id_new_geometry = $featuredati[1]; |
|
|
|
$tabella = $_SESSION['TAB']; |
|
//echo "5 TABELLA: ".$tabella."<br>"; |
|
|
|
|
|
//######################### FIRE |
|
if ($obj == "fire") { |
|
|
|
//RECUPERA AREA |
|
if(!$last_gid = @pg_query("SELECT ST_AREA(the_geom) AS area FROM public.incendi WHERE id_aib = ".$id_new_geometry."")) |
|
die("ERROR FIRE AREA: " . pg_last_error($conn)); |
|
while($last_result = pg_fetch_assoc($last_gid)) { |
|
$areaincendio = round($last_result['area']/10000,2); |
|
} |
|
//echo "AREA INCENDIO ".$areaincendio ."<br>"; |
|
|
|
//CERCA I COMUNI INTERESSATI DALL'INCENDIO |
|
if(!$query8 = @pg_query("SELECT comune FROM ". |
|
" (SELECT ST_Intersection(e.the_geom, f.the_geom) as the_geom, e.comune FROM ". |
|
" (SELECT a.the_geom, a.comune FROM public.comuni_italia_3004 a inner join ". |
|
" (SELECT ST_UNION(the_geom) as the_geom FROM ".$schema.".".$objtable." WHERE ".$idgeom." = ".$id_new_geometry.") b on ST_Intersects(a.the_geom, b.the_geom)) e inner join ". |
|
" (SELECT * FROM public.incendi WHERE id_aib = ".$id_new_geometry.") f on ST_Intersects(e.the_geom, f.the_geom)) a;")) |
|
die("ERROR STR3: " . pg_last_error($conn)); |
|
while($row8 = pg_fetch_assoc($query8)) { |
|
$comuni[] = $row8['comune']; |
|
} |
|
$lista_comuni = implode(', ', $comuni); |
|
|
|
|
|
//CERCA I TOPONIMI INTERESSATI DALL'INCENDIO |
|
if(!$query_toponimi = @pg_query("SELECT toponimo, secondo_no FROM ". |
|
" (SELECT ST_Intersection(e.the_geom, f.the_geom) as the_geom, e.toponimo, e.secondo_no FROM ". |
|
" (SELECT a.the_geom, a.toponimo, a.secondo_no FROM public.toponimi a inner join ". |
|
" (SELECT ST_UNION(the_geom) AS the_geom FROM public.incendi WHERE id_aib = ".$id_new_geometry.") b on ST_Intersects(a.the_geom, b.the_geom)) e inner join ". |
|
" (SELECT * FROM public.incendi WHERE id_aib = ".$id_new_geometry.") f on ST_Intersects(e.the_geom, f.the_geom)) a;")) |
|
die("Errore nella query STR2: " . pg_last_error($conn)); |
|
|
|
while($row_toponimi = pg_fetch_assoc($query_toponimi)) { |
|
$topo[] = str_replace("'", "’" ,$row_toponimi['toponimo'])." ".str_replace("'", "’" ,$row_toponimi['secondo_no']); |
|
} |
|
$lista_toponimi = implode(', ', $topo); |
|
//echo "TOPONIMI ".$lista_toponimi."<br>"; |
|
|
|
|
|
//CERCA I CATASTALI CHE INTERESSA IL PUNTO |
|
if(!$query4 = @pg_query("SELECT mappale FROM ". |
|
" (SELECT ST_Intersection(e.the_geom, f.the_geom) as the_geom, e.mappale FROM ". |
|
" (SELECT a.the_geom, a.mappale FROM ".strtolower($_SESSION['COMUNE_BELF']).".particelle a inner join ". |
|
" (SELECT ST_UNION(the_geom) AS the_geom FROM public.incendi WHERE id_aib = $id_new_geometry) b on ST_Intersects(a.the_geom, b.the_geom)) e inner join ". |
|
" (SELECT * FROM public.incendi WHERE id_aib = $id_new_geometry) f on ST_Intersects(e.the_geom, f.the_geom)) a;")) |
|
die("ERROR STR3: " . pg_last_error($conn)); |
|
while($row4 = pg_fetch_assoc($query4)) { |
|
$mappale[] = $row4['mappale']; |
|
} |
|
$cataincendio = implode(', ', $mappale); |
|
|
|
if(!$rs_update = @pg_query("UPDATE public.incendi SET comune_app = '".$_SESSION['COMUNE_NAME']."', localita = '".$lista_toponimi."', altri_com='".$lista_comuni."', catasto ='".$cataincendio."', totsup = ".$areaincendio.", archiviato = 0, attivo=1, comune = '".$_SESSION['COMUNE_BELF']."', operatore = '".$_SESSION['USER_NAME']."', data_agg = '".date("Y-m-d h:i:sa", time())."' WHERE id_aib = ".$id_new_geometry."")) |
|
die("ERROR 1: " . pg_last_error($conn)); |
|
|
|
} |
|
|
|
//######################### AREA |
|
if ($obj == "area") { |
|
//RECUPERA AREA |
|
if(!$last_gid = @pg_query("SELECT ST_AREA(the_geom) AS area FROM ".strtolower($_SESSION['COMUNE_BELF']).".objarea WHERE id_obj = ".$id_new_geometry."")) |
|
die("ERROR AREA PROTEZIONE CIVILE: " . pg_last_error($conn)); |
|
while($last_result = pg_fetch_assoc($last_gid)) { |
|
$areaincendio = round($last_result['area'],0); |
|
} |
|
//echo "AREA INCENDIO ".$areaincendio ."<br>"; |
|
|
|
//CERCA I TOPONIMI INTERESSATI DALL'INCENDIO |
|
if(!$query_toponimi = @pg_query("SELECT toponimo, secondo_no FROM ". |
|
" (SELECT ST_Intersection(e.the_geom, f.the_geom) as the_geom, e.toponimo, e.secondo_no FROM ". |
|
" (SELECT a.the_geom, a.toponimo, a.secondo_no FROM public.toponimi a inner join ". |
|
" (SELECT ST_UNION(the_geom) AS the_geom FROM ".strtolower($_SESSION['COMUNE_BELF']).".objarea WHERE id_obj = ".$id_new_geometry.") b on ST_Intersects(a.the_geom, b.the_geom)) e inner join ". |
|
" (SELECT * FROM ".strtolower($_SESSION['COMUNE_BELF']).".objarea WHERE id_obj = ".$id_new_geometry.") f on ST_Intersects(e.the_geom, f.the_geom)) a;")) |
|
die("Errore nella query STR2: " . pg_last_error($conn)); |
|
|
|
while($row_toponimi = pg_fetch_assoc($query_toponimi)) { |
|
$topo[] = str_replace("'", "’" ,$row_toponimi['toponimo'])." ".str_replace("'", "’" ,$row_toponimi['secondo_no']); |
|
} |
|
$lista_toponimi = implode(', ', $topo); |
|
//echo "TOPONIMI ".$lista_toponimi."<br>"; |
|
|
|
|
|
//CERCA I CATASTALI CHE INTERESSA IL PUNTO |
|
if(!$query4 = @pg_query("SELECT mappale FROM ". |
|
" (SELECT ST_Intersection(e.the_geom, f.the_geom) as the_geom, e.mappale FROM ". |
|
" (SELECT a.the_geom, a.mappale FROM ".strtolower($_SESSION['COMUNE_BELF']).".particelle a inner join ". |
|
" (SELECT ST_UNION(the_geom) AS the_geom FROM ".strtolower($_SESSION['COMUNE_BELF']).".objarea WHERE id_obj = $id_new_geometry) b on ST_Intersects(a.the_geom, b.the_geom)) e inner join ". |
|
" (SELECT * FROM ".strtolower($_SESSION['COMUNE_BELF']).".objarea WHERE id_obj = $id_new_geometry) f on ST_Intersects(e.the_geom, f.the_geom)) a;")) |
|
die("ERROR STR3: " . pg_last_error($conn)); |
|
while($row4 = pg_fetch_assoc($query4)) { |
|
$mappale[] = $row4['mappale']; |
|
} |
|
$cataincendio = implode(', ', $mappale); |
|
|
|
if(!$rs_update = @pg_query("UPDATE ".strtolower($_SESSION['COMUNE_BELF']).".objarea SET comune_app='".$_SESSION['COMUNE_NAME']."', localita='".$lista_toponimi."', catasto='".$cataincendio."', area_totale='".$areaincendio."', archiviato = false, attivo=1, comune = '".$_SESSION['COMUNE_BELF']."', operatore = '".$_SESSION['USER_NAME']."', data_agg = '".date("Y-m-d h:i:sa", time())."' WHERE id_obj = ".$id_new_geometry."")) |
|
die("ERROR 8: " . pg_last_error($conn)); |
|
} |
|
|
|
//######################### SCE |
|
if ($obj == "sce") { |
|
|
|
switch ($risk) { |
|
case 'ind': // AREA |
|
$tipo = "Rischio industriale"; |
|
break; |
|
case 'tsu': // AREA |
|
$tipo = "Rischio tsunami"; |
|
break; |
|
case 'inc': // AREA |
|
$tipo = "Rischio incendi"; |
|
break; |
|
case 'idr': // AREA |
|
$tipo = "Rischio idrogeologico"; |
|
break; |
|
default: |
|
$tipo = ""; |
|
} |
|
|
|
// INSERISCE AREA E GEOMETRIA IN TABELLA |
|
if(!$testpoint = @pg_query("INSERT INTO ".strtolower($_SESSION['COMUNE_BELF']).".objscenari (tipo,attivo,comune,the_geom) VALUES ('".$tipo."',3,'".$_SESSION['COMUNE_BELF']."', |
|
(SELECT ST_MULTI(the_geom) FROM public.polygon_support3004 WHERE gid=".$featuredati[1]."))")) |
|
die("ERROR INSER GEOM: " . pg_last_error($conn)); |
|
|
|
//RECUPERA L'ULTIMO ID DALLA TABELLA GEOMETRY_TEST |
|
if(!$last_gid = @pg_query("SELECT id_obj, ST_AREA(the_geom) AS area FROM ".strtolower($_SESSION['COMUNE_BELF']).".objscenari ORDER BY id_obj DESC LIMIT 1")) |
|
die("Errore nella query RECUPERA ID: " . pg_last_error($conn)); |
|
while($last_result = pg_fetch_assoc($last_gid)) { |
|
$id_new = $last_result['id_obj']; |
|
$areascenario = round($last_result['area'],2); |
|
} |
|
|
|
//CERCA I TOPONIMI INTERESSATI DALL'INCENDIO |
|
if(!$query_toponimi = @pg_query("SELECT toponimo, secondo_no FROM ". |
|
" (SELECT ST_Intersection(e.the_geom, f.the_geom) as the_geom, e.toponimo, e.secondo_no FROM ". |
|
" (SELECT a.the_geom, a.toponimo, a.secondo_no FROM public.toponimi a inner join ". |
|
" (SELECT ST_UNION(the_geom) AS the_geom FROM ".strtolower($_SESSION['COMUNE_BELF']).".objscenari WHERE id_obj = ".$id_new.") b on ST_Intersects(a.the_geom, b.the_geom)) e inner join ". |
|
" (SELECT * FROM ".strtolower($_SESSION['COMUNE_BELF']).".objscenari WHERE id_obj = ".$id_new.") f on ST_Intersects(e.the_geom, f.the_geom)) a;")) |
|
die("Errore nella query STR2: " . pg_last_error($conn)); |
|
|
|
while($row_toponimi = pg_fetch_assoc($query_toponimi)) { |
|
$topo[] = str_replace("'", "’" ,$row_toponimi['toponimo'])." ".str_replace("'", "’" ,$row_toponimi['secondo_no']); |
|
} |
|
$lista_toponimi = implode(', ', $topo); |
|
//echo "TOPONIMI ".$lista_toponimi."<br>"; |
|
|
|
|
|
//CERCA I CATASTALI CHE INTERESSA IL PUNTO |
|
if(!$query4 = @pg_query("SELECT mappale FROM ". |
|
" (SELECT ST_Intersection(e.the_geom, f.the_geom) as the_geom, e.mappale FROM ". |
|
" (SELECT a.the_geom, a.mappale FROM ".strtolower($_SESSION['COMUNE_BELF']).".particelle a inner join ". |
|
" (SELECT ST_UNION(the_geom) AS the_geom FROM ".strtolower($_SESSION['COMUNE_BELF']).".objscenari WHERE id_obj = $id_new) b on ST_Intersects(a.the_geom, b.the_geom)) e inner join ". |
|
" (SELECT * FROM ".strtolower($_SESSION['COMUNE_BELF']).".objscenari WHERE id_obj = $id_new) f on ST_Intersects(e.the_geom, f.the_geom)) a;")) |
|
die("ERROR STR3: " . pg_last_error($conn)); |
|
while($row4 = pg_fetch_assoc($query4)) { |
|
$mappale[] = $row4['mappale']; |
|
} |
|
$cataincendio = implode(', ', $mappale); |
|
|
|
if(!$rs_update = @pg_query("UPDATE ".strtolower($_SESSION['COMUNE_BELF']).".objscenari SET comune_app = '".$_SESSION['COMUNE_NAME']."', localita = '".$lista_toponimi."', catasto ='".$cataincendio."', area = ".$areascenario.", archiviato = 0, attivo=1, comune = '".$_SESSION['COMUNE_BELF']."', operatore = '".$_SESSION['USER_NAME']."', data_agg = '".date("Y-m-d h:i:sa", time())."' WHERE id_obj = ".$id_new."")) |
|
die("ERROR 1: " . pg_last_error($conn)); |
|
|
|
} |
|
|
|
|
|
//######################### SCE |
|
if ($obj == "line") { |
|
|
|
|
|
//RECUPERA L'ULTIMO ID DALLA TABELLA GEOMETRY_TEST |
|
if(!$last_gid = @pg_query("SELECT id_obj FROM ".strtolower($_SESSION['COMUNE_BELF']).".objline ORDER BY id_obj DESC LIMIT 1")) |
|
die("Errore nella query RECUPERA ID: " . pg_last_error($conn)); |
|
while($last_result = pg_fetch_assoc($last_gid)) { |
|
$id_new = $last_result['id_obj']; |
|
} |
|
|
|
} |
|
|
|
if ($obj == "point" OR $obj == "trash" OR $obj == "gate" OR $obj == "sign" OR $obj == "int" OR $obj == "sog" OR $obj == "civ" OR $obj == "pas" OR $obj == "pub" OR $obj == "zoning_compare" OR $obj == "zpoi") { |
|
|
|
//INIZIO ALTRI PUNTI |
|
//------------------------------------------------------------------------------ |
|
// CERCA LE COORDINATE DEL PUNTO |
|
/* |
|
if(!$query_xy = @pg_query("SELECT ST_Y(ST_Transform(the_geom,3004)) as lat, ST_X(ST_Transform(the_geom,3004)) as long FROM ".$schema.".".$featuredati[0]." WHERE ".$idgeom."=".$featuredati[1]."")) |
|
die("Errore nella query LAT-LONG : " . pg_last_error($conn)); |
|
$row_obj = pg_num_rows($query_xy); |
|
echo "ROW = ".$row_obj."<br>"; |
|
while($row_xy = pg_fetch_assoc($query_xy)) { |
|
$long = $row_xy['long']; |
|
$lat = $row_xy['lat']; |
|
echo "LAT2: ".$lat." - LONG2: ".$long."<br>"; |
|
} |
|
|
|
//CERCA I TOPONIMI ENTRO UN RAGGIO DI 750 M INTERESSATI DAL PUNTO |
|
if(!$query_toponimi = @pg_query("SELECT toponimo, secondo_no FROM toponimi WHERE |
|
ST_DWithin(Geography(the_geom)), |
|
Geography(ST_MakePoint($long, $lat)),750);")) |
|
die("Errore nella query STR21: " . pg_last_error($conn)); |
|
|
|
while($row_toponimi = pg_fetch_assoc($query_toponimi)) { |
|
$topo[] = $row_toponimi['toponimo']." ".$row_toponimi['secondo_no']; |
|
} |
|
$toponimi = implode(', ', $topo); |
|
|
|
//CERCA I CATASTALI CHE INTERESSA IL PUNTO |
|
if(!$query_cata = @pg_query("SELECT mappale FROM ".strtolower($_SESSION['COMUNE_BELF']).".particelle WHERE |
|
ST_DWithin(Geography(the_geom), |
|
Geography(ST_MakePoint($long, $lat)),0.1);")) |
|
die("Errore nella query STR22: " . pg_last_error($conn)); |
|
|
|
while($row_cata = pg_fetch_assoc($query_cata)) { |
|
//$cata = substr($row_cata['mappale'],5,10); |
|
$cata = $row_cata['mappale']; |
|
} |
|
*/ |
|
// if(!$rs_update = @pg_query("UPDATE ".$schema.".".$featuredati[0]." SET comune_app='".$_SESSION['COMUNE_NAME']."', localita='".$toponimi."', catasto='".$cata."', archiviato = 0, attivo=1, comune = '".$_SESSION['COMUNE_BELF']."', operatore = '".$_SESSION['USER_NAME']."', data_agg = '".date("Y-m-d h:i:sa", time())."' WHERE ".$idgeom." = ".$id_new_geometry."")) |
|
if(!$rs_update = @pg_query("UPDATE ".$schema.".".$objtable." SET comune_app='".$_SESSION['COMUNE_NAME']."', archiviato = 0, attivo=1, comune = '".$_SESSION['COMUNE_BELF']."', operatore = '".$_SESSION['USER_NAME']."', data_agg = '".date("Y-m-d h:i:sa", time())."' WHERE ".$idgeom." = ".$id_new_geometry."")) |
|
die("ERROR 111: " . pg_last_error($conn)); |
|
|
|
} |
|
|
|
|
|
if ($obj == "sce") { ?> |
|
<script type="text/javascript"> |
|
top.location.href = "dataview?obj=<?php echo $obj; ?>&risk=<?php echo $risk; ?>&id=<?php echo $id_new; ?>"; |
|
</script> |
|
<?php } else { ?> |
|
<script type="text/javascript"> |
|
top.location.href = "dataview?obj=<?php echo $obj; ?>&id=<?php echo $id_new_geometry; ?>"; |
|
</script> |
|
<?php } ?>
|