Exemplo n.º 1
0
 function renderPostGisFeatures($featureArray, $doRender = TRUE)
 {
     global $postGisQueryColor;
     $__geofactory = new geometryfactory();
     $__geoArray = array();
     foreach ($featureArray as $value) {
         $the_geom = $this->getGeometryColumns($value[1], f_geometry_column);
         $query = "SELECT ST_AsText(ST_Transform({$the_geom}," . $this->control->proj . ")) as geometry from " . $value[1] . " WHERE gid=" . $value[0];
         $result = $this->execQuery($query);
         $row = postgis::fetchRow($result);
         if ($row['geometry']) {
             $__geoObj = $__geofactory->createGeometry($row['geometry']);
             $__geoArray[] = $row['geometry'];
         }
         if ($doRender) {
             if ($postGisQueryColor[strtoupper($value[1])] != "") {
                 $color = $postGisQueryColor[strtoupper($value[1])];
             } else {
                 $color = "#ffff00";
             }
             $r = hexdec(substr($color, 1, 2));
             $b = hexdec(substr($color, 3, 2));
             $g = hexdec(substr($color, 5, 2));
             $this->control->renderFromWKT(array($__geoObj->getWKT()), TRUE, $r, $b, $g);
         }
     }
     $__geoObjCol = $__geofactory->createGeometryCollection($__geoArray);
     return $__geoObjCol;
 }