<?php

// We are assuming getlocationcoords is included somewhere else.

# slika 
#$slika_slo = 'amp_podlaga2_1350_956.jpg';


$tekst_=$_POST['tekst_'];
$vel_tekst_=$_POST['vel_tekst_'];
$xpodlaga_=$_POST['xpodlaga_'];
$opacity_=$_POST['opacity_'];

$ste_da_ =$_POST['ste_da_'];
$idmm_da_=$_POST['idmm_da_'];
$id_da_= $_POST['id_da_'];
$nv_xy_= $_POST['nv_xy_'];
$dol_tekst_= $_POST['dol_tekst_'];
$izbrani=$_POST['izbrani'];


$fontleg = $_POST['fontleg'];
$fontnas = $_POST['fontnas'];
$naslovk = $_POST['naslovk'];
$legendak= $_POST['legendak'];

$datumz_= $_POST['datumz_'];
$datumk_= $_POST['datumk_'];
$obdobje_= $_POST['obdobje_'];
$jezik= $_POST['jezik'];

$rang= $_POST['rang'];
$delezy= $_POST['delezy'];
$vred_stolpic= $_POST['vred_stolpic'];



// -- prebere sliko -------
$slika_slo = $xpodlaga_;





// lahko tudi $im = imagecreatefromjpeg("amp_podlaga4_2_1350_956.jpg");
if (($xpodlaga_ == 'http://www.arso.gov.si/vreme/napovedi%20in%20podatki/radar.gif'))
{$im = ImageCreateFromGif($slika_slo);}
else {$im = ImageCreateFromJpeg($slika_slo);}

# barve - ne delajo povsod
$red = imagecolorallocate ($im, 255,0,0);
$x1b = imagecolorallocate ($im, 120,0,255);
$modra = imagecolorallocate($im, 0,50, 255);
$crna = imagecolorallocate($im, 0,0,0);

$rdeca = imagecolorallocate($im, 255,0, 0);
$oranzna = imagecolorallocate($im, 255,165,0);
$rumena = imagecolorallocate($im, 173,255,47);
$zelena = imagecolorallocate($im, 0,255,0);
$magenta = imagecolorallocate($im, 255,0,255);

# velikost slike - lahko tudi, $size = getimagesize($filename); $size[0]=x, $size[1]=y
$scale_x = imagesx($im);
$scale_y = imagesy($im); 

#              x = 1350   
#00-------------------|   Nièla se zaène levo zgoraj
#|*                   |
#|*         *         |
#|*                   |
#|____________________|
# y = 956    
#          
// Loop though each element of the array loaded from the array 
# SPODAJ polje pixlov za vajo
$xy_p = array('10_10', '10_100', '10_300', '600_470', '1300_940');

# vsaki vrednosti iz polja priredim $xy
foreach ($xy_p as $xy) {

// Explode out the latitude and longitude coordinates 
# razbijem na x in y, recimo $xy=10_300 iz cesar je co[0]=x=10, co[1]=y=300 
    $co = explode("_",$xy); //"_" je razmejitev med x in y
    //echo "<html> $co[0] __ $co[1]<br>"; // deluje

// And we have done all this before ......
# priredim toèke na sliki, $pt[x] in $pt[y]

# zapolni kvadratek [slika, x-dx, y-dy, x+dx, y+dy ]
 ###   imagefilledrectangle($im,$co[0]-1, $co[1]-1,$co[0]+10,$co[1]+10,600); 
#   ne deluje za vse verzije imagefilledrectangle($im,$co[0]-1, $co[1]-1,$co[0]+10,$co[1]+10,$red); 

  //40 - zelena, 600 - modra 1600 - rjava, 2006 - sv_zelena

}








//-------------------------------------------------------------------



### -----------  risanje poligona 6-kraki ---------------
### -----------  risanje poligona 6-kraki ---------------
### -----------  risanje poligona 6-kraki ---------------
### -----------  risanje poligona 6-kraki ---------------

$poligon6 = array(
            40,  50,  // Point 1 (x, y)
            20,  240, // Point 2 (x, y)
            60,  60,  // Point 3 (x, y)
            240, 20,  // Point 4 (x, y)
            50,  40,  // Point 5 (x, y)
            10,  10   // Point 6 (x, y)
            );

