+++ /dev/null
-<?php\r
-require_once("../path_index.php");
-\r
-//header("Content-Type: text/xml"); \r
-$random=md5($_SERVER["REQUEST_URI"] ).".sld";\r
-$leg=$_GET['legend'];\r
-//$random2=DIR_PLATFORM."/synthesys/www/v1/cr_img/".(rand()%300).".png"; \r
-$random2=DIR_PLATFORM."/synthesys/www/v1/img/".md5($_SERVER["REQUEST_URI"] ).".png";\r
-\r
-$sld_dir = DIR_PLATFORM."/synthesys/www/v1/sld"; \r
-$img_dir = DIR_PLATFORM."/synthesys/www/v1/img";\r
-
-$d = dir($sld_dir);\r
-$e = dir($img_dir);\r
-\r
-\r
-$ad=$_GET['ad'];\r
-$ad=explode('||',$ad);\r
-\r
-\r
-$layers=$_GET['l'];\r
-\r
-if (ereg(",",$layers))\r
-{\r
- \r
- $layers=explode(",",$layers);\r
- $ls=array();\r
- $ls_styles=array();\r
- foreach ($layers as $k=>$v)\r
- {\r
- switch ($v)\r
- { \r
- case ('earth'): \r
- $v="country_earth";\r
- \r
- $ls[]=$v;\r
- break;\r
- case ('tdwg1'): \r
- $v="topp:tdwg_level_1";\r
- $ls[]=$v;\r
- \r
- // array_push($ls,$v);\r
- break;\r
- case ('tdwg2'): \r
- $v="topp:tdwg_level_2";\r
- $ls[]=$v;\r
- \r
-// array_push($ls,$v);\r
- break;\r
- case ('tdwg3'): \r
- $v="topp:tdwg_level_3";\r
- $ls[]=$v;\r
- break;\r
- case ('tdwg4'): \r
- $v="topp:tdwg_level_4";\r
- $ls[]=$v;\r
- break;\r
- }\r
-\r
-//ƒ $v;\r
- }\r
-\r
-$styles_string="";\r
-\r
-foreach ($ls as $k=>$v)\r
-{\r
-\r
- $ls_string.=$v.",";\r
- $styles_string.="line,";\r
- }\r
- $ls_string=substr($ls_string,0,-1);\r
- $styles_string=substr($styles_string,0,-1);\r
- // $styles_string.=$ls[count($ls)-1];\r
- \r
-}\r
-else\r
-{\r
- switch ($layers)\r
- {\r
-\r
- case ('earth'): \r
- $ls_string="topp:country_earth";\r
- break;\r
- case ('e_prov'): \r
- $ls_string="topp:province_europe"; \r
- break;\r
- case ('tdwg1'): \r
- $ls_string="topp:tdwg_level_1";\r
- break;\r
- case ('tdwg2'): \r
- $ls_string="topp:tdwg_level_2";\r
- break;\r
- case ('tdwg3'): \r
- $ls_string="topp:tdwg_level_3";\r
- break;\r
- case ('tdwg4'): \r
- $ls_string="topp:tdwg_level_4";\r
- break;\r
- \r
- }\r
-\r
-\r
- $styles_string="line";\r
-\r
-}\r
-\r
-\r
-foreach ($ad as $k=>$v)\r
-{\r
-//tdwg3:a:PHI,SPA|b:ITA\r
-//var_dump($v);\r
-\r
-//$ad2=explode('|',$v);\r
-\r
-\r
-if ($_GET['title'])\r
-{\r
-$title=$_GET['title'];\r
-}\r
-//title=a:cultivated|b:forest\r
-$t=explode('|',$title);\r
-$title_array=array();\r
-\r
-foreach ($t as $k=>$v)\r
-{\r
-$title=explode(':',$v);\r
-$title_array[$title[0]]=$title[1];\r
-}\r
-\r
-if ($_GET['label'])\r
-{\r
-$label=$_GET['label'];\r
-}\r
-//$images=a,b:orange,green\r
-if ($_GET['images_url'])\r
-{\r
-$images_url=$_GET['images_url'];\r
-//$images_url="a,b:edit.csic.es/fitxers/hatch_images|c:edit.csic.es/fitxers/hatch_images";\r
-$images_url=explode('|',$images_url);\r
-\r
-}\r
-\r
-\r
-$symbols=$_GET['symbols'];\r
-//$symbols="a,b:hatch_orange.gif|c:hatch_green.gif";\r
-$symbols=explode('|',$symbols);\r
-$symbols_url=array();\r
-foreach ($symbols as $k=>$v)\r
-{\r
- $symbols=explode(':',$v);\r
- $keys=explode(',',$symbols[0]);\r
- $get_v=explode(',',$symbols[1]);\r
-// var_dump ($get_v);\r
- if ($_GET['images_url'])\r
-{\r
- foreach ($keys as $k=>$v)\r
- {\r
-\r
- $symbols_url[$v]['symbols']=$get_v[0];\r
- $symbols_url[$v]['size']=$get_v[1]; \r
- $symbols_url[$v]['format']=$get_v[2]; \r
- } \r
- }\r
-}\r
-if ($_GET['images_url'])\r
-{\r
-foreach ($images_url as $k=>$v)\r
-{\r
-$images=explode(':',$v);\r
-//echo $images[0];\r
-$keys=explode(',',$images[0]);\r
-//var_dump($keys);\r
-foreach ($keys as $k=>$v)\r
-{\r
-$symbols_url[$v]['url']=$images[1]; \r
-}\r
-}\r
-}\r
-\r
-\r
-//$ad="tdwg2/d:Mexico,Caribbean||tdwg4/b:Chiapas,Oaxaca,Veracruz||tdwg3/a:MXC|b:MXE,MXG|c:MXS,MXT";\r
-\r
-$color=$_GET['as'];\r
-\r
- $ms=$_GET['ms'];\r
- if (ereg(",",$ms))\r
- {\r
- $ms=explode(',',$ms);\r
- $width=$ms[0];\r
- $height=$ms[1];\r
- }\r
- else \r
- {\r
- $width=$ms; \r
- $height=$width/2;\r
-\r
-\r
- };\r
- \r
-\r
-//var_dump($ls_string);\r
-\r
-$col=explode('|',$color);\r
-//no dóna error al haver-n'hi només un!\r
-$total_symbols=array();\r
-//$color="a:d7add2,AOOOOOF,2,dotted,cultivated|b:ab8dc9F";\r
-foreach ($col as $color)\r
-{\r
-\r
- $color=explode(':',$color);\r
- $symbols_key=$color[0];\r
- $symbols_val=$color[1];\r
- if (!ereg(",",$symbols_val))\r
- {\r
- //only fill area; others are default\r
- $total_symbols[$symbols_key][]=$symbols_val; \r
- } \r
- else \r
- {\r
- $s=explode(',',$symbols_val);\r
- foreach ($s as $k=>$v)\r
- {\r
- $total_symbols[$symbols_key][]=$v; \r
- }\r
- }\r
-// $total_symbols[$symbols_key]=$col_val;\r
-}\r
-//var_dump($total_symbols);\r
-//'a'-->array 'blue'\r
-foreach ($total_symbols as $k=>$v)\r
-{\r
- \r
-//foreach ($total_symbols as $k2=>$v2)\r
-//echo $total_symbols[$k][0]."<br>";\r
- //var_dump($total_symbols[$k]);\r
-//$color="a:d7add2,AOOOOOF,2,dotted|b:ab8dc9F"; \r
-\r
- for ($i=0;$i<5;$i++)\r
- {\r
- //echo $total_symbols[$k][$i]."<br>";\r
- switch ($i)\r
- {\r
- case 0:\r
-\r
-// if (array_key_exists($i,$total_symbols[$k])){ \r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="c5bec0";\r
- }\r
-//}\r
-\r
- case 1:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="10090b"; \r
- }\r
- case 2:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="0.5"; \r
- }\r
- /* case 3:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]=""; \r
- }*/\r
- /* case 4:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="no_style";\r
- }*/\r
- case 3:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="no_style";\r
- }\r
- case 4:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="no_label";\r
- }\r
- }//fi switch\r
- } //fi for\r
- if (array_key_exists($k,$symbols_url))\r
- {\r
- $total_symbols[$k]['5']=$symbols_url[$k]['url'];\r
- $total_symbols[$k]['6']=$symbols_url[$k]['symbols'];\r
- $total_symbols[$k]['7']=$symbols_url[$k]['size'];\r
- $total_symbols[$k]['8']=$symbols_url[$k]['format'];\r
-\r
- }\r
- \r
-}//fir for each\r
-//var_dump($total_symbols);\r
-\r
-$tdwg=array();\r
-foreach ($ad as $k=>$v)\r
-{\r
-$v=explode('|',$v);\r
-\r
-foreach ($v as $k=>$v)\r
-{\r
-if ($k==0)\r
-{\r
- \r
- $first_data=explode(':',$v);\r
- $first_layer=$first_data[0];\r
- $first_style=$first_data[1];\r
- $first_pol=$first_data[2];\r
-\r
-//var_dump($v);\r
- if (!ereg(",",$first_pol))\r
- {\r
- \r
- $tdwg[$first_layer][$first_style]['zones']=$first_pol;\r
- \r
-// var_dump($tdwg[$first_layer][$first_style]['zones']);-->NCS\r
- \r
- }\r
- else\r
- {\r
- //tdwg4:c:Nicaragua,Chiapas,Oaxaca,Veracruz\r
- $l3=explode(',',$first_pol);\r
- foreach($l3 as $value)\r
- {\r
-\r
- $tdwg[$first_layer][$first_style]['zones'][]=$value;\r
- //echo $value."<br>";\r
- }\r
- }\r
-// var_dump($first_pol); \r
-} \r
-else //not the first data \r
- { \r
-\r
- //b:Mexico\r
- //si no trobem cap comma, (ex: b:IRQ )d:NA o c:NA|b:PI\r
- // a cada estil l'hi correspon només un país \r
-// var_dump($v);\r
- $data=explode(':',$v);\r
- \r
-\r
- if (!ereg(",",$data[1]))\r
- {\r
-\r
- $tdwg[$first_layer][$data[0]]['zones']=$data[1];\r
- // var_dump($tdwg[$first_layer]);\r
-//var_dump($data[1]);\r
- //$styles[$key]['zones'];\r
- // echo $val;\r
- }\r
- else\r
- {\r
- //c:Nicaragua,Chiapas,Oaxaca,Veracruz\r
- $l3=explode(',',$data[1]);\r
- foreach($l3 as $value)\r
- {\r
- $tdwg[$first_layer][$data[0]]['zones'][]=$value;\r
- //echo $value."<br>";\r
- }\r
- }\r
-\r
-}\r
-\r
-\r
-} \r
-\r
-}\r
-\r
-}\r
-\r
-//var_dump($tdwg);\r
-$tdwg3_val=array();\r
-$tdwg3_total=array();\r
-\r
-$legend="<gml>";\r
-foreach ($total_symbols as $k=>$v)\r
-{\r
-//var_dump($k); //a,b\r
-$legend.="<style><name>".$title_array[$k]."</name>";\r
-//$legend.="<style><name>".$total_symbols[$k][4]."</name>";\r
-\r
-$legend.="<label>".$k."</label>";\r
-\r
-if (array_key_exists($k['url'],$symbols_url))\r
-{\r
-\r
- \r
-$legend.="<hatching>http://".$symbols_url[$k]['url']."/".$symbols_url[$k]['symbols'].".".$symbols_url[$k]['format']."</hatching>";\r
-switch ($symbols_url[$k]['format'])\r
-{\r
- case ('gif'): $format='image/gif';break;\r
- case ('png'): $format='image/png';break;\r
- case ('jpeg'): $format='image/jpeg';break;\r
-}\r
-\r
-$legend.="<symbol_size>".$symbols_url[$k]['size']."</symbol_size>";\r
-$legend.="<symbol_format>".$format."</symbol_format>";\r
-//$xml.="<hatch_symbol>".."</hatch_symbol>";\r
-$legend.="<color>hatching</color>";\r
-}\r
-else { \r
-$legend.="<hatching>NO</hatching>";\r
-$legend.="<color>".$total_symbols[$k][0]."</color>";\r
-}\r
-\r
-\r
-$legend.="<stroke_color>".$total_symbols[$k][1]."</stroke_color>";\r
-$legend.="<stroke_width>".$total_symbols[$k][2]."</stroke_width>";\r
-switch ($total_symbols[$k][3])\r
-{\r
- case ('1_2'): $total_symbols[$k][3]="1 2 1 2";break;\r
- case ('1_4'): $total_symbols[$k][3]="1 4 1 4";break;\r
- case ('2_2'): $total_symbols[$k][3]="2 2 2 2";break;\r
- case ('2_4'): $total_symbols[$k][3]="2 4 2 4";break;\r
- case ('5_7'): $total_symbols[$k][3]="5 7 5 7";break;\r
- case ('10_5'): $total_symbols[$k][3]="10 5 10 5";break;\r
-}\r
-$legend.="<stroke_style>".$total_symbols[$k][3]."</stroke_style>";\r
-$legend.="</style>";\r
-}\r
-$legend.="</gml>";\r
-$legend_xml[]=$legend;\r
-//var_dump($legend_xml);\r
-//echo $legend;\r
- $p=simplexml_load_string($legend_xml[0]);\r
-$hatching=$p->style->hatching;\r
-$xsl = new XSLTProcessor;\r
-$xsl->setParameter( '', 'symbol', $hatching);\r
-$xsl->setParameter( '', 'layer', $layer);\r
-$xsl->setParameter( '', 'field', $field);\r
-$xsl->setParameter( '', 'label_field', $label_field);\r
-$style = realpath('areas_legend_no.xsl');\r
-$dom_new = new DOMDocument();\r
-$dom_new->load($style);\r
-$xsl->importStyleSheet($dom_new);\r
-$dom_new->loadXML($legend_xml[0]);\r
-$out = $xsl->transformToXML($dom_new);\r
-\r
-//$random = (rand()%300).".sld";\r
-//$leg_path_towrite=DIR_PLATFORM."/edit_wp5/fitxers/sld/$random";\r
-$leg_path_towrite=DIR_PLATFORM."/synthesys/www/v1/sld/$random";\r
-$fp=fopen("$leg_path_towrite","w");\r
-$write=fwrite($fp,$out);\r
-$leg_url=URL_SITE."/synthesys/www/v1/sld/$random";\r
-\r
-\r
-$legs=array();\r
-foreach ($tdwg as $k=>$v)\r
-{\r
-\r
-foreach ($tdwg[$k] as $k2=>$v2)\r
-{\r
-//echo $k; -->tdwg3\r
-//echo $k2; --->a\r
-$legs[$k2]=$k;\r
-//legs--->array(2) { ["b"]=> string(5) "tdwg1" ["a"]=> string(5) "tdwg3" } \r
-//LEGENDS!!!\r
-\r
-}\r
-\r
-\r
-$xml="<gml>";\r
-$xml.="<feature>".$k."</feature>";\r
-\r
-foreach ($v as $style=>$value)\r
-{\r
-\r
-$xml.="<style><name>".$style."</name>";\r
-$xml.="<label>".$label."</label>";\r
-\r
-if (array_key_exists($style,$symbols_url))\r
-{\r
-//var_dump($symbols_url[$style]);\r
- \r
-$xml.="<hatching>http://".$symbols_url[$style]['url']."/".$symbols_url[$style]['symbols'].".".$symbols_url[$style]['format']."</hatching>";\r
-switch ($symbols_url[$style]['format'])\r
-{\r
- case ('gif'): $format='image/gif';break;\r
- case ('png'): $format='image/png';break;\r
- case ('jpeg'): $format='image/jpeg';break;\r
-}\r
-\r
-$xml.="<symbol_size>".$symbols_url[$style]['size']."</symbol_size>";\r
-$xml.="<symbol_format>".$format."</symbol_format>";\r
-//$xml.="<hatch_symbol>".."</hatch_symbol>";\r
-$xml.="<color>hatching</color>";\r
-}\r
-else { \r
-$xml.="<hatching>NO</hatching>";\r
-$xml.="<color>".$total_symbols[$style][0]."</color>";\r
-}\r
-\r
-$xml.="<stroke_color>".$total_symbols[$style][1]."</stroke_color>";\r
-$xml.="<stroke_width>".$total_symbols[$style][2]."</stroke_width>";\r
-switch ($total_symbols[$style][3])\r
-{\r
- case ('1_2'): $total_symbols[$style][3]="1 2 1 2";break;\r
- case ('1_4'): $total_symbols[$style][3]="1 4 1 4";break;\r
- case ('2_2'): $total_symbols[$style][3]="2 2 2 2";break;\r
- case ('2_4'): $total_symbols[$style][3]="2 4 2 4";break;\r
- case ('5_7'): $total_symbols[$style][3]="5 7 5 7";break;\r
- case ('10_5'): $total_symbols[$style][3]="10 5 10 5";break;\r
-}\r
-$xml.="<stroke_style>".$total_symbols[$style][3]."</stroke_style>";\r
-\r
-foreach ($value as $key=>$country)\r
-{\r
-\r
-if(!is_array($country))\r
-{\r
-//$tdwg[$k][count]\r
-$xml.="<country>".$country."</country>";\r
-\r
-$xml.="</style>";\r
-}\r
-else \r
-{\r
-\r
-foreach ($tdwg[$k][$style]['zones'] as $zones)\r
-{\r
-$xml.="<country>".$zones."</country>";\r
-}\r
-$xml.="</style>";\r
-} //fi foreach country\r
-}\r
-}\r
-$xml.="</gml>";\r
-\r
-$gmls[$k]=$xml;\r
-}\r
-//var_dump($gmls[$k]);\r
-\r
-if ($_GET['bbox'])\r
- {\r
- $bbox=$_GET['bbox'];\r
- }\r
- else{\r
- $conn = pg_connect(POSTGIS_CS);\r
- if (pg_ErrorMessage($conn)) { \r
- echo "<p><b>Ocurrio un error conectando a la base de datos: .</b></p>"; \r
- }\r
- else\r
- {\r
- \r
- \r
- $BBOX_sql="select extent(the_geom) from tdwgs where "; \r
- $c=0;\r
- foreach ($tdwg as $k=>$v)\r
- {\r
-\r
-\r
- switch ($k)\r
- {\r
-\r
-\r
- case ('tdwg1'): $layer='topp:tdwg_level_1';$db_layer='tdwg_level_1';\r
- $field='code';\r
- //??????????????????????????????????????$label_field='zona';\r
- \r
- break;\r
- case ('tdwg2'): $layer='topp:tdwg_level_2';$db_layer='tdwg_level_2';\r
- $field='code';\r
- $label_field='code';\r
- break;\r
- case ('tdwg3'): $layer='topp:tdwg_level_3'; $db_layer='tdwg_level_3';\r
- $field='code';$layer_sh="TDWG 3";$label_field='code';\r
- break;\r
- case ('tdwg4'): $layer='topp:tdwg_level_4';$db_layer='tdwg_level_4';\r
- $field="code";\r
- $label_field='code';$layer_sh="TDWG 4";\r
- break;\r
- }\r
-\r
-\r
- foreach($v as $key=>$val)\r
- {\r
-// var_dump($val);\r
- if ($c>0)\r
- {\r
- $BBOX_sql.="OR ";\r
- }\r
- if (count($val['zones'])==1)\r
- {\r
-\r
- $BBOX_sql.="code='".$val['zones']."' ";\r
-\r
- }else\r
- {\r
- $count=count($val['zones']);\r
- //$BBOX_sql.="select extent(the_geom) from tdwgs where code=";\r
-\r
-\r
- for ($i=0;$i<($count-1);$i++)\r
- {\r
- \r
- if ($i==0)\r
- {\r
- $BBOX_sql.="code='".$val['zones'][0]."'";\r
- }\r
- else\r
- {\r
- $BBOX_sql.=" OR code='".$val['zones'][$i]."'";\r
- }\r
- \r
- }\r
- // var_dump($tdwg2_total[1][2]);\r
- //QUINA CUTRADA!!!!!\r
-\r
- $BBOX_sql.=" OR code='".$val['zones'][$count-1]."'";\r
-\r
- }\r
- $c++;\r
- }\r
-\r
- }//end if bbox\r
- //echo $BBOX_sql;\r
-\r
- $postgis_result=pg_query($BBOX_sql);\r
-\r
- while ($row = pg_fetch_array($postgis_result, NULL, PGSQL_ASSOC))\r
- {\r
-\r
- $b=substr($row['extent'],4);\r
- // echo $height;\r
- $cadena=substr($b,0,-1); \r
- $bbox=str_replace(' ',',',$cadena);\r
- // echo "this is bbox".$bbox;\r
- }\r
- }\r
- \r
- }\r
- \r
-$recalculate="true";\r
-if ($_GET['recalculate'])\r
-{\r
-if ($_GET['recalculate']=='false')\r
-{\r
-$recalculate='false';\r
-}\r
-};\r
-\r
-\r
- if ($recalculate=="true")\r
- {\r
- $bbox2=explode(',',$bbox); \r
-\r
- $ratio_x=$bbox2[2]-$bbox2[0];\r
- $ratio_y=abs($bbox2[1]-$bbox2[3]);\r
- if (((($ratio_x)/$ratio_y))<2)\r
- {\r
- $to_change='x';\r
- // echo "yesss XXXX";\r
- //echo "ratio is ".(($ratio_x*2)/$ratio_y)."<br>";\r
- }\r
- else \r
- { \r
- $to_change='y';\r
- }\r
- switch ($to_change)\r
- {\r
-\r
- case 'x':\r
- $diff_x=abs((($ratio_x)/2 -$ratio_y)/2); \r
- $bbox2[0]=$bbox2[0]-$diff_x; \r
- $bbox2[2]=$bbox2[2]+$diff_x; \r
- $bbox=$bbox2[0].",".$bbox2[1].",".$bbox2[2].",".$bbox2[3];\r
- $ratio=$ratio_x/$ratio_y;\r
- $width = (int)($height+($ratio*30));\r
- break; \r
-\r
-\r
- case 'y':\r
-\r
- $diff_x=abs((($ratio_x -$ratio_y)/2)/2); \r
- if ($bbox2[1]<0)\r
- {\r
- //echo "bbox_1 negativa";\r
- $bbox2[1]=$bbox2[1]-$diff_x;\r
- if (abs($bbox2[1])>90)\r
- {\r
- $bbox2[1]=-90;\r
- }\r
- }\r
- else \r
- {\r
- $bbox2[1]=$bbox2[1]-$diff_x; \r
- if (abs($bbox2[1])>90)\r
- {\r
- $bbox2[1]=90; \r
- }\r
- };\r
- if ($bbox2[3]<0 )\r
- {\r
- $bbox2[3]=$bbox2[3]+$diff_x; \r
- if (abs($bbox2[3])>90)\r
- {\r
- $bbox2[3]=-90; \r
- }\r
- }\r
- else\r
- {\r
- $bbox2[3]=$bbox2[3]+$diff_x;\r
- if (abs($bbox2[3])>90)\r
- {\r
- $bbox2[3]=90; \r
- }\r
- }\r
- $bbox=$bbox2[0].",".$bbox2[1].",".$bbox2[2].",".$bbox2[3];\r
- break;\r
- }//fi switch\r
- }//fi recalculate=true\r
- else\r
- {\r
- //Recalculate =false (we try to put everything)
- //test added by ftheeten 2010/04/09 to avoid error message\r
- if($ratio_y!=0)
- {
- $ratio=$ratio_x/$ratio_y;\r
- }
- //echo $ratio;\r
-// $height = (int)($width / $ratio);\r
- \r
- }\r
- \r
-//echo $height;\r
-$url_list=array();\r
-$legend_list=array();\r
-$files_list=array();\r
-\r
-$c=count($gmls);\r
-\r
-global $bbox;\r
-if (isset($_GET['foo']))\r
-{\r
- $json='foo({"bbox":"'.$bbox.'","legend":"'.$leg_url.'","layers":['; \r
-}\r
-else\r
-{\r
-$json='[{"bbox":"'.$bbox.'","legend":"'.$leg_url.'","layers":[';\r
-}\r
-$i=0;\r
-foreach ($gmls as $feature=>$v)\r
-{\r
-$i++;\r
-$dom_new = new DOMDocument();\r
-\r
-switch ($feature)\r
-{\r
-\r
-\r
- case ('tdwg1'): $layer='topp:tdwg_level_1';$db_layer='tdwg_level_1';\r
- $field='code';\r
- $label_field='zona';\r
- break;\r
- case ('tdwg2'): $layer='topp:tdwg_level_2';$db_layer='tdwg_level_2';\r
- $field='code';\r
- $label_field='code';\r
- break;\r
- case ('tdwg3'): $layer='topp:tdwg_level_3'; $db_layer='tdwg_level_3';\r
- $field='code';$layer_sh="TDWG 3";$label_field='code';\r
- break;\r
- case ('tdwg4'): $layer='topp:tdwg_level_4';$db_layer='tdwg_level_4';\r
- $field="code";\r
- $label_field='code';$layer_sh="TDWG 4";\r
- break;\r
-}\r
-\r
-$p=simplexml_load_string($gmls[$feature]);\r
-$hatching=$p->style->hatching;\r
-$xsl = new XSLTProcessor;\r
-$xsl->setParameter( '', 'symbol', $hatching);\r
-$xsl->setParameter( '', 'layer', $layer);\r
-$xsl->setParameter( '', 'field', $field);\r
-$xsl->setParameter( '', 'label_field', $label_field);\r
-$style = realpath('areas.xsl');\r
-$dom_new->load($style);\r
-$xsl->importStyleSheet($dom_new);\r
-$dom_new->loadXML($gmls[$feature]);\r
-$out = $xsl->transformToXML($dom_new);\r
-srand(time());\r
-//$random = (rand()%300).".sld";\r
-$path_towrite=DIR_PLATFORM."/synthesys/www/v1/sld/".$feature."_".$random;\r
-//echo $path_towrite;\r
-$fp=fopen("$path_towrite","w");\r
-$write=fwrite($fp,$out);\r
-array_push($files_list,$path_towrite);\r
-//echo $out;\r
-\r
-\r
-\r
-$json.='{"tdwg": "' . $feature. '","session": "'.$sessionid.'",';\r
-\r
-//$json.='"sld": "' . $feature."_".$random.'"}';\r
-//correction ftheeten 09/04/2010
-$json.='"sld": "' . V1_SLD_URL."/".$feature."_".$random.'"}';
-
-
-if ($i < $c)\r
-{\r
-$json.=',';\r
-}\r
-\r
-$url=URL_GEOSERVER."?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&TRANSPARENT=TRUE&SERVICE=WMS&EPSG=4326&layers=";\r
-$url.=$layer."&format=image/png&bbox=".$bbox."&WIDTH=".$width."&HEIGHT=".$height."&SLD=".URL_SITE."/synthesys/www/v1/sld/".$feature."_".$random;\r
-
-//print($url);
-\r
-//provinces,world\r
-\r
-\r
-\r
-\r
-global $height;\r
-\r
-\r
-\r
-\r
-$url_list[]=$url;\r
-$legend_list[]=$legend_url;\r
-}
-//correction ftheeten 09/04/2010
-$json.="]";
-
-
-$json.=",\"geoserver\": \"".URL_GEOSERVER."\"";\r
-$json.="}";
-if (isset($_GET['foo']))\r
-{\r
-$json.=")"; \r
-}\r
-else\r
-{\r
-$json.="]"; \r
-}\r
-\r
-\r
-\r
-\r
-$img=$_GET['img'];\r
-\r
-if ($img=='false')\r
-{
-//RMCA 09/04/2010
-\r
-if ($img=='false')
-{
- $headerText="Content-Type: application/json";
-
-}
-
-header($headerText);\r
-echo $json;\r
-}\r
-else\r
-{\r
- $random3=DIR_PLATFORM."/synthesys/www/v1/img/".md5($_SERVER["REQUEST_URI"] )."_layers.png";\r
-\r
- \r
- if ($ls_string)\r
- {\r
- $url2=URL_GEOSERVER."?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&TRANSPARENT=TRUE&SERVICE=WMS&EPSG=4326&layers=".$ls_string;\r
- $url2.="&format=image/png&bbox=".$bbox."&WIDTH=".$width."&HEIGHT=".$height."&STYLES=".$styles_string;\r
- $c="convert '$url2' '$random3'";\r
- shell_exec($c);\r
-\r
- } \r
- else\r
- {\r
- $c="convert convert -size '".$width."x".$height."' xc:transparent $random3";\r
-\r
- shell_exec($c);\r
- }\r
-
-//print(count($url_list)>1);\r
-\r
-if(count($url_list)>1)\r
-{\r
-\r
-$c="composite ";\r
-for ($i=0;$i<count($url_list);$i++)\r
-{\r
-$c.="'".$url_list[$i]."' ";\r
-}\r
-\r
-$c.="'$random2' ";\r
-\r
-shell_exec($c);\r
-$c="composite '$random3' '$random2' '$random2'";\r
-\r
-shell_exec($c);\r
-\r
-}\r
-else\r
-{\r
-//SLDs over normal layers\r
-$c="composite '$url_list[0]' '$random3' '$random2'";\r
-\r
-shell_exec($c);\r
-\r
-\r
-}\r
-\r
-\r
-//print($c);
-//print("----------------");
-\r
-if ($leg=='1')\r
-{\r
- $legend_url=URL_GEOSERVER."/GetLegendGraphic?SERVICE=WMS&VERSION=1.1.1&format=image/png&TRANSPARENT=TRUE&WIDTH=64&HEIGHT=36&";\r
- $legend_url.="layer=topp:tdwg_level_3&LEGEND_OPTIONS=forceLabels:on;fontStyle:italic;fontSize:12&SLD=".$leg_url;\r
- \r
-$mlp=$_GET['mlp'];\r
-switch ($mlp)\r
-{\r
-case ('1'):\r
- {\r
-\r
-$com="convert +append '$legend_url' '$random2' '$random2'"; //-->exterior ul \r
-break;\r
- }\r
-case ('2'):\r
- {\r
-$com="convert -append '$legend_url' '$random2' '$random2'"; //2\r
- break;\r
- }\r
- case ('3'):\r
- {\r
-$com="convert +append '$random2' '$legend_url' '$random2'"; //4\r
-break;\r
- }\r
- \r
-case ('4'):\r
- {\r
- \r
-$com="convert -append '$random2' '$legend_url' '$random2'"; //7\r
-break;\r
- }\r
-case ('5'):\r
- { \r
- $com="composite -gravity SouthEast '$legend_url' '$random2' '$random2'";//9\r
-break;\r
-} \r
-case ('6'):\r
- { \r
- $com="composite -gravity SouthWest '$legend_url' '$random2' '$random2'";//10\r
-break;\r
-} \r
-case ('7'):\r
- { \r
- $com="composite -gravity NorthEast '$legend_url' '$random2' '$random2'";//11\r
-break;\r
-} \r
-case ('8'):\r
- { \r
- $com="composite -gravity NorthWest '$legend_url' '$random2' '$random2'";//12\r
-break;\r
-} \r
-}\r
-shell_exec($com);\r
-}\r
-
-$headerText="Content-Type: image/png";
-\r
-
-//RMCA 09/04/2010
-header($headerText);
-
-
-
- \r
-readfile($random2);\r
-unlink($random2);\r
-\r
-}\r
-clearstatcache();\r
-$time=time();\r
-\r
-\r
-while($entry = $d->read()) { \r
- if ($entry!= "." && $entry!= "..") { \r
-\r
- $f_last_modified = filemtime($sld_dir."/".$entry);\r
-\r
-if ($time-$f_last_modified >400)\r
-{\r
-unlink($sld_dir."/".$entry);\r
-} \r
-\r
- } \r
-} \r
-\r
-while($entry = $e->read()) { \r
- if ($entry!= "." && $entry!= "..") { \r
-\r
- $f_last_modified = filemtime($img_dir."/".$entry);\r
-\r
-if ($time-$f_last_modified >400000)\r
-{\r
-unlink($img_dir."/".$entry);\r
-} \r
-\r
- } \r
-} \r
-$d->close(); \r
-$e->close();\r
-\r
-\r
-?>