-
Notifications
You must be signed in to change notification settings - Fork 0
/
get_route_by_cod.php
111 lines (94 loc) · 3.11 KB
/
get_route_by_cod.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
session_start();
$cod=pg_escape_string($_GET['cod']);
require('./conn.php');
/*Dato un codice strada restituisce
nome del layer, crs, denominazione_ufficiale,
prog_ini, prog_fin, descrizione, note, geometria*/
if(!$conn) {
die('Connessione fallita !<br />');
} else {
$query="SELECT cod_strada, denominazione_ufficiale,
prog_ini, prog_fin, descrizione, note,
st_asgeojson(st_curvetoline(st_transform(geom, 4326))) as geometry
FROM geometrie.route
WHERE cod_strada = $1;";
//WHERE cod_strada = '". $cod ."';";
//echo $query;
//$result = pg_query($conn, $query);
$result=pg_prepare($conn, "myq", $query);
$result=pg_execute($conn, "myq", array($cod));
//echo $query;
//exit;
$rows = array();
$geojson ='{
"type": "FeatureCollection",
"name": "route",
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326",
}
},
"features":[';
$k=1;
while($r = pg_fetch_assoc($result)) {
// popolo le Feature del geojson
$row2 = array();
$array2 = array (
"cod_strada" => $r["cod_strada"],
"denominazione_ufficiale" => $r["denominazione_ufficiale"],
"prog_ini" => $r["prog_ini"],
"prog_fin" => $r["prog_fin"],
"descrizione" => $r["descrizione"],
"note" => $r["note"]
);
$row2[] = $array2;
$geom=str_replace("[{", "{",
str_replace("}]","}",str_replace("\\", "",$r['geometry'])));
if ($k==1){
$geojson= $geojson.'{"type":"Feature","geometry":'.$geom;
} else {
$geojson= $geojson.',{"type":"Feature","geometry":'.$geom;
}
$geojson= $geojson. ',"properties":'.str_replace("[{", "{",
str_replace("}]","}",json_encode(array_values($row2)).'}'));
/*$array1 = array (
"type" => 'Feature',
"geometry" => $r["geometry"],
"properties" => json_encode(array_values($row2))
);
$rows[] = str_replace('"properties":"', '"properties":', $array1);*/
$rows=$array2;
$k=$k+1;
}
pg_close($conn);
#echo $rows ;
if (empty($rows)==FALSE){
//print $rows;
#print json_encode(array_values(pg_fetch_all($result)));
/*{
"type": "FeatureCollection",
"name": "b7",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
"features": [*/
/*$geojson ='{
"type": "FeatureCollection",
"name": "route",
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326",
},
},
"features":['.str_replace("[{", "{",
str_replace("}]","}",
str_replace('"{', '{',
str_replace('}"', '}',
str_replace("\\", "", json_encode(array_values($rows))))))).']}';*/
print $geojson.']}';
} else {
echo "[{\"NOTE\":'No data'}]";
}
}
?>