Beispiel #1
0
 protected function getWmsLegend($qLayer, $layName, $legPath)
 {
     require_once PM_INCPHP . "/map/wmsclient.php";
     $getWmsLegend = (bool) $qLayer->getMetaData("wms_show_legend");
     //error_log("getWmsLegend: $getWmsLegend");
     if ($getWmsLegend) {
         $onlineResource = $qLayer->connection;
         error_log($onlineResource);
         $wmsLayerName = $qLayer->getMetaData("wms_name");
         $wmsLayerList = explode(",", $wmsLayerName);
         // get URL for legend image
         $wmsClient = new WMSClient($onlineResource);
         $legendUrlList = $wmsClient->getLayerLegendParams($wmsLayerList[0]);
         if ($legendUrlList) {
             $formatList = explode("/", $legendUrlList['format']);
             $imgFile = $legPath . $layName . '_i.' . $formatList[1];
             // download image via URL
             $legendImgUrl = $legendUrlList['legendImgUrl'];
             if (strlen($legendImgUrl) > 0) {
                 $ch = curl_init($legendImgUrl);
                 //error_log("imgUrl: " . $legendUrlList['legendImgUrl']);
                 $fp = fopen($imgFile, "w");
                 curl_setopt($ch, CURLOPT_FILE, $fp);
                 curl_setopt($ch, CURLOPT_HEADER, 0);
                 curl_setopt($ch, CURLOPT_BINARYTRANSFER, True);
                 curl_exec($ch);
                 curl_close($ch);
                 fclose($fp);
             }
         }
     }
 }