// create image $image = imagecreatetruecolor(250, 250);
// some colors
#$bg   = imagecolorallocate($im, 200, 200, 200);
#$blue = imagecolorallocate($im, 0, 0, 255);

// draw a polygon
#imagefilledpolygon($im, $poligon6, 6, $blue);






## --------------pisanje teksta----------------------
## --------------pisanje teksta----------------------
## --------------pisanje teksta----------------------
## --------------pisanje teksta----------------------

#$text="Ha ha - pišem na karto";
#$text2="Ha ha - pišem TRETJIÈ na karto";
#$font = '/academa/lib/font/arial.ttf'; # ne dela zmeraj
#$font = 'arial.ttf'; # ne dela zmeraj
#$font ='/usr/local/fonts/arial.ttf';
#$font = "fonts/arial.ttf"; 
#$font="/path/arial.ttf";  # poisci pot


# ne dela $font = 'arial.ttf';
# imagestring($im,2,1,$scale_y-20,"Courtesy of www.staycanada.ca",$red);



# ----------- Na prazno sliko prilepim tudi tekst -----------
# glej http://si2.php.net/imagettftext in http://www.web-max.ca/PHP/article_1.php
#imagettftext($im, velikost, zasuk_texta_v_st, x, y, barva, font, tekst);
##    imagettftext($im, 20, 0, 300+10, 200+10, $modra, $font, $text);

# imagestring ( resource $image, int $font, int $x, int $y, string $string, int $color )
# imagestring($im,2,1,$scale_y-20,"Courtesy of www.staycanada.ca",$red);
 
#imagestring($im,100,40,600,"Ha ha - pišem drugiè na karto",$rdeca);
#imagestring($im, 5, 0, 0, $text2, $crna);








# ----- pisanje pikic, zvezdic, o - jev, +, °, #, -, .ÿßß ----
# ----- pisanje pikic, zvezdic, o - jev, +, °, #, -, .ÿßß ----
# ----- pisanje pikic, zvezdic, o - jev, +, °, #, -, .ÿßß ----
# ----- pisanje pikic, zvezdic, o - jev, +, °, #, -, .ÿßß ----
# ---- TEZAVE Z VELIKOSTJO
$znak="°*+o";
$xy_p = array('60_10', '60_100', '90_300', '500_470', '1000_940');
foreach ($xy_p as $xy) {
 $pikice = explode("_",$xy); 
# imagestring ( resource $image, int $font, int $x, int $y, string $string, int $color )
###imagestring($im,10,$pikice[0],$pikice[1],$znak,$rdeca);
}






# ----- risanje kroga --------------------------
# ----- risanje kroga --------------------------
# ----- risanje kroga --------------------------
# ----- risanje kroga --------------------------
# ----- risanje kroga --------------------------
# ----- risanje kroga --------------------------
# ---- 

## There is a simple function to draw a filled point with a chosen radius and color
#-----------------------------
function drawPoint($img, $radius, $origo_x, $origo_y, $pointColor)
{
  for ($i=0;$i<=360;$i++)
  {
    $pont[] = $origo_x + ($radius * sin(deg2rad($i)));
    $pont[] = $origo_y - ($radius * cos(deg2rad($i)));
  }
  reset($pont);
  ImageFilledPolygon ($img, $pont, (sizeof($pont)/2), $pointColor);
}
#---------------------------------------------------------------

$xy_p = array('120_10', '120_100', '190_300', '400_470', '800_940');
foreach ($xy_p as $xy) {
 $pikice = explode("_",$xy); 
$radij=30;
#function drawPoint($img, $radius, $origo_x, $origo_y, $pointColor);
####drawPoint($im, $radij, $pikice[0],$pikice[1], $rdeca);
}




# ----- risanje trikotnika --------------------------
# ----- risanje trikotnika --------------------------
# ----- risanje trikotnika --------------------------
# ----- risanje trikotnika --------------------------
# http://br2.php.net/en/function.imagearc
## There is a simple function to draw a filled triangle 
#-----------------------------
function triangle($im, $x1,$y1, $x2,$y2, $x3,$y3, $colour) { 
   $coords = array($x1,$y1, $x2,$y2, $x3,$y3); 
   imagefilledpolygon($im, $coords, 3, $colour); 
} 
#---------------------------------------------------------------

