+++ /dev/null
-<?php\r
-\r
-\r
-function fct_rest_gen($p_uri, $p_legend, $p_bck_layer, $p_areas_data, $p_areas_style, $p_size, $p_bbox, $p_occ_data, $p_occ_style, $p_title, $p_label, $p_img_url, $p_symbols, $p_recalculate, $p_foo, $p_callback, $p_img, $p_externalwms, $p_externalwms_layer, $p_externalwms_version, $p_externalwms_style, $p_mlp, $p_grayscale, $p_jsoncreatefile, $p_raster)\r
-{\r
- \r
- $flagDisplayPoints=false;\r
- //test ftheeten 14/03/2011\r
- $path_towrite_persistent_sld="/var/www/synthesys/www/v1/sld_persistent/";\r
- $url_persistent_sld='http://edit.br.fgov.be/synthesys/www/v1/sld_persistent';\r
- //topp: used in the name of the SLD file to address the layer to color\r
- \r
- $prefix_wms="topp:";\r
- \r
- \r
- \r
- $random=md5($p_uri ).".sld";\r
- \r
- $leg=$p_legend;\r
- \r
- \r
- //bug 16/04/2010 (pb with imagemagick package in filename?)\r
- $image_radical=md5($p_uri );\r
- $image_file=$image_radical."_layers.png";\r
- \r
- $random2="/var/www/synthesys/www/v1/img/".$image_file;\r
- $random2_www="http://edit.br.fgov.be/synthesys/www/v1/img/".$image_file;\r
- $random2_legend="/var/www/synthesys/www/v1/img/".$image_radical."_legend.png";\r
- //ftheeten 22/02/2011 (sometimes bug if image previously exists)\r
- if(file_exists($random2))\r
- {\r
- unlink($random2);\r
- \r
- }\r
- \r
- if(file_exists($random2_legend))\r
- {\r
- unlink($random2_legend);\r
- \r
- }\r
- \r
- \r
- \r
- \r
- //print($random2);\r
- \r
- \r
- \r
- $sld_dir = "/var/www/synthesys/www/v1/sld"; \r
- \r
- $img_dir = "/var/www/synthesys/www/v1/img";\r
- \r
- \r
- \r
- $d = dir($sld_dir);\r
- \r
- $e = dir($img_dir);\r
- \r
- \r
- \r
- $ad=$p_areas_data;\r
- \r
- \r
- \r
- \r
- \r
- //ftheeten 14/04/2011\r
- \r
- //$layers=$p_bck_layer;\r
- $layers_tmp=$p_bck_layer;\r
- //ftheeten 18/11/2011 (suppress v prefix)\r
- $layers_tmp=str_ireplace("v:","",$layers_tmp);\r
- $arrayTableStyles=associate_layer_to_style($layers_tmp,',',':', TRUE);\r
- $layers=array_keys($arrayTableStyles);\r
- //$layers=implode(',',array_keys($arrayTableStyles));\r
- \r
- if ( ($p_areas_data ==null && $p_occ_data==null )or ($p_areas_style == null && $p_occ_style==null) or $p_size == null)\r
- \r
- {\r
- \r
- print("<br>");\r
- \r
- print("<br>");\r
- \r
- print("<b>The URL must be missing some values, or they have been wrongly defined.</b><br>");\r
- \r
- print("<br>");\r
- \r
- print("<b>Make sure you use the following syntax when adding the variables</b><br>");\r
- \r
- print("Eg. http://edit.br.fgov.be/edit_wp5/v1/areas.php<b>?</b>*Layers<b>&</b>Area Data<b>&</b>Area Style<b>&</b>*Bounding Box<b>&</b>Map Size<br>");\r
- \r
- if ($layers==null)\r
- \r
- {\r
- \r
- print("<br>");\r
- \r
- print("<b>*Layers (l=) has not been defined</b><br>");\r
- \r
- print("This defines the background layer.<br>");\r
- \r
- print("Eg. l=earth will give your map a backgound of the full earth map with only country data.<br>");\r
- \r
- print("where l=tdwg4 will make the earth your background as well but with the tdwg layer 4 areas defined.<br>");\r
- \r
- print("The only options are earth, tdwg1, tdwg2, tdwg3, tdwg4.<br>");\r
- \r
- }\r
- \r
- if ($p_areas_data==null)\r
- \r
- {\r
- \r
- print("<br>");\r
- \r
- print("<b>Area Data (ad=) has not been defined</b><br>");\r
- \r
- print("This is to determin which areas will be symbolized specifically on the map in the format ad=layer name:a:area code1|b:area code2 etc<br>");\r
- \r
- print("You can have information form more then one layer defined by using || as a seperator<br>");\r
- \r
- print("Eg ad=layer1 name:a:area code1|b:area code2||layer2 name:c:area code1|d:area code2<br>");\r
- \r
- print("The layers can only be earth, <a href=\"tdwgLevel1.html\">tdwg1</a>, <a href=\"tdwgLevel2.html\">tdwg2</a>, <a href=\"tdwgLevel3.html\">tdwg3</a> or <a href=\"tdwgLevel4.html\">tdwg4</a>. Click on the name to see a list of the area codes.<br>");\r
- \r
- }\r
- \r
- if ($p_bbox==null)\r
- \r
- {\r
- \r
- print("<br>");\r
- \r
- print("<b>*Bounding Box (bbox=) has not been defined</b><br>");\r
- \r
- print("Bounding box defines the viewing area within the map.<br>");\r
- \r
- print("The numbers are based on Long/Lat coordinates <br>bbox=minX(minimum point Longtitude),minY(minimum point Latitude),maxX,maxY<br> Eg. bbox=13,-13,31,5 will give you a map showing the Democratic Republic of Congo.<br>");\r
- \r
- print("bbox=-180,-90,180,90 is the full world view<br>");\r
- \r
- print("If Bounding box is not defined the map will default to the extent of the area data being requested (ad=)<br>");\r
- \r
- }\r
- \r
- if ($p_size==null)\r
- \r
- {\r
- \r
- print("<br>");\r
- \r
- print("<b>Map Size (ms=) has not been defined</b></br>");\r
- \r
- print("This defines the size of the map that will be displayed.<br>It can be only a single number representing the width of the image. The height is that number divided by 2.<br>eg. ms=1000 will give you a width of 1000 and a height of 500.<br>");\r
- \r
- print("Or it can be ms=width,height where you assign both values.<br>");\r
- \r
- }\r
- \r
- if ($p_areas_style==null)\r
- \r
- {\r
- \r
- print("<br>");\r
- \r
- print("<b>Area Style (as=) has not been defined</b><br>");\r
- \r
- print("This defines the Area Data called earlier and fills in the color and optionally the border size and color<br>"); \r
- \r
- print("Eg as=a:00ff00 will make the ad (area data) defined by a: the color green<br>");\r
- \r
- print("If you wish to do more then just color:<br>");\r
- \r
- print("Eg as=b:ff0000,0000ff,2 will make the ad (area data) defined by b: the color red (ff0000) and draw am outline with the width of 2 around its borders in the color blue (0000ff).<br>");\r
- \r
- print("If you want to assign only a value (without changing the color) for border you must still format it like this<br>");\r
- \r
- print("as=c:ffffff,0,4 This will make the ad (area data) defined by c: the white (ffffff) and draw am outline with the width of 4 around it.<br>");\r
- \r
- }\r
- \r
- print("<br><br>");\r
- \r
- print("<b>*</b> Items are optional<br>");\r
- \r
- print("<b>Please refer to the wiki for how to setup the service:</b><br>");\r
- \r
- print("<b><a href=\"http://dev.e-taxonomy.eu/trac/wiki/MapRestServiceApi#Areas\">Wiki</a></b><br>");\r
- \r
- }\r
- \r
- else\r
- \r
- {\r
- //point part\r
- \r
- $od=$p_occ_data;\r
- \r
- $points=explode('||',$od);\r
- \r
- $geodata=array();\r
- \r
- \r
- \r
- foreach ($points as $k=>$v)\r
- \r
- {\r
- \r
- $specie=explode(":",$v);\r
- \r
- //id of the recordset\r
- \r
- $id=$specie[0];\r
- \r
- //geodata of each recordset\r
- \r
- $geo=explode('|',$specie[1]);\r
- \r
- foreach ($geo as $key=>$value)\r
- \r
- {\r
- \r
- $geos=explode(',',$value);\r
- \r
- $geodata[$id]['geodata']['lon'][]=$geos[0];\r
- \r
- $geodata[$id]['geodata']['lat'][]=$geos[1];\r
- \r
- \r
- }\r
- \r
- }\r
- \r
- \r
- \r
- //$os="1:c/f78755/10/Onthophagus semipunctatus|2:s/64cb48/15/Euoniticellus pallipes|3:sq/090b0a/30/Onthophagus joannae";\r
- \r
- \r
- \r
- $os=$p_occ_style;\r
- \r
- $sp=explode('|',$os);\r
- \r
- $species=array();\r
- \r
- \r
- foreach ($sp as $k=>$v)\r
- \r
- {\r
- \r
- if(strlen($v)>0)\r
- \r
- {\r
- \r
- $sym=explode(':',$v);\r
- \r
- \r
- \r
- $specie_id=$sym[0]; \r
- \r
- $symbologies=explode('/',$sym[1]);\r
- \r
- $geodata[$specie_id]['symbol']=$symbologies[0];\r
- \r
- $geodata[$specie_id]['color']=$symbologies[1];\r
- \r
- $geodata[$specie_id]['size']=$symbologies[2];\r
- \r
- $geodata[$specie_id]['legend']=$symbologies[3];\r
- \r
- \r
- \r
- }\r
- \r
- }\r
- \r
- if(count($geodata)>0)\r
- {\r
- $flagDisplayPoints=true;\r
- }\r
- if($flagDisplayPoints===true)\r
- {\r
- //print("insert"); \r
- $sqls=array();\r
- $random=md5($p_uri );\r
- foreach ($geodata as $key=>$val)\r
- \r
- {\r
- \r
- if(isset($geodata[$key]['geodata']['lat'] )===true)\r
- \r
- {\r
- $sqls[]="delete from rest_points where userid='".$random."' AND id=".$key.";";\r
- \r
- foreach ($geodata[$key]['geodata']['lat'] as $k=>$v)\r
- \r
- {\r
- \r
- $sql="insert into rest_points(userid,id,the_geom,label,timestamp_point) values('$random',".$key.",";\r
- \r
- $sql.="GeometryFromText('POINT(".$v." ";\r
- \r
- $sql.=$geodata[$key]['geodata']['lon'][$k];\r
- \r
- $sql.=")',4326),'".$geodata[$key]['legend']."',";\r
- \r
- $sql.=" current_timestamp);";\r
- \r
- $sqls[]=$sql;\r
- \r
- }\r
- \r
- }\r
- \r
- }\r
- \r
- \r
- \r
- $sql_total="";\r
- \r
- \r
- \r
- foreach ($sqls as $k=>$v)\r
- \r
- {\r
- \r
- // echo $v."<br>";\r
- \r
- $sql_total.=$v;\r
- \r
- }\r
- \r
- \r
- //print($sql_total);\r
- $conn = pg_pconnect(POSTGIS_CS);\r
- \r
- if (pg_ErrorMessage($conn))\r
- \r
- { \r
- \r
- echo "<p><b>Ocurrio un error conectando a la base de datos: .</b></p>"; \r
- \r
- }\r
- \r
- else\r
- \r
- {\r
- \r
- // echo $sql_total;\r
- \r
- pg_exec($sql_total); \r
- }\r
- $xml="<gml>";\r
- \r
- $xml.="<feature>Species definition</feature>";\r
- \r
- \r
- \r
- foreach ($geodata as $k=>$v)\r
- \r
- {\r
- \r
- switch ($geodata[$k]['symbol'])\r
- \r
- {\r
- \r
- case('c'):$geodata[$k]['symbol']="Circle"; break; \r
- \r
- case('s'):$geodata[$k]['symbol']="Star"; break;\r
- \r
- case('sq'):$geodata[$k]['symbol']="Square"; break;\r
- \r
- }\r
- \r
- //echo $geodata[$k]['legend']."<br>";\r
- \r
- $xml.="<specie>";\r
- \r
- $xml.="<id>".$k."</id>";\r
- \r
- $xml.="<name>".$geodata[$k]['legend']."</name>";\r
- \r
- $xml.="<style>";\r
- \r
- $xml.="<color>".$geodata[$k]['color']."</color>";\r
- \r
- $xml.="<symbol>".$geodata[$k]['symbol']."</symbol>";\r
- \r
- $xml.="<size>".$geodata[$k]['size']."</size>";\r
- \r
- $xml.="</style>";\r
- \r
- $xml.="</specie>"; \r
- \r
- }\r
- \r
- $xml.="</gml>";\r
- \r
- //echo $xml;\r
- \r
- $dom_new = new DOMDocument();\r
- \r
- $xsl = new XSLTProcessor;\r
- \r
- $xsl->setParameter( '', 'userid', $random);\r
- \r
- $style = realpath('points.xsl');\r
- \r
- $dom_new->load($style);\r
- \r
- $xsl->importStyleSheet($dom_new);\r
- \r
- $dom_new->loadXML($xml);\r
- \r
- $out = $xsl->transformToXML($dom_new);\r
- \r
- \r
- \r
- $path_towrite="/var/www/synthesys/www/v1/sld/point_".$random.".sld";\r
- \r
- //print($path_towrite);\r
- \r
- $fp=fopen("$path_towrite","w");\r
- \r
- $write=fwrite($fp,$out);\r
- \r
- }\r
- \r
- //end point part\r
- \r
- \r
- //ftheeten 2011/04/13\r
- $arrayBackgroundStyle=array();\r
- \r
- \r
- if (count($layers)>0)//(ereg(",",$layers))\r
- \r
- {\r
- //print("case1");\r
- \r
- \r
- \r
- //$layers=explode(",",$layers);\r
- \r
- $ls=array();\r
- \r
- $ls_styles=array();\r
- $ls_types=array();\r
- $i=0;\r
- \r
- //foreach ($layers as $k=>$v)\r
- //print($layers);\r
- //print_r($arrayTableStyles);\r
- $v2="";\r
- \r
- foreach($layers as $v) \r
- {\r
- \r
- $k=$i; \r
- switch ($v)\r
- \r
- { \r
- \r
- case ('earth'): \r
- \r
- $v2="country_earth";\r
- \r
- \r
- \r
- $ls[]=$v2;\r
- if(strlen($arrayTableStyles[$v]['value'])==0)\r
- {\r
- $ls_styles[]='line';\r
- }\r
- else\r
- {\r
- $ls_styles[]=$arrayTableStyles[$v]['value'];\r
- }\r
- $ls_types[]=$arrayTableStyles[$v]['type'];\r
- \r
- \r
- break;\r
- \r
- case ('tdwg1'): \r
- \r
- $v2="topp:tdwg_level_1";\r
- \r
- //end loop array key in symbol$ls[]=$v2;\r
- \r
- if(strlen($arrayTableStyles[$v]['value'])==0)\r
- {\r
- $ls_styles[]='line';\r
- }\r
- else\r
- {\r
- $ls_styles[]=$arrayTableStyles[$v]['value'];\r
- }\r
- $ls_types[]=$arrayTableStyles[$v]['type'];\r
- \r
- \r
- // array_push($ls,$v);\r
- \r
- break;\r
- \r
- case ('tdwg2'): \r
- \r
- $v2="topp:tdwg_level_2";\r
- \r
- $ls[]=$v2;\r
- \r
- if(strlen($arrayTableStyles[$v]['value'])==0)\r
- {\r
- $ls_styles[]='line';\r
- }\r
- else\r
- {\r
- $ls_styles[]=$arrayTableStyles[$v]['value'];\r
- }\r
- $ls_types[]=$arrayTableStyles[$v]['type'];\r
- \r
- \r
- // array_push($ls,$v);\r
- \r
- break;\r
- \r
- case ('tdwg3'): \r
- \r
- $v2="topp:tdwg_level_3";\r
- \r
- $ls[]=$v2;\r
- if(strlen($arrayTableStyles[$v]['value'])==0)\r
- {\r
- $ls_styles[]='line';\r
- }\r
- else\r
- {\r
- $ls_styles[]=$arrayTableStyles[$v]['value'];\r
- }\r
- $ls_types[]=$arrayTableStyles[$v]['type'];\r
- \r
- \r
- break;\r
- \r
- case ('tdwg4'): \r
- \r
- $v2="topp:tdwg_level_4";\r
- \r
- $ls[]=$v2;\r
- if(strlen($arrayTableStyles[$v]['value'])==0)\r
- {\r
- $ls_styles[]='line';\r
- }\r
- else\r
- {\r
- $ls_styles[]=$arrayTableStyles[$v]['value'];\r
- }\r
- $ls_types[]=$arrayTableStyles[$v]['type'];\r
- \r
- \r
- break;\r
- default:\r
- \r
- $ls[]=$v;\r
- \r
- if(strlen($arrayTableStyles[$v]['value'])==0)\r
- {\r
- $ls_styles[]='';\r
- }\r
- else\r
- {\r
- $ls_styles[]=$arrayTableStyles[$v]['value'];\r
- }\r
- $ls_types[]=$arrayTableStyles[$v]['type'];\r
- \r
- break;\r
- \r
- }\r
- \r
- $i++;\r
- \r
- //Æ? $v;\r
- \r
- }\r
- \r
- \r
- \r
- $styles_string="";\r
- \r
- //ftheeten april 2011 \r
- $i=0;\r
- \r
- foreach ($ls as $k=>$v)\r
- \r
- {\r
- \r
- \r
- \r
- $ls_string.=$v.",";\r
- \r
- //ftheeten\r
- \r
- //$styles_string.="line,";\r
- $styles_string.=$ls_styles[$i];\r
- $arrayBackgroundStyle[$i]['name']=$v;\r
- $arrayBackgroundStyle[$i]['style']=$ls_styles[$i];\r
- $arrayBackgroundStyle[$i]['type']=$ls_types[$i];\r
- $i++;\r
- \r
- }\r
- \r
- $ls_string=substr($ls_string,0,-1);\r
- \r
- $styles_string=substr($styles_string,0,-1);\r
- \r
- // $styles_string.=$ls[count($ls)-1];\r
- \r
- \r
- \r
- }\r
- \r
- else\r
- \r
- {\r
- //print("case 2");\r
- $type_string="";\r
- \r
- switch ($layers[0])\r
- \r
- {\r
- \r
- \r
- \r
- case ('earth'): \r
- \r
- $ls_string="topp:country_earth";\r
- //ftheeten 13/04/2011 \r
- if(strlen($arrayTableStyles[$layers[0]]['value'])==0)\r
- {\r
- $styles_string="line";\r
- }\r
- else\r
- {\r
- $style_string=$arrayTableStyles[$layers[0]]['value'];\r
- }\r
- $type_string=$arrayTableStyles[$layers[0]]['type'];\r
- \r
- \r
- break;\r
- \r
- case ('e_prov'): \r
- \r
- $ls_string="topp:province_europe";\r
- //ftheeten 13/04/2011 \r
- if(strlen($arrayTableStyles[$layers[0]]['value'])==0)\r
- {\r
- $styles_string="line";\r
- }\r
- else\r
- {\r
- $style_string=$arrayTableStyles[$layers[0]]['value'];\r
- }\r
- $type_string=$arrayTableStyles[$layers[0]]['type'];\r
- \r
- \r
- \r
- break;\r
- \r
- case ('tdwg1'): \r
- \r
- $ls_string="topp:tdwg_level_1";\r
- //ftheeten 13/04/2011 \r
- if(strlen($arrayTableStyles[$layers[0]]['value'])==0)\r
- {\r
- $styles_string="line";\r
- }\r
- else\r
- {\r
- $style_string=$arrayTableStyles[$layers[0]]['value'];\r
- }\r
- $type_string=$arrayTableStyles[$layers[0]]['type'];\r
- \r
- \r
- break;\r
- \r
- case ('tdwg2'): \r
- \r
- $ls_string="topp:tdwg_level_2";\r
- //ftheeten 13/04/2011 \r
- if(strlen($arrayTableStyles[$layers[0]]['value'])==0)\r
- {\r
- $styles_string="line";\r
- }\r
- else\r
- {\r
- $style_string=$arrayTableStyles[$layers[0]]['value'];\r
- }\r
- $type_string=$arrayTableStyles[$layers[0]]['type'];\r
- \r
- break;\r
- \r
- case ('tdwg3'): \r
- \r
- $ls_string="topp:tdwg_level_3";\r
- //ftheeten 13/04/2011 \r
- if(strlen($arrayTableStyles[$layers[0]]['value'])==0)\r
- {\r
- $styles_string="line";\r
- }\r
- else\r
- {\r
- $style_string=$arrayTableStyles[$layers[0]]['value'];\r
- }\r
- $type_string=$arrayTableStyles[$layers[0]]['type'];\r
- \r
- \r
- \r
- break;\r
- \r
- case ('tdwg4'): \r
- \r
- $ls_string="topp:tdwg_level_4";\r
- //ftheeten 13/04/2011 \r
- if(strlen($arrayTableStyles[$layers[0]]['value'])==0)\r
- {\r
- $styles_string="line";\r
- }\r
- else\r
- {\r
- $style_string=$arrayTableStyles[$layers[0]]['value'];\r
- }\r
- $type_string=$arrayTableStyles[$layers[0]]['type'];\r
- \r
- \r
- break;\r
- \r
- default:\r
- \r
- $ls_string=$layers;\r
- //ftheeten 13/04/2011 \r
- if(strlen($arrayTableStyles[$layers[0]]['value'])==0)\r
- {\r
- $styles_string="";\r
- }\r
- else\r
- {\r
- $style_string=$arrayTableStyles[$layers[0]]['value'];\r
- }\r
- $type_string=$arrayTableStyles[$layers[0]]['type'];\r
- \r
- \r
- break;\r
- \r
- \r
- \r
- }\r
- \r
- \r
- \r
- \r
- //comment out ftheeten 13/04/2011\r
- \r
- //$styles_string="line";\r
- $arrayBackgroundStyle[0]['name']=$ls_string;\r
- $arrayBackgroundStyle[0]['style']=$styles_string;\r
- $arrayBackgroundStyle[0]['type']=$type_string;\r
- \r
- \r
- \r
- }\r
- \r
- \r
- \r
- $ad=explode('||',$ad);\r
- \r
- \r
- \r
- foreach ($ad as $k=>$v)\r
- \r
- {// loop ad\r
- \r
- //tdwg3:a:PHI,SPA|b:ITA\r
- \r
- \r
- if ($p_title)\r
- \r
- {//if title\r
- \r
- $title=$p_title;\r
- \r
- }//if title\r
- \r
- //title=a:cultivated|b:forest\r
- \r
- $t=explode('|',$title);\r
- \r
- $title_array=array();\r
- \r
- \r
- \r
- foreach ($t as $k=>$v)\r
- \r
- {//loop t\r
- \r
- $title=explode(':',$v);\r
- \r
- $title_array[$title[0]]=$title[1];\r
- \r
- }//loop t\r
- \r
- \r
- \r
- if ($p_label)\r
- \r
- {//if label\r
- \r
- $label=$p_label;\r
- \r
- }// if label\r
- \r
- \r
- //$images=a,b:orange,green\r
- \r
- if ($p_img_url)\r
- \r
- {//if images_url\r
- \r
- $images_url=$p_img_url;\r
- \r
- //$images_url="a,b:edit.csic.es/fitxers/hatch_images|c:edit.csic.es/fitxers/hatch_images";\r
- \r
- $images_url=explode('|',$images_url);\r
- \r
- \r
- \r
- }//image_url\r
- \r
- \r
- \r
- \r
- \r
- $symbols=$p_symbols;\r
- \r
- //$symbols="a,b:hatch_orange.gif|c:hatch_green.gif";\r
- \r
- $symbols=explode('|',$symbols);\r
- \r
- $symbols_url=array();\r
- \r
- foreach ($symbols as $k=>$v)\r
- \r
- {//for symbols\r
- \r
- $symbols=explode(':',$v);\r
- \r
- $keys=explode(',',$symbols[0]);\r
- \r
- $get_v=explode(',',$symbols[1]);\r
- \r
- // var_dump ($get_v);\r
- \r
- if ($p_img_url)\r
- \r
- {//if images urls\r
- \r
- foreach ($keys as $k=>$v)\r
- \r
- {\r
- \r
- \r
- \r
- $symbols_url[$v]['symbols']=$get_v[0];\r
- \r
- $symbols_url[$v]['size']=$get_v[1]; \r
- \r
- $symbols_url[$v]['format']=$get_v[2]; \r
- \r
- } \r
- \r
- }\r
- \r
- }// for symbols\r
- \r
- if ($p_img_url)\r
- \r
- {//if images url\r
- \r
- foreach ($images_url as $k=>$v)\r
- \r
- {\r
- \r
- $images=explode(':',$v);\r
- \r
- //echo $images[0];\r
- \r
- $keys=explode(',',$images[0]);\r
- \r
- //var_dump($keys);\r
- \r
- foreach ($keys as $k=>$v)\r
- \r
- {\r
- \r
- $symbols_url[$v]['url']=$images[1]; \r
- \r
- }\r
- \r
- }\r
- \r
- }//end if images_url\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
- \r
- \r
- $color=$p_areas_style;\r
- \r
- \r
- \r
- $ms=$p_size;\r
- \r
- if (ereg(",",$ms))\r
- \r
- {\r
- \r
- $ms=explode(',',$ms);\r
- \r
- $width=$ms[0];\r
- \r
- $height=$ms[1];\r
- \r
- }\r
- \r
- else \r
- \r
- {\r
- \r
- $width=$ms; \r
- \r
- $height=$width/2;\r
- \r
- };\r
- \r
- \r
- \r
- \r
- \r
- //var_dump($ls_string);\r
- \r
- \r
- \r
- $col=explode('|',$color);\r
- \r
- //no dóna error al haver-n'hi només un!\r
- \r
- $total_symbols=array();\r
- \r
- //$color="a:d7add2,AOOOOOF,2,dotted,cultivated|b:ab8dc9F";\r
- \r
- foreach ($col as $color)\r
- \r
- {//loop col\r
- //ftheeten 14/03/2011\r
- if(strpos($color,'http://')===false)\r
- {\r
- $color=explode(':',$color);\r
- \r
- $symbols_key=$color[0];\r
- \r
- $symbols_val=$color[1];\r
- }\r
- else\r
- {\r
- $color=explode(':',$color,2);\r
- \r
- $symbols_key=$color[0];\r
- \r
- $symbols_val=$color[1];\r
- }\r
- \r
- \r
- \r
- /*$color=explode(':',$color);\r
- \r
- $symbols_key=$color[0];\r
- \r
- $symbols_val=$color[1];\r
- */\r
- \r
- if (!ereg(",",$symbols_val))\r
- \r
- {\r
- \r
- //only fill area; others are default\r
- \r
- $total_symbols[$symbols_key][]=$symbols_val; \r
- \r
- } \r
- \r
- else \r
- \r
- {\r
- \r
- $s=explode(',',$symbols_val);\r
- \r
- foreach ($s as $k=>$v)\r
- \r
- {\r
- \r
- $total_symbols[$symbols_key][]=$v; \r
- \r
- }\r
- \r
- }\r
- \r
- // $total_symbols[$symbols_key]=$col_val;\r
- \r
- }//loop col\r
- \r
- //var_dump($total_symbols);\r
- \r
- //'a'-->array 'blue'\r
- \r
- \r
- foreach ($total_symbols as $k=>$v)\r
- \r
- {//loop total symbols\r
- \r
- \r
- \r
- //foreach ($total_symbols as $k2=>$v2)\r
- \r
- //echo $total_symbols[$k][0]."<br>";\r
- \r
- //var_dump($total_symbols[$k]);\r
- \r
- //$color="a:d7add2,AOOOOOF,2,dotted|b:ab8dc9F"; \r
- \r
- \r
- \r
- for ($i=0;$i<5;$i++)\r
- \r
- {// for loop\r
- \r
- //echo $total_symbols[$k][$i]."<br>";\r
- \r
- switch ($i)\r
- \r
- {\r
- \r
- \r
- case 0:\r
- \r
- \r
- \r
- // if (array_key_exists($i,$total_symbols[$k])){ \r
- \r
- if($total_symbols[$k][$i]=="")\r
- \r
- {\r
- \r
- $total_symbols[$k][$i]="c5bec0";\r
- \r
- }\r
- \r
- //}\r
- \r
- \r
- \r
- case 1:\r
- \r
- if($total_symbols[$k][$i]=="")\r
- \r
- {\r
- \r
- $total_symbols[$k][$i]="10090b"; \r
- \r
- }\r
- \r
- case 2:\r
- \r
- if($total_symbols[$k][$i]=="")\r
- \r
- {\r
- \r
- $total_symbols[$k][$i]="0.5"; \r
- \r
- }\r
- \r
- /* case 3:\r
- \r
- if($total_symbols[$k][$i]=="")\r
- \r
- {\r
- \r
- $total_symbols[$k][$i]=""; \r
- \r
- }*/\r
- \r
- /* case 4:\r
- \r
- if($total_symbols[$k][$i]=="")\r
- \r
- {\r
- \r
- $total_symbols[$k][$i]="no_style";\r
- \r
- }*/\r
- \r
- case 3:\r
- \r
- if($total_symbols[$k][$i]=="")\r
- \r
- {\r
- \r
- $total_symbols[$k][$i]="no_style";\r
- \r
- }\r
- \r
- case 4:\r
- \r
- if($total_symbols[$k][$i]=="")\r
- \r
- {\r
- \r
- $total_symbols[$k][$i]="no_label";\r
- \r
- }\r
- \r
- }//fi switch\r
- \r
- } //fi for\r
- \r
- if (array_key_exists($k,$symbols_url))\r
- \r
- {\r
- \r
- $total_symbols[$k]['5']=$symbols_url[$k]['url'];\r
- \r
- $total_symbols[$k]['6']=$symbols_url[$k]['symbols'];\r
- \r
- $total_symbols[$k]['7']=$symbols_url[$k]['size'];\r
- \r
- $total_symbols[$k]['8']=$symbols_url[$k]['format'];\r
- \r
- \r
- \r
- }\r
- \r
- \r
- \r
- }//for total symbols\r
- \r
- //var_dump($total_symbols);\r
- \r
- \r
- \r
- $tdwg=array();\r
- \r
- //ftheeten 21/02/2011\r
- \r
- $wms_field_array=array();\r
- \r
- foreach ($ad as $k=>$v)\r
- \r
- {//for ad\r
- \r
- $v=explode('|',$v);\r
- \r
- foreach ($v as $k=>$v)\r
- \r
- {//for v\r
- \r
- if ($k==0)\r
- \r
- {//if k\r
- \r
- \r
- \r
- $first_data=explode(':',$v);\r
- \r
- /*$first_layer=$first_data[0];\r
- \r
- $first_style=$first_data[1];\r
- \r
- $first_pol=$first_data[2];\r
- \r
- */\r
- \r
- //ftheeten 21/02/2011 (WMS field for non hardcded tdwg layers)\r
- \r
- $first_wms_field='';\r
- \r
- if(count($first_data)==4)\r
- \r
- {//loop first data\r
- \r
- //print("WMS field found!!!!="); \r
- \r
- //print($first_data[1]);\r
- \r
- //print("!!!!");\r
- \r
- $first_layer=$first_data[0];\r
- \r
- $first_wms_field=$first_data[1];\r
- \r
- $first_style=$first_data[2];\r
- \r
- $first_pol=$first_data[3];\r
- \r
- }//loop first data\r
- \r
- else\r
- \r
- {//loop first data\r
- \r
- $first_layer=$first_data[0];\r
- \r
- $first_style=$first_data[1];\r
- \r
- $first_pol=$first_data[2];\r
- \r
- \r
- \r
- }//loop first data \r
- \r
- //var_dump($v);\r
- \r
- \r
- if (!ereg(",",$first_pol))\r
- \r
- {//loop first pol\r
- \r
- \r
- \r
- $tdwg[$first_layer][$first_style]['zones']=$first_pol;\r
- \r
- //ftheeten 2010/02/21\r
- \r
- $wms_field_array[$first_layer]=$first_wms_field;\r
- \r
- \r
- \r
- }//loop first pol\r
- \r
- else\r
- \r
- {//loop first pol\r
- \r
- //ftheeten 2010/02/21\r
- \r
- $wms_field_array[$first_layer]=$first_wms_field;\r
- \r
- //tdwg4:c:Nicaragua,Chiapas,Oaxaca,Veracruz\r
- \r
- $l3=explode(',',$first_pol);\r
- \r
- foreach($l3 as $value)\r
- \r
- {\r
- \r
- $tdwg[$first_layer][$first_style]['zones'][]=$value;\r
- \r
- //echo $value."<br>";\r
- \r
- }\r
- \r
- }//loop first pol\r
- \r
- \r
- \r
- }//if k \r
- \r
- else //not the first data \r
- \r
- {//if k \r
- \r
- //b:Mexico\r
- \r
- //si no trobem cap comma, (ex: b:IRQ )d:NA o c:NA|b:PI\r
- \r
- // a cada estil l'hi correspon només un paÃs \r
- \r
- // var_dump($v);\r
- \r
- $data=explode(':',$v);\r
- \r
- //ftheeten 2010/02/21\r
- \r
- $wms_field_array[$first_layer]=$first_wms_field;\r
- \r
- if (!ereg(",",$data[1]))\r
- \r
- {//if data 1\r
- \r
- \r
- $tdwg[$first_layer][$data[0]]['zones']=$data[1];\r
- \r
- // var_dump($tdwg[$first_layer]);\r
- \r
- //var_dump($data[1]);\r
- \r
- //$styles[$key]['zones'];\r
- \r
- // echo $val;\r
- \r
- }//if data 1\r
- \r
- else\r
- \r
- {//if data 1\r
- \r
- //c:Nicaragua,Chiapas,Oaxaca,Veracruz\r
- \r
- $l3=explode(',',$data[1]);\r
- \r
- foreach($l3 as $value)\r
- \r
- {//$l3\r
- \r
- $tdwg[$first_layer][$data[0]]['zones'][]=$value;\r
- //echo $value."<br>";\r
- \r
- }//$l3\r
- \r
- }//if data 1\r
- \r
- \r
- \r
- }//if k\r
- \r
- \r
- \r
- \r
- \r
- }//for v \r
- \r
- \r
- \r
- }//for ad (line 566)\r
- \r
- \r
- \r
- }//for ad \r
- \r
- \r
- \r
- \r
- $tdwg3_val=array();\r
- \r
- $tdwg3_total=array();\r
- \r
- \r
- \r
- $legend="<gml>";\r
- \r
- foreach ($total_symbols as $k=>$v)\r
- \r
- {//loop total symbols in gml\r
- if(strlen($title_array[$k])>0)\r
- {\r
- \r
- //var_dump($k); //a,b\r
- \r
- $legend.="<style><name>".$title_array[$k]."</name>";\r
- \r
- //$legend.="<style><name>".$total_symbols[$k][4]."</name>";\r
- \r
- \r
- \r
- $legend.="<label>".$k."</label>";\r
- \r
- \r
- \r
- if (array_key_exists($k['url'],$symbols_url))\r
- \r
- {//if key in symbol\r
- \r
- \r
- \r
- \r
- \r
- $legend.="<hatching>http://".$symbols_url[$k]['url']."/".$symbols_url[$k]['symbols'].".".$symbols_url[$k]['format']."</hatching>";\r
- \r
- switch ($symbols_url[$k]['format'])\r
- \r
- {\r
- \r
- case ('gif'): $format='image/gif';break;\r
- \r
- case ('png'): $format='image/png';break;\r
- \r
- case ('jpeg'): $format='image/jpeg';break;\r
- \r
- }\r
- \r
- \r
- \r
- $legend.="<symbol_size>".$symbols_url[$k]['size']."</symbol_size>";\r
- \r
- $legend.="<symbol_format>".$format."</symbol_format>";\r
- \r
- //$xml.="<hatch_symbol>".."</hatch_symbol>";\r
- \r
- $legend.="<color>hatching</color>";\r
- \r
- }//end if array key in symbol\r
- \r
- else \r
- { // if array key in symbol\r
- \r
- $legend.="<hatching>NO</hatching>";\r
- \r
- $legend.="<color>".$total_symbols[$k][0]."</color>";\r
- \r
- } //end array key in symbol\r
- \r
- \r
- \r
- \r
- \r
- $legend.="<stroke_color>".$total_symbols[$k][1]."</stroke_color>";\r
- \r
- $legend.="<stroke_width>".$total_symbols[$k][2]."</stroke_width>";\r
- \r
- switch ($total_symbols[$k][3])\r
- \r
- {// switch total symbols\r
- \r
- case ('1_2'): \r
- $total_symbols[$k][3]="1 2 1 2";\r
- break;\r
- \r
- case ('1_4'): \r
- $total_symbols[$k][3]="1 4 1 4";\r
- break;\r
- \r
- case ('2_2'): \r
- $total_symbols[$k][3]="2 2 2 2";\r
- break;\r
- \r
- case ('2_4'):\r
- $total_symbols[$k][3]="2 4 2 4";\r
- break;\r
- \r
- case ('5_7'): \r
- $total_symbols[$k][3]="5 7 5 7";\r
- break;\r
- \r
- case ('10_5'): \r
- $total_symbols[$k][3]="10 5 10 5";\r
- break;\r
- \r
- }//end switch\r
- \r
- $legend.="<stroke_style>".$total_symbols[$k][3]."</stroke_style>";\r
- \r
- $legend.="</style>";\r
- }\r
- \r
- }//end loop symbols in gml\r
- \r
- \r
- $legend.="</gml>";\r
- \r
- $legend_xml[]=$legend;\r
- \r
- //var_dump($legend_xml);\r
- \r
- //echo $legend;\r
- \r
- $p=simplexml_load_string($legend_xml[0]);\r
- \r
- $hatching=$p->style->hatching;\r
- \r
- $xsl = new XSLTProcessor;\r
- \r
- $xsl->setParameter( '', 'symbol', $hatching);\r
- \r
- $xsl->setParameter( '', 'layer', $layer);\r
- \r
- $xsl->setParameter( '', 'field', $field);\r
- \r
- $xsl->setParameter( '', 'label_field', $label_field);\r
- \r
- $style = realpath('areas_legend_no.xsl');\r
- \r
- $dom_new = new DOMDocument();\r
- \r
- $dom_new->load($style);\r
- \r
- $xsl->importStyleSheet($dom_new);\r
- \r
- $dom_new->loadXML($legend_xml[0]);\r
- \r
- $out = $xsl->transformToXML($dom_new);\r
- \r
- \r
- \r
- //$random = (rand()%300).".sld";\r
- \r
- //$leg_path_towrite=DIR_PLATFORM."/edit_wp5/fitxers/sld/$random";\r
- \r
- $leg_path_towrite="/var/www/synthesys/www/v1/sld/$random";\r
- \r
- $fp=fopen("$leg_path_towrite","w");\r
- \r
- $write=fwrite($fp,$out);\r
- \r
- //$leg_url="/var/www/synthesys/www/v1/sld/$random";\r
- \r
- $leg_url=LEGEND_URL."/".$random;\r
- \r
- \r
- \r
- $legs=array();\r
- \r
- foreach ($tdwg as $k=>$v)\r
- \r
- {//loop tdwg 1\r
- \r
- $tmp_wms_field="default";\r
- \r
- foreach ($tdwg[$k] as $k2=>$v2)\r
- \r
- {\r
- \r
- \r
- $legs[$k2]=$k;\r
- \r
- \r
- \r
- }\r
- \r
- \r
- \r
- $xml="<gml>";\r
- \r
- $pos_prefix = substr_count($k,$prefix_wms);\r
- \r
- $displayedLayer=$k;\r
- \r
- //print("pos=".$pos_prefix."=");\r
- \r
- if($pos_prefix===0) \r
- \r
- {\r
- \r
- //print("prefix");\r
- \r
- $displayedLayer=$prefix_wms.$k;\r
- \r
- }\r
- \r
- \r
- \r
- $xml.="<feature>".$displayedLayer."</feature>";\r
- \r
- \r
- \r
- foreach ($v as $style=>$value)\r
- \r
- {// loop style=>value\r
- \r
- \r
- $xml.="<style><name>".$style."</name>";\r
- \r
- $xml.="<label>".$label."</label>";\r
- \r
- \r
- \r
- if (array_key_exists($style,$symbols_url))\r
- \r
- {//if key exists\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
- \r
- switch ($symbols_url[$style]['format'])\r
- \r
- {\r
- \r
- case ('gif'): \r
- $format='image/gif';\r
- break;\r
- \r
- case ('png'): \r
- $format='image/png';\r
- break;\r
- \r
- case ('jpeg'): \r
- $format='image/jpeg';\r
- break;\r
- \r
- }\r
- \r
- $xml.="<symbol_size>".$symbols_url[$style]['size']."</symbol_size>";\r
- \r
- $xml.="<symbol_format>".$format."</symbol_format>";\r
- \r
- //$xml.="<hatch_symbol>".."</hatch_symbol>";\r
- \r
- $xml.="<color>hatching</color>";\r
- \r
- }//if key exists\r
- \r
- else \r
- \r
- {//if key not exists \r
- \r
- $xml.="<hatching>NO</hatching>";\r
- \r
- $xml.="<color>".$total_symbols[$style][0]."</color>";\r
- \r
- }//if key not exists\r
- \r
- $xml.="<stroke_color>".$total_symbols[$style][1]."</stroke_color>";\r
- \r
- $xml.="<stroke_width>".$total_symbols[$style][2]."</stroke_width>";\r
- \r
- switch ($total_symbols[$style][3])\r
- \r
- {//loop total symbols\r
- \r
- case ('1_2'): \r
- $total_symbols[$style][3]="1 2 1 2";\r
- break;\r
- \r
- case ('1_4'): \r
- $total_symbols[$style][3]="1 4 1 4";\r
- break;\r
- \r
- case ('2_2'): \r
- $total_symbols[$style][3]="2 2 2 2";\r
- break;\r
- \r
- case ('2_4'): \r
- $total_symbols[$style][3]="2 4 2 4";\r
- break;\r
- \r
- case ('5_7'): \r
- $total_symbols[$style][3]="5 7 5 7";\r
- break;\r
- \r
- case ('10_5'): \r
- $total_symbols[$style][3]="10 5 10 5";\r
- break;\r
- \r
- }//loop total symbols\r
- \r
- $xml.="<stroke_style>".$total_symbols[$style][3]."</stroke_style>";\r
- \r
- \r
- \r
- foreach ($value as $key=>$country)\r
- \r
- {//loop key=> country\r
- \r
- if(!is_array($country))\r
- \r
- {\r
- \r
- \r
- \r
- $xml.="<country>".$country."</country>";\r
- \r
- $xml.="</style>";\r
- \r
- }\r
- \r
- else \r
- \r
- {\r
- \r
- foreach ($tdwg[$k][$style]['zones'] as $zones)\r
- \r
- {\r
- \r
- $xml.="<country>".$zones."</country>";\r
- \r
- }\r
- \r
- $xml.="</style>";\r
- \r
- } //fi foreach country\r
- \r
- }// end loop key country\r
- \r
- }//loop styles=>values\r
- \r
- $xml.="</gml>";\r
- \r
- //print($xml);\r
- \r
- $gmls[$k]=$xml;\r
- \r
- }//end loop tdwg 1\r
- \r
- //var_dump($gmls[$k]);\r
- \r
- \r
- \r
- if ($p_bbox)\r
- \r
- {\r
- \r
- $bbox=$p_bbox;\r
- \r
- //print("p_bbox found");\r
- //print($p_bbox);\r
- }\r
- \r
- else\r
- \r
- {\r
- //print("bbox not found");\r
- \r
- \r
- $conn = pg_pconnect(POSTGIS_CS);\r
- \r
- if (pg_ErrorMessage($conn)) \r
- \r
- { \r
- \r
- echo "<p><b>Ocurrio un error conectando a la base de datos: .</b></p>"; \r
- \r
- }\r
- \r
- else\r
- \r
- {\r
-\r
- $BBOX_sql="SELECT extent(g) FROM(select extent(the_geom) as g from tdwgs where "; \r
- $c=0;\r
- //print("before switch");\r
- $flagUserTable=false;\r
- $ibbox=0;\r
- foreach ($tdwg as $k=>$v)\r
- {\r
- $c=0;\r
- \r
- switch ($k)\r
- {\r
- \r
- //ftheeten 21/02/2011: $db_layers and $layer_sh seem unused\r
- //see also line 830\r
- case ('tdwg1'): $layer='topp:tdwg_level_1';$db_layer='tdwg_level_1';\r
- $field='code';\r
- //??????????????????????????????????????$label_field='zona';\r
- if($ibbox==0)\r
- {\r
- $BBOX_sql="SELECT extent(g) FROM(select extent(the_geom) as g from ".$db_layer." where ";\r
- }\r
- elseif($ibbox>0)\r
- {\r
- $BBOX_sql.="UNION ALL select extent(the_geom) as g from ".$db_layer." where ";\r
- //print("toto");\r
- } \r
- $ibbox++; \r
- break;\r
- case ('tdwg2'): $layer='topp:tdwg_level_2';$db_layer='tdwg_level_2';\r
- $field='code';\r
- $label_field='code';\r
- if($ibbox==0)\r
- {\r
- $BBOX_sql="SELECT extent(g) FROM(select extent(the_geom) as g from ".$db_layer." where ";\r
- }\r
- elseif($ibbox>0)\r
- {\r
- $BBOX_sql.="UNION ALL select extent(the_geom) as g from ".$db_layer." where ";\r
- //print("toto");\r
- } \r
- $ibbox++;\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
- if($ibbox==0)\r
- {\r
- $BBOX_sql="SELECT extent(g) FROM(select extent(the_geom) as g from ".$db_layer." where ";\r
- }\r
- elseif($ibbox>0)\r
- {\r
- $BBOX_sql.="UNION ALL select extent(the_geom) as g from ".$db_layer." where ";\r
- //print("toto");\r
- } \r
- $ibbox++; \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
- if($ibbox==0)\r
- {\r
- $BBOX_sql="SELECT extent(g) FROM(select extent(the_geom) as g from ".$db_layer." where ";\r
- }\r
- elseif($ibbox>0)\r
- {\r
- $BBOX_sql.="UNION ALL select extent(the_geom) as g from ".$db_layer." where ";\r
- //print("toto");\r
- } \r
- $ibbox++;\r
- break;\r
- case ('e_w_0'): $layer='topp:europe_west_level_0';$db_layer='europe_west_level_0';\r
- $field="code";\r
- $label_field='code';$layer_sh="EURW 0";\r
- if($ibbox==0)\r
- {\r
- $BBOX_sql="SELECT extent(g) FROM(select extent(the_geom) as g from ".$db_layer." where ";\r
- }\r
- elseif($ibbox>0)\r
- {\r
- $BBOX_sql.="UNION ALL select extent(the_geom) as g from ".$db_layer." where ";\r
- \r
-//print("toto");\r
- } \r
- $ibbox++;\r
- break;\r
- case ('e_w_1'): $layer='topp:europe_west_level_1';$db_layer='europe_west_level_1';\r
- $field="code";\r
- $label_field='code';$layer_sh="EURW 1";\r
- if($ibbox==0)\r
- {\r
- $BBOX_sql="SELECT extent(g) FROM(select extent(the_geom) as g from ".$db_layer." where ";\r
- }\r
- elseif($ibbox>0)\r
- {\r
- $BBOX_sql.="UNION ALL select extent(the_geom) as g from ".$db_layer." where ";\r
- //print("toto");\r
- } \r
- $ibbox++;\r
- break;\r
- //ftheeten 21/01/2011 (for other layers than tdwg)\r
- default:\r
- $layer=$k;\r
- $field=$wms_field_array[$k];\r
- $label_field=$wms_field_array[$k];//'?';\r
- //print("________________________layer=".$layer);\r
- //print("________________________field=".$field);\r
- //ftheeten auto boox 24/08/2011\r
- if($ibbox==0)\r
- {\r
- $BBOX_sql="SELECT extent(g) FROM(select extent(the_geom) as g from ".$layer." where ";\r
- }\r
- elseif($ibbox>0)\r
- {\r
- $BBOX_sql="UNION ALL select extent(the_geom) as g from ".$layer." where ";\r
- //print("toto");\r
- } \r
- $flagUserTable=true;\r
- $ibbox++;\r
- //print('====>ibbox='.$ibbox);\r
- break;\r
- \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
- $BBOX_sql.=$field."='".$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
- $BBOX_sql.=$field."='".$val['zones'][0]."'";\r
- }\r
- else\r
- {\r
- //$BBOX_sql.=" OR code='".$val['zones'][$i]."'";\r
- $BBOX_sql.=" OR ".$field."='".$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
- $BBOX_sql.=" OR ".$field."='".$val['zones'][$count-1]."'";\r
- \r
- \r
- }\r
- $c++;\r
- }\r
- \r
- }//end if bbox\r
- //ftheeten 24/08/2011\r
- $BBOX_sql.=") AS foo;";\r
- //print($BBOX_sql);\r
- \r
- //ftheeten 24/08/2011\r
- \r
- \r
- \r
- \r
- $postgis_result=pg_query($BBOX_sql);\r
- \r
- \r
- \r
- while ($row = pg_fetch_array($postgis_result, NULL, PGSQL_ASSOC))\r
- \r
- {\r
- \r
- \r
- \r
- $b=substr($row['extent'],4);\r
- \r
- // echo $height;\r
- \r
- $cadena=substr($b,0,-1); \r
- \r
- $bbox=str_replace(' ',',',$cadena);\r
- \r
- //echo "this is bbox".$bbox;\r
- \r
- }\r
- \r
- }\r
- \r
- \r
- \r
- }\r
- \r
- //print($BBOX_sql);\r
- \r
- $recalculate="true";\r
- \r
- if ($p_recalculate)\r
- \r
- {\r
- \r
- if ($p_recalculate=='false')\r
- \r
- {\r
- \r
- $recalculate='false';\r
- \r
- }\r
- \r
- };\r
- \r
- //print("old bbox");\r
-//print($bbox);\r
- \r
- \r
- \r
- \r
- if ($recalculate=="true")\r
- \r
- {\r
- \r
- $bbox2=explode(',',$bbox); \r
- \r
- \r
- \r
- $ratio_x=$bbox2[2]-$bbox2[0];\r
- \r
- $ratio_y=abs($bbox2[1]-$bbox2[3]);\r
- \r
- if (((($ratio_x)/$ratio_y))<2)\r
- \r
- {\r
- \r
- $to_change='x';\r
- \r
- // echo "yesss XXXX";\r
- \r
- //echo "ratio is ".(($ratio_x*2)/$ratio_y)."<br>";\r
- \r
- }\r
- \r
- else \r
- \r
- { \r
- \r
- $to_change='y';\r
- \r
- }\r
- \r
- switch ($to_change)\r
- \r
- {\r
- \r
- \r
- \r
- case 'x':\r
- \r
- $diff_x=abs((($ratio_x)/2 -$ratio_y)/2); \r
- \r
- $bbox2[0]=$bbox2[0]-$diff_x; \r
- \r
- $bbox2[2]=$bbox2[2]+$diff_x; \r
- \r
- $bbox=$bbox2[0].",".$bbox2[1].",".$bbox2[2].",".$bbox2[3];\r
- \r
- $ratio=$ratio_x/$ratio_y;\r
- \r
- $width = (int)($height+($ratio*30));\r
- \r
- break; \r
- \r
- \r
- \r
- \r
- \r
- case 'y':\r
- \r
- \r
- \r
- $diff_x=abs((($ratio_x -$ratio_y)/2)/2); \r
- \r
- if ($bbox2[1]<0)\r
- \r
- {\r
- \r
- //echo "bbox_1 negativa";\r
- \r
- $bbox2[1]=$bbox2[1]-$diff_x;\r
- \r
- if (abs($bbox2[1])>90)\r
- \r
- {\r
- \r
- $bbox2[1]=-90;\r
- \r
- }\r
- \r
- }\r
- \r
- else \r
- \r
- {\r
- \r
- $bbox2[1]=$bbox2[1]-$diff_x; \r
- \r
- if (abs($bbox2[1])>90)\r
- \r
- {\r
- \r
- $bbox2[1]=90; \r
- \r
- }\r
- \r
- };\r
- \r
- if ($bbox2[3]<0 )\r
- \r
- {\r
- \r
- $bbox2[3]=$bbox2[3]+$diff_x; \r
- \r
- if (abs($bbox2[3])>90)\r
- \r
- {\r
- \r
- $bbox2[3]=-90; \r
- \r
- }\r
- \r
- }\r
- \r
- else\r
- \r
- {\r
- \r
- $bbox2[3]=$bbox2[3]+$diff_x;\r
- \r
- if (abs($bbox2[3])>90)\r
- \r
- {\r
- \r
- $bbox2[3]=90; \r
- \r
- }\r
- \r
- }\r
- \r
- $bbox=$bbox2[0].",".$bbox2[1].",".$bbox2[2].",".$bbox2[3];\r
-//print("new bbox");\r
-//print($bbox);\r
- \r
- break;\r
- \r
- }//fi switch\r
- \r
- }//fi recalculate=true\r
- \r
- else\r
- \r
- {\r
- \r
- //Recalculate =false (we try to put everything)\r
- \r
- //test added by ftheeten 2010/04/09 to avoid error message\r
- \r
- if($ratio_y!=0)\r
- \r
- {\r
- \r
- $ratio=$ratio_x/$ratio_y;\r
- \r
- }\r
- \r
- //echo $ratio;\r
- \r
- // $height = (int)($width / $ratio);\r
- \r
- \r
- \r
- }\r
- \r
- \r
- \r
- //echo $height;\r
- \r
- $url_list=array();\r
- \r
- $legend_list=array();\r
- \r
- $files_list=array();\r
- \r
- \r
- \r
- $c=count($gmls);\r
- \r
- \r
- \r
- //global $bbox;\r
- //print("GLOBALBBOX=".$bbox);\r
- if (isset($p_foo))\r
- \r
- {\r
- \r
- $json='foo({"bbox":"'.$bbox.'","legend":"'.$leg_url.'","layers":['; \r
- \r
- }\r
- \r
- elseif (isset($p_callback)) //addition ftheeten 16/06/2010\r
- \r
- {\r
- \r
- $json=$p_callback.'({"bbox":"'.$bbox.'","legend":"'.$leg_url.'","layers":[';\r
- //$json='({"bbox":"'.$bbox.'","legend":"'.$leg_url.'","layers":[';\r
- \r
- }\r
- \r
- else\r
- \r
- {\r
- \r
- $json='[{"bbox":"'.$bbox.'","legend":"'.$leg_url.'","layers":[';\r
- \r
- }\r
- \r
- \r
- \r
- \r
- \r
- \r
- \r
- \r
- \r
- $i=0;\r
- \r
- foreach ($gmls as $feature=>$v)\r
- \r
- {\r
- \r
- $i++;\r
- \r
- $dom_new = new DOMDocument();\r
- \r
- //print("-----------------------");\r
- \r
- //print_r($v);\r
- \r
- switch ($feature)\r
- \r
- {\r
- \r
- \r
- \r
- \r
- \r
- case ('tdwg1'): $layer='topp:tdwg_level_1';$db_layer='tdwg_level_1';\r
- \r
- $field='code';\r
- \r
- $label_field='zona';\r
- \r
- break;\r
- \r
- case ('tdwg2'): $layer='topp:tdwg_level_2';$db_layer='tdwg_level_2';\r
- \r
- $field='code';\r
- \r
- $label_field='code';\r
- \r
- break;\r
- \r
- case ('tdwg3'): $layer='topp:tdwg_level_3'; $db_layer='tdwg_level_3';\r
- \r
- $field='code';$layer_sh="TDWG 3";$label_field='code';\r
- \r
- break;\r
- \r
- case ('tdwg4'): $layer='topp:tdwg_level_4';$db_layer='tdwg_level_4';\r
- \r
- $field="code";\r
- \r
- $label_field='code';$layer_sh="TDWG 4";\r
- \r
- break;\r
- \r
- case ('e_w_0'): $layer='topp:europe_west_level_0';$db_layer='europe_west_level_0';\r
- \r
- $field="code";\r
- \r
- $label_field='code';$layer_sh="EURW 0";\r
- \r
- break;\r
- \r
- case ('e_w_1'): $layer='topp:europe_west_level_1';$db_layer='europe_west_level_1';\r
- \r
- $field="code";\r
- \r
- $label_field='code';$layer_sh="EURW 1";\r
- \r
- break;\r
- \r
- //ftheeten 21/02/2011\r
- \r
- default:\r
- \r
- $layer=$feature;\r
- \r
- $field=$wms_field_array[$feature];\r
- \r
- $label_field=$tmp_wms_field;\r
- \r
- \r
- break;\r
- \r
- }\r
- \r
- \r
- \r
- $p=simplexml_load_string($gmls[$feature]);\r
- \r
- $hatching=$p->style->hatching;\r
- \r
- $xsl = new XSLTProcessor;\r
- \r
- $xsl->setParameter( '', 'symbol', $hatching);\r
- \r
- $pos_prefix = substr_count($layer,$prefix_wms);\r
- \r
- $displayedLayer=$layer;\r
- \r
- //print("pos=".$pos_prefix."=");\r
- \r
- if($pos_prefix===0) \r
- \r
- {\r
- \r
- //print("prefix");\r
- \r
- $displayedLayer=$prefix_wms.$layer;\r
- \r
- }\r
- \r
- $xsl->setParameter( '', 'layer', $displayedLayer);\r
- //ftheeten 2011/05/27\r
- \r
- $xsl->setParameter( '', 'field', $field);\r
- \r
- //$xsl->setParameter( '', 'label_field', $label_field);\r
- $xsl->setParameter( '', 'label_field', $field);\r
- \r
- $style = realpath('areas_pattern.xsl');\r
- \r
- $dom_new->load($style);\r
- \r
- $xsl->importStyleSheet($dom_new);\r
- \r
- $dom_new->loadXML($gmls[$feature]);\r
- \r
- $out = $xsl->transformToXML($dom_new);\r
- \r
- srand(time());\r
- \r
- //$random = (rand()%300).".sld";\r
- \r
- $path_towrite="/var/www/synthesys/www/v1/sld/".$feature."_".$random;\r
- \r
- //echo $path_towrite;\r
- \r
- $fp=fopen("$path_towrite","w");\r
- \r
- $write=fwrite($fp,$out);\r
- \r
- array_push($files_list,$path_towrite);\r
- \r
- //echo $out;\r
- \r
- \r
- \r
- \r
- \r
- $json.='{"tdwg": "' . $feature. '","session": "'.$sessionid.'",';\r
- \r
- \r
- \r
- //$json.='"sld": "' . $feature."_".$random.'"}';\r
- \r
- //correction ftheeten 09/04/2010\r
- \r
- $nameSLDFile=$feature."_".$random;\r
- \r
- $json.='"sld": "' . V1_SLD_URL."/".$nameSLDFile.'"';\r
- \r
- \r
- $json.='}';\r
- \r
- \r
- \r
- if ($i < $c)\r
- \r
- {\r
- \r
- $json.=',';\r
- \r
- }\r
- \r
- //print("build URL");\r
- \r
- //print($layer);\r
- if(strlen($layer)>0)\r
- {\r
- //print("ADDED"); \r
- $url=URL_GEOSERVER."?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&TRANSPARENT=TRUE&SERVICE=WMS&EPSG=4326&layers=";\r
- \r
- $url.=$layer."&format=image/png&bbox=".$bbox."&WIDTH=".$width."&HEIGHT=".$height."&SLD=".V1_SLD_URL."/".$nameSLDFile;\r
- \r
- \r
- //print($url);\r
- \r
- \r
- \r
- //provinces,world\r
- \r
- \r
- \r
- \r
- //global $height;\r
- \r
- \r
- $url_list[]=$url;\r
- \r
- $legend_list[]=$legend_url;\r
- }\r
- \r
- }\r
- \r
- //correction ftheeten 09/04/2010\r
- \r
- $json.="]";\r
- \r
- \r
- \r
- \r
- \r
- $json.=",\"geoserver\": \"".URL_GEOSERVER."\"";\r
- if($p_occ_data)\r
- { \r
- $json.=",\"points_sld\": \"".URL_SITE."/synthesys/www/v1/sld/point_".$random.".sld\"";\r
- }\r
- if(strtolower($p_jsoncreatefile)==="true")\r
- {\r
- $imgpathforjsonurl=V1_IMG;\r
- $json.=", \"img\": \"".$random2_www."\""; \r
- }\r
- \r
- $json.="}";\r
- \r
- if (isset($p_foo))\r
- \r
- {\r
- \r
- $json.=")"; \r
- \r
- }\r
- \r
- elseif(isset($p_callback))////addition ftheeten 16/06/2010\r
- \r
- {\r
- \r
- $json.=");"; \r
- \r
- }\r
- \r
- else\r
- \r
- {\r
- \r
- $json.="]"; \r
- \r
- }\r
- \r
- \r
- \r
- \r
- \r
- \r
- \r
- \r
- \r
- //$img=$p_img;\r
- \r
- \r
- \r
- //if ($img=='false')\r
- \r
- //{\r
- \r
- //RMCA 09/04/2010\r
- \r
- \r
- \r
- ////if ($img=='false')\r
- \r
- ////{\r
- \r
- // $headerText="Content-Type: application/json";\r
- \r
- \r
- \r
- ////}\r
- \r
- \r
- \r
- //header($headerText);\r
- //header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1\r
- //header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé\r
- \r
- \r
- \r
- //echo $json;\r
- \r
- //}\r
- \r
- //else\r
- \r
- //{\r
- \r
- //print("else"); \r
- \r
- $random3="/var/www/synthesys/www/v1/img/".md5($p_uri )."bckgrd_layers.png";\r
- $random4="/var/www/synthesys/www/v1/img/".md5($p_uri )."wms_layers.png";\r
- \r
- //ftheeten 22/02/2011 (sometimes bug if image previously exists)\r
- if(file_exists($random3))\r
- {\r
- unlink($random3);\r
- \r
- }\r
- if(file_exists($random4))\r
- {\r
- unlink($random4);\r
- \r
- }\r
- \r
- $url2_array=array();\r
- $c="convert convert -size '".$width."x".$height."' xc:transparent $random3";\r
- if(isset($arrayBackgroundStyle)===true)\r
- {\r
- if(count($arrayBackgroundStyle)>0)\r
- {\r
- $c='';\r
- for ($i=0;$i<count($arrayBackgroundStyle);$i++)\r
- \r
- {\r
- $url2=URL_GEOSERVER."?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&TRANSPARENT=TRUE&SERVICE=WMS&EPSG=4326&layers=".$arrayBackgroundStyle[$i]['name'];\r
- \r
- $url2.="&format=image/png&bbox=".$bbox."&WIDTH=".$width."&HEIGHT=".$height;\r
- \r
- if($arrayBackgroundStyle[$i]['type']=="sld")\r
- {\r
- $url2.="&SLD=".$arrayBackgroundStyle[$i]['style'];\r
- }\r
- elseif($arrayBackgroundStyle[$i]['type']=="wms_style")\r
- {\r
- $url2.="&STYLES=".$arrayBackgroundStyle[$i]['style'];\r
- }\r
- elseif($arrayBackgroundStyle[$i]['type']=="user_sld")\r
- {\r
- \r
- \r
- $pos_prefix_sld = substr_count($arrayBackgroundStyle[$i]['name'],$prefix_wms);\r
- $displayedLayer_sld=$arrayBackgroundStyle[$i]['name'];\r
- //print("pos=".$pos_prefix."=");\r
- if($pos_prefix_sld===0) \r
- {\r
- //print("prefix");\r
- $displayedLayer_sld=$prefix_wms.$arrayBackgroundStyle[$i]['name'];\r
- }\r
- $returnedXML=generate_xml_simple_style_no_zone($displayedLayer_sld, $arrayBackgroundStyle[$i]['style'], $arrayBackgroundStyle[$i]['style'], $total_symbols, $symbols_url);\r
- //print($returnedXML);\r
- $path_towrite="/var/www/synthesys/www/v1/sld/"."_backsld_".$displayedLayer_sld.$random;\r
- //print($path_towrite);\r
- xml_to_sld_xslt($returnedXML, $displayedLayer_sld,'areas_pattern.xsl', $path_towrite );\r
- $url_back_sld=V1_SLD_URL."/_backsld_".$displayedLayer_sld.$random;\r
- $url2.="&SLD=".$url_back_sld;\r
- }\r
- \r
- $url2_array[]=$url2;\r
- //print($url2);\r
- }\r
- }\r
- }\r
- if(strlen($c)>0)\r
- {\r
- shell_exec($c);\r
- }\r
- \r
- \r
- \r
- \r
- $c="convert convert -size '".$width."x".$height."' xc:transparent $random3";\r
- \r
- shell_exec($c);\r
- \r
- if(count($url_list)>1)\r
- \r
- {\r
- \r
- \r
- \r
- \r
- \r
- \r
- for ($i=0;$i<count($url_list);$i++)\r
- {\r
- \r
- \r
- if($i==0)\r
- {\r
- $c="composite '".$url_list[$i]."' '".$url_list[$i]."' '".$random4."'";\r
- shell_exec($c);\r
- \r
- }\r
- else\r
- {\r
- $c="composite '".$url_list[$i]."' '".$random4."' '".$random4."'";\r
- shell_exec($c); \r
- //print($c); \r
- }\r
- \r
- }\r
- $c="composite '$random4' '$random3' '$random2'";\r
- \r
- //print($c);\r
- //readfile($random2);\r
- \r
- shell_exec($c);\r
- \r
- //print($url2);\r
- \r
- }\r
- \r
- elseif(count($url_list)==1)\r
- \r
- {\r
- \r
- //SLDs over normal layers\r
- \r
- $c="composite '$url_list[0]' '$url_list[0]' '$random4'";\r
- \r
- //print($c);\r
- \r
- shell_exec($c);\r
- $c="composite '$random4' '$random3' '$random2'";\r
- \r
- \r
- //print($c);\r
- shell_exec($c);\r
-\r
-\r
-\r
- }\r
- elseif(count($url_list)==0)\r
- {\r
- $c="convert convert -size '".$width."x".$height."' xc:transparent $random2";\r
- \r
- shell_exec($c);\r
- }\r
- \r
- \r
- \r
- \r
-\r
- \r
- \r
- \r
- //part ftheeten 12/08/2010 external WMS\r
- \r
- \r
- $flagExternalWMS=false;\r
- \r
- $extWFURLArray=array();\r
- \r
- $extWFSURL="";\r
- \r
- \r
- \r
- if(isset($p_externalwms)===true&&isset($p_externalwms_layer)===true)\r
- \r
- {\r
- \r
- $flagExternalWMS=true;\r
- \r
- $versionWFS=NULL;\r
- \r
- if(isset($p_externalwms_version)===true)\r
- \r
- {\r
- \r
- $versionWFS=$p_externalwms_version;\r
- \r
- }\r
- \r
- $externalWMSStyle="";\r
- \r
- if(isset($p_externalwms_style)===true)\r
- \r
- {\r
- \r
- $externalWMSStyle=$p_externalwms_style;\r
- \r
- }\r
- \r
- if(strlen($p_externalwms)>0&&strlen($p_externalwms_layer)>0)\r
- \r
- {\r
- \r
- $versionWFS=NULL;\r
- \r
- if(isset($p_externalwms_version)===true)\r
- \r
- {\r
- \r
- $versionWFS=$p_externalwms_version;\r
- \r
- }\r
- \r
- $externalWMSStyle=NULL;\r
- \r
- if(isset($p_externalwms_style)===true)\r
- \r
- {\r
- \r
- $externalWMSStyle=$p_externalwms_style;\r
- \r
- }\r
- \r
- if(strpos($p_externalwms,"|")>0)\r
- \r
- {\r
- \r
- $arrayWFS=array();\r
- \r
- \r
- \r
- $arrayWFS=f_checkWMSParams($arrayWFS,$p_externalwms,"URL","[\|]","[:]");\r
- \r
- $arrayWFS=f_checkWMSParams($arrayWFS,$versionWFS,"VERSION","[\|]","[:]");\r
- \r
- $arrayWFS=f_checkWMSParams($arrayWFS,$p_externalwms_layer,"LAYERS","[\|]","[:]");\r
- \r
- $arrayWFS=f_checkWMSParams($arrayWFS,$externalWMSStyle,"STYLES","[\|]","[:]");\r
- \r
- //print("!!!arrayWFS=>");\r
- \r
- //print_r($arrayWFS);\r
- \r
- foreach($arrayWFS as $key=>$arrayWFSitem)\r
- \r
- {\r
- \r
- $extWFSURLArray[]=f_writeKeyWFSURL($arrayWFS,$key,$bbox,$width,$height);\r
- \r
- }\r
- \r
- \r
- \r
- }\r
- \r
- else\r
- \r
- {\r
- \r
- $externalWMS=$p_externalwms;\r
- \r
- $externalWMSLayer=$p_externalwms_layer;\r
- \r
- \r
- \r
- \r
- \r
- $extWFSURL=f_autoFillWMSURL($externalWMS,$externalWMSVersion,$externalWMSLayer,$externalWMSStyle,$bbox,$width,$height);\r
- \r
- $extWFSURLArray[]=$extWFSURL;\r
- \r
- }\r
- \r
- }\r
- \r
- \r
- \r
- }\r
- \r
- if($flagExternalWMS===true)\r
- \r
- {\r
- \r
- $cptLayers=count($extWFSURLArray);\r
- \r
- for($i=$cptLayers-1;$i>=0;$i--)\r
- \r
- {\r
- \r
- $c="composite '$random2' '$extWFSURLArray[$i]' '$random2'";\r
- \r
- shell_exec($c);\r
- \r
- } \r
- \r
- \r
- \r
- }\r
- if(isset($url2_array)===true)\r
- {\r
- if(count($url2_array)>0)\r
- \r
- {\r
- \r
- $cptLayers=count($url2_array);\r
- \r
- for($i=$cptLayers-1;$i>=0;$i--)\r
- \r
- {\r
- \r
- $c="composite '$random2' '$url2_array[$i]' '$random2'";\r
- //print($url2_array[$i]);\r
- \r
- shell_exec($c);\r
- \r
- } \r
- \r
- \r
- \r
- } \r
- }\r
- /*\r
- if(strlen($url2)>0)\r
- {\r
- $c=" composite '$random2' '$url2' '$random2' ";\r
- shell_exec($c);\r
- }\r
- \r
- */\r
- \r
- \r
- //---display points\r
- if($flagDisplayPoints===true)\r
- { //print("point=true");\r
- \r
- if ($p_raster)\r
- {\r
- \r
- if ($p_raster=='mercantour')\r
- {\r
- $raster='atbi_mercantour.png';\r
- }\r
- \r
- if ($p_raster=='gemer')\r
- {\r
- $raster='atbi_gemer.png';\r
- //$raster='gemer2.jpg';\r
- }\r
- $c="composite '$random2' '$raster' '$random2'";\r
- shell_exec($c);\r
- \r
- }\r
- \r
- \r
- $sld_url.=URL_GEOSERVER."?SERVICE=WMS&VERSION=1.1.1&TRANSPARENT=true&STYLES=&REQUEST=GetMap&SERVICE=WMS&EPSG=4326&layers=rest_points&EPSG=4326&format=image/png&bbox=".$bbox."&WIDTH=".$width."&HEIGHT=".$height."&SLD=".URL_SITE."/synthesys/www/v1/sld/point_".$random.".sld";\r
- \r
- //print($sld_url);\r
- \r
- //$image=imagecreatefrompng($edit_url);\r
- \r
- $points= (rand()%300)."_p.png";\r
- //ftheeten 22/02/2011 (sometimes bug if image previously exists)\r
- if(file_exists(V1_IMG.'/'.$points))\r
- {\r
- unlink(V1_IMG.'/'.$points);\r
- }\r
- //print($sld_url);\r
- $c="convert '$sld_url' ".V1_IMG."'/$points'";\r
- shell_exec($c) ;\r
-\r
- $c="composite ".V1_IMG."'/$points' '$random2' '$random2'";\r
- shell_exec($c); \r
- }\r
- //end display points\r
- \r
- \r
- \r
- if ($leg=='1')\r
- \r
- {\r
- \r
- $legend_url=URL_GEOSERVER."/GetLegendGraphic?SERVICE=WMS&VERSION=1.1.1&format=image/png&TRANSPARENT=TRUE&WIDTH=64&HEIGHT=36&";\r
- \r
- $legend_url.="layer=topp:tdwg_level_3&LEGEND_OPTIONS=forceLabels:on;fontStyle:italic;fontSize:12&SLD=".$leg_url;\r
- $com="convert '$legend_url' '$random2_legend'";\r
- shell_exec($com);\r
- if($flagDisplayPoints===true)\r
- {\r
- $legend_url_point.=URL_GEOSERVER."/GetLegendGraphic?SERVICE=WMS&LEGEND_OPTIONS=forceLabels:on;fontStyle:italic;fontSize:12&VERSION=1.1.1&format=image/png&WIDTH=20&HEIGHT=30&layer=rest_points&SLD=".URL_SITE."/synthesys/www/v1/sld/point_".$random.".sld";\r
- $com="convert -background white -append '$legend_url_point' '$random2_legend' '$random2_legend' ";\r
- shell_exec($com);\r
- }\r
- \r
- \r
- \r
- \r
- \r
- $mlp=$p_mlp;\r
- if(strlen($mlp)==0)\r
- {\r
- //print("no"); \r
- $mlp='3';\r
- }\r
- \r
- switch ($mlp)\r
- \r
- {\r
- \r
- case ('1'):\r
- \r
- {\r
- \r
- \r
- \r
- $com="convert -background white +append '$random2_legend' '$random2' '$random2'"; //-->exterior ul \r
- \r
- break;\r
- \r
- }\r
- \r
- case ('2'):\r
- \r
- {\r
- \r
- $com="convert -background white -append '$random2_legend' '$random2' '$random2' "; //2\r
- \r
- break;\r
- \r
- }\r
- \r
- case ('3'):\r
- \r
- {\r
- \r
- $com="convert -background white +append '$random2' '$random2_legend' '$random2' "; //4\r
- \r
- break;\r
- \r
- }\r
- \r
- \r
- \r
- case ('4'):\r
- \r
- {\r
- \r
- \r
- \r
- $com="convert -background white -append '$random2' '$random2_legend' '$random2'"; //7\r
- \r
- break;\r
- \r
- }\r
- \r
- case ('5'):\r
- \r
- { \r
- \r
- $com="composite -gravity SouthEast '$random2_legend' '$random2' '$random2'";//9\r
- \r
- break;\r
- \r
- } \r
- \r
- case ('6'):\r
- \r
- { \r
- \r
- $com="composite -gravity SouthWest '$random2_legend' '$random2' '$random2'";//10\r
- \r
- break;\r
- \r
- } \r
- \r
- case ('7'):\r
- \r
- { \r
- \r
- $com="composite -gravity NorthEast '$random2_legend' '$random2' '$random2'";//11\r
- \r
- break;\r
- \r
- } \r
- \r
- case ('8'):\r
- \r
- { \r
- \r
- $com="composite -gravity NorthWest '$random2_legend' '$random2' '$random2'";//12\r
- \r
- break;$c.="'".$url_list[$i]."' ";\r
- \r
- } \r
- \r
- }\r
- \r
- shell_exec($com);\r
- \r
- //B&W mode ftheeten 2011/07/05\r
- \r
- if (strtolower($p_grayscale)==='true')\r
- {\r
- $com_monochrome="convert -type Grayscale '$random2' '$random2'";\r
- shell_exec($com_monochrome);\r
- }\r
- \r
- }\r
- \r
- \r
- \r
- \r
- \r
- //RMCA 09/04/2010\r
- $img=$p_img;\r
- \r
- if(strtolower($img)=='false')\r
- {\r
- $headerText="Content-Type: application/json"; \r
- header($headerText);\r
- header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1\r
- header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé\r
- print($json);\r
- }\r
- else\r
- {\r
- $headerText="Content-Type: image/png"; \r
- header($headerText);\r
- header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1\r
- header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé\r
- readfile($random2);\r
-\r
- } \r
- if(strtolower($p_jsoncreatefile)!="true")\r
- {\r
- unlink($random2);\r
- }\r
- \r
- \r
- //} oold if for 'img==true'\r
- \r
- clearstatcache();\r
- \r
- $time=time();\r
- \r
- \r
- \r
- \r
- \r
- /* commented by ftheeten 2010/04/13 (to have sld still available) -> should be repalced by a Cron job*/\r
- \r
- while($entry = $d->read()) { \r
- \r
- if ($entry!= "." && $entry!= "..") { \r
- \r
- \r
- \r
- $f_last_modified = filemtime($sld_dir."/".$entry);\r
- \r
- \r
- \r
- if ($time-$f_last_modified >400)\r
- \r
- {\r
- \r
- unlink($sld_dir."/".$entry);\r
- \r
- } \r
- \r
- \r
- \r
- } \r
- \r
- } \r
- \r
- \r
- \r
- \r
- \r
- while($entry = $e->read()) { \r
- \r
- if ($entry!= "." && $entry!= "..") { \r
- \r
- \r
- \r
- $f_last_modified = filemtime($img_dir."/".$entry);\r
- \r
- \r
- \r
- if ($time-$f_last_modified >400000)\r
- \r
- {\r
- \r
- unlink($img_dir."/".$entry);\r
- \r
- } \r
- \r
- \r
- \r
- } \r
- \r
- } \r
- \r
- \r
- \r
- \r
- \r
- \r
- \r
- //$d->close(); \r
- \r
- $e->close();\r
- \r
- }\r
-\r
-\r
-}\r
-\r
-\r
-?>\r