-
Notifications
You must be signed in to change notification settings - Fork 0
/
cutGeoJson.php
59 lines (47 loc) · 1.59 KB
/
cutGeoJson.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
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors','1');
require_once('classes/experimento.class.php');
require_once('classes/conexao.class.php');
$conexao = new Conexao;
$conn = $conexao->Conectar();
$Experimento = new Experimento();
$Experimento->conn = $conn;
$expid = $_REQUEST['expid'];
$Experimento->getById($expid);
$Experimento->getPath($expid);
$isImageCut = $Experimento->isImageCut;
$isImageCut = $isImageCut === 't'? true: false;
if($isImageCut){
$pngCutPath = $Experimento->pngCutPath;
$rasterCutPath = "'" . $Experimento->rasterCutPath . "'";
} else {
$pngCutPath = $Experimento->rasterPngPath;
$rasterCutPath = "'" . $Experimento->tiffPath . "'";
}
$Experimento->alterarPathPngRaster($expid, "'./temp/" . $expid ."/png_map-" . $expid . ".png'", "'./temp/" . $expid ."/raster_crop-" . $expid . ".tif'");
$filePath = '../../../../../../mnt/dados/modelr/json/polygon-' . $expid . '.json';
$file = fopen($filePath, 'w');
$polygons = explode(':',$_REQUEST['array']);
$coordinates = [];
// loop over the rows, outputting them
foreach($polygons as $p){
$vertices = explode(';',$p);
$result = [];
foreach($vertices as $v){
$result[] = [explode(',',$v)[1], explode(',',$v)[0]];
}
$coordinates[] = [$result];
}
$myObj->type = "MultiPolygon";
$myObj->coordinates = $coordinates;
$myJSON = json_encode($myObj, JSON_PRETTY_PRINT|JSON_NUMERIC_CHECK);
fwrite($file, $myJSON);
fclose($file);
if (!file_exists("temp/" . $expid )) {
mkdir("temp/" . $expid , 0777, true);
}
exec("Rscript script_pos.R $expid $filePath $rasterCutPath");
return 'success';
?>