$xy_p = array('220_10', '180_100', '240_300', '450_470', '700_940');
foreach ($xy_p as $xy) {
 $pikice = explode("_",$xy); 
#triangle($im, $x1,$y1, $x2,$y2, $x3,$y3, $colour);
#triangle($im, $pikice[0],$pikice[1], $pikice[0]+20,$pikice[1], $pikice[0]+10,$pikice[1]-14, $crna);
}












//----------------risanje zares--------------------------------
//----------------risanje zares--------------------------------
//----------------risanje zares--------------------------------

//----------------risanje zares--------------------------------
//----------------risanje zares--------------------------------
//----------------risanje zares--------------------------------



//----------------risanje zares--------------------------------
//----------------risanje zares--------------------------------
//----------------risanje zares--------------------------------


//-- globalne spremenljivke so izkljucene, zato jih berem s $_POST, recimo  $_POST['gis_podatki'];
$xpodlaga_ = $_POST['xpodlaga_'];
$gis_podatki = $_POST['gis_podatki'];



//----- èÈ ¹© ¾® = èÈ šŠ žŽ -------------
$CC="È"; // je enak È
$SS="©";  //Š
$ZZ="®";  //Ž

$ss="¹";  //š mali
$zz="¾";  //ž mali
$cc="è";   //je enak è mali

// ------------Georeferenciranje karte ------------
// ---- gaussk_koordinate
//  y1 = 388580.7   x1 = 43730.4     z =~ 2 m
//  y2 = 601556.8   x2 = 181975.7    z =~ 240 m
// --- podatki iz slike - pixli, x in y sta zamenjana
//sy1=168  sx1=765
//sy2=1192 sx2=101


  $y1 = 388580.7;   $x1 = 43730.4;     
  $y2 = 601556.8;   $x2 = 181975.7;    
  $sy1=168;         $sx1=765;
  $sy2=1192;        $sx2=101;
$ky=($sy2-$sy1)/($y2-$y1);
$kx=-($sx2-$sx1)/($x2-$x1);
//sy= $ky*($y - ($y1-(1/$ky)*$sy1));
//sx= $kx*($x - ($x1-(1/$kx)*$sx1));
//-----------------------------------

if ($xpodlaga_ == 'slo_podlaga_velika.jpg')
{
// -- velika slika 3306x2340 tock

  $y1 = 388580.7;   $x1 = 43730.4;     
  $y2 = 601556.8;   $x2 = 181975.7;    
  //$sy1=414;         $sx1=1874;
  //$sy1=422;         $sx1=1885;
  $sy1=420;         $sx1=1877;
  $sy2=2920;        $sx2=250;
$ky=($sy2-$sy1)/($y2-$y1);
$kx=-($sx2-$sx1)/($x2-$x1);
}

if (($xpodlaga_ == 'a_100procentov.jpg')or($xpodlaga_ == 'c_70procentov.jpg')or($xpodlaga_ == 'a_100procentov_meja3.jpg')or($xpodlaga_ == 'a_70procentov_meja3.jpg') )
{
// -- velika slika 3306x2340 tock

  $y1 = 388580.7;   $x1 = 43730.4;     
  $y2 = 601556.8;   $x2 = 181975.7;    
  //$sy1=414;         $sx1=1874;
  //$sy1=422;         $sx1=1885;
  $sy1=320;         $sx1=2377;
  $sy2=3655;        $sx2=212;
$ky=($sy2-$sy1)/($y2-$y1);
$kx=-($sx2-$sx1)/($x2-$x1);
}


if (($xpodlaga_ == 'http://www.arso.gov.si/vreme/napovedi%20in%20podatki/radar.gif')
or ($xpodlaga_ == 'http://www.arso.gov.si/vreme/napovedi%20in%20podatki/satelit.jpg'))
{
// -- velika slika 3306x2340 tock

  $y1 = 388580.7;   $x1 = 43730.4;     
  $y2 = 601556.8;   $x2 = 181975.7;    
  
  $sy1=230;         $sx1=464;
  $sy2=649;        $sx2=190;
$ky=($sy2-$sy1)/($y2-$y1);
$kx=-($sx2-$sx1)/($x2-$x1);
}


//-- konec georeferenciranja karte ----------


//--- Branje in locevanje podatkov s '|' 


//----- iskanje ekstremov--------------------
//$vred_p=array(-100-1000);
$vrstice = explode("\r\n",$gis_podatki);
$st_vr = count($vrstice);
for($i=0; $i<$st_vr; $i++)
{
$yxpi = explode("|",$vrstice[$i]);  //$yxpi[1] = x je druga kolona, $yxpi[2] = je tretja kolona y
$vred_p[$i]=1*$yxpi[3]; $vred_a[$i]=abs(1*$yxpi[3]);
}

$max_v=max($vred_p); $max_a=max($vred_a);
$min_v=min($vred_p);
#imagestring($im,10,700,500,$max_a.$max_v."-".$min_v,$rdeca);

//$delezy=1/4;  //max vrednost zavzema 1/4 y osi
$rel_fak=$scale_y/($delezy*$max_a);













$k1=0; $k2=0; $k3=0; $k4=0; $k5=0; $k6=0; $k7=0; $k8=0; $k9=0; $k10=0;

//http://www.flashforum.de/forum/archive/index.php/t-119920.html
//http://www.webmasterworld.com/forum88/13144.htm  !!!!!!!!!!!!


$vrstice = explode("\r\n",$gis_podatki);
$st_vr = count($vrstice);
for($i=0; $i<$st_vr; $i++)
{
//echo 'Vrstica '.$i.': '.$vrstice[$i].'<br>';
//---- to spodaj deluje
////imagestring($im,10,700,440,"ttttttttttttttvrstice",$rdeca);
#imagestring($im,10,700,500+$i*14,$vrstice[$i],$rdeca);

$yxpi = explode("|",$vrstice[$i]);  //$yxpi[1] = x je druga kolona, $yxpi[2] = je tretja kolona y

$pikica_x= $ky*(1*$yxpi[1] - ($y1-(1/$ky)*$sy1));
$pikica_y= $kx*(-1*$yxpi[2] + ($x2+(1/$kx)*$sx2) );


# --1,2,,3,4 --  izris pikice ali drugih simbolov za posamezne prebrane lokacije
# --1,2,,3,4 --  izris pikice ali drugih simbolov za posamezne prebrane lokacije
# --1,2,,3,4 --  izris pikice ali drugih simbolov za posamezne prebrane lokacije


//function drawPoint($img, $radius, $origo_x, $origo_y, $pointColor);
//-- spodaj postaje, pikice
$gor=round($rel_fak*$yxpi[3]);

if ($yxpi[0]==1){ //kategorija 1
imagefilledrectangle($im,$pikica_x-3, $pikica_y-3,$pikica_x+3,$pikica_y+3,$magenta);

if ($vred_stolpic==1) {// --- risanje stolpca ---------------
imagefilledrectangle($im,$pikica_x-3, $pikica_y-10-$gor,$pikica_x+3,$pikica_y-10,$magenta);
}
$k1++;
}


$radij1=6;
if ($yxpi[0]==2){ //kategorija  2
drawPoint($im, $radij1, $pikica_x,$pikica_y, $modra); 

if ($vred_stolpic==1) {// --- risanje stolpca ---------------
imagefilledrectangle($im,$pikica_x-3, $pikica_y-10-$gor,$pikica_x+3,$pikica_y-10,$modra);
}
$k2++;
}

$radij2=7;
if ($yxpi[0]==3){ //kategorija  3
drawPoint($im, $radij2, $pikica_x,$pikica_y, $rdeca); 

if ($vred_stolpic==1) {// --- risanje stolpca ---------------
imagefilledrectangle($im,$pikica_x-3, $pikica_y-10-$gor,$pikica_x+3,$pikica_y-10,$rdeca);
}
$k3++;
}


if ($yxpi[0]==4){ //kategorija  4
# triangle($slika_prazna, $pikica_x,$pikica_y, $pikica_x+12,$pikica_y, $pikica_x+6,$pikica_y-8, $crna); 
# triangle($slika_prazna, $pikica_x-6,$pikica_y, $pikica_x+6,$pikica_y, $pikica_x,$pikica_y-8, $rdeca);
triangle($im, $pikica_x-6,$pikica_y+4, $pikica_x+6,$pikica_y+4, $pikica_x,$pikica_y-4, $crna); 


if ($vred_stolpic==1) {// --- risanje stolpca ---------------
imagefilledrectangle($im,$pikica_x-3, $pikica_y-10-$gor,$pikica_x+3,$pikica_y-10,$crna);
}

$k4++;
}




// -- pripis imen in x_vrednosti k tockam

$pripis=""; $pripis_st="";  $pomi="";
if ($ste_da_==1)  { $pripis="(".$yxpi[3].")"; }
if ($tekst_==1) { if ($ste_da_==1)  {$pomi="-";} $pripis=$pripis.$pomi.$yxpi[4];  }
imagestring($im,$vel_tekst_,$pikica_x+15,$pikica_y-8,$pripis,$crna);



} // ---konec branja in dolocanja polozaja ... na karti -- for($i=0; $i<$st_vr; $i++)





//-- izpis naslova karte

$naslov_kar=$naslovk;
$naslov_legax=$scale_x/14;     $naslov_legay=$scale_y/18;
imagestring($im,$fontnas,$naslov_legax,$naslov_legay,$naslov_kar,$crna);






// ---- legenda ----------------------------
// ---- legenda ----------------------------
// ---- legenda ----------------------------
// ---- legenda ----------------------------
// ---- legenda --------
if ($legendak == 1) {



$legenda_legax=$scale_x/1.2; $legenda_legay=$scale_y/2.1; //1.2, 2
//---  kje lezi napis LEGENDA:

imagestring($im,10,$legenda_legax-20,$legenda_legay-8,"LEGENDA:",$crna);
imagestring($im,10,$legenda_legax-20,$legenda_legay-6,"________",$crna);


$korl=20; //center znaka za dol +9, center levo -4
$legendaxy = explode("\r\n",$rang);
foreach ($legendaxy as $tipi_izz) {
$tipi_izz_en = explode("=",$tipi_izz);

if (1*$tipi_izz_en[0]==1) {  //padavine  modra kocka 6x6
$radij1=6; $legenda_legay=$legenda_legay+$korl;     $st_ime_tip="(".$k1.") ".$tipi_izz_en[1];
imagefilledrectangle($im,$legenda_legax-8,$legenda_legay+6,$legenda_legax-2,$legenda_legay+12,$magenta); 
imagestring($im,$fontleg,$legenda_legax+10,$legenda_legay,$st_ime_tip,$crna);
}

if (1*$tipi_izz_en[0]==2) {  // klima 2  krogec
$radij1=6; $legenda_legay=$legenda_legay+$korl;      $st_ime_tip="(".$k2.") ".$tipi_izz_en[1];
drawPoint($im, $radij1,$legenda_legax-4,$legenda_legay+9, $modra); 
imagestring($im,$fontleg,$legenda_legax+10,$legenda_legay,$st_ime_tip,$crna);
}


if (1*$tipi_izz_en[0]==3) {  //sinop 3 krogec
$radij2=7; $legenda_legay=$legenda_legay+$korl;      $st_ime_tip="(".$k3.") ".$tipi_izz_en[1];
drawPoint($im, $radij2,$legenda_legax-4,$legenda_legay+9, $rdeca); 
imagestring($im,$fontleg,$legenda_legax+10,$legenda_legay,$st_ime_tip,$crna);
}


if (1*$tipi_izz_en[0]==4){ //amp(M) 4 trikotnik c=12 Vc=8
$legenda_legay=$legenda_legay+$korl;     $st_ime_tip="(".$k4.") ".$tipi_izz_en[1];
triangle($im, $legenda_legax-8,$legenda_legay+10, $legenda_legax+4,$legenda_legay+10, $legenda_legax-2,$legenda_legay+2, $crna); 
imagestring($im,$fontleg,$legenda_legax+10,$legenda_legay,$st_ime_tip,$crna);
}

}}



// ---- konec zapisa legende --------------
// ---- konec zapisa legende --------------



// ----  zapis identifikacije, naslov, kdo, kaj in kdaj
// ----  zapis identifikacije, naslov, kdo, kaj in kdaj
// ----  zapis identifikacije, naslov, kdo, kaj in kdaj
$datum = date("Y-m-d");
$lega_podx=$scale_x/25; $lega_pody=$scale_y/1.05; 

$identifi="SLOVENIJA, avtor kode za izris karte - Zorko Vièar, datum izrisa: ".$datum.".";
imagestring($im,2,$lega_podx,$lega_pody,"$identifi",$crna);










// Return the image as a JPEG - it would be @ 230k as PNG!
# nariše sliko 
header("Content-Type: image/jpeg");
imagejpeg($im,"",80);
imagedestroy($im);


?>


