the wms_id * @param the layer_name * @return the layer_id */ function getLayerIdFromLayerName($wms_id, $layer_name) { $sql = "SELECT * FROM layer WHERE fkey_wms_id = $1 AND layer_name = $2"; $v = array($wms_id, $layer_name); $t = array('i', 's'); $res = db_prep_query($sql,$v,$t); if ( db_fetch_row($res, 0) ) { return db_result($res, 0, "layer_id"); } else { return false; } } /** * Check for a layer wfs-Conf. * * @param the layer_id * @param the gui_id * @return wfs_conf_id */ function getLayerWfsConfId($gui_id, $layer_id) { $sql = "SELECT gui_layer_wfs_featuretype FROM gui_layer WHERE fkey_gui_id = $1 AND fkey_layer_id = $2"; $v = array($gui_id, $layer_id); $t = array('s', 'i'); $res = db_prep_query($sql,$v,$t); if ( db_fetch_row($res, 0) ) { return db_result($res, 0, "gui_layer_wfs_featuretype"); } else { return false; } } /** * return layer wfs-FeatureType-id. * * @param the wfs_conf_id * @return fkey_featuretype_id */ function getWfsConfFeatureTypeId($wfs_conf_id) { $sql = "SELECT fkey_featuretype_id FROM wfs_conf WHERE wfs_conf_id = $1"; $v = array($wfs_conf_id); $t = array('i'); $res = db_prep_query($sql,$v,$t); if ( db_fetch_row($res, 0) ) { return db_result($res, 0, "fkey_featuretype_id"); } else { return false; } } /** * create a getmap request for the map images * * @param gui_id * @param layer_id * @param wms_id * * @return getmap URL */ function getPreviewMapUrl($gui_id, $layer_id, $wms_id) { $previewMapSrs = ""; $sql = "select w.gui_wms_epsg as srs, e.minx, e.miny, e.maxx, e.maxy "; $sql .= "from gui_wms w, layer l, layer_epsg e "; $sql .= "where l.fkey_wms_id=w.fkey_wms_id and e.fkey_layer_id=l.layer_id and e.epsg=w.gui_wms_epsg and "; $sql .= "l.layer_parent = '' and w.fkey_gui_id = $1 and w.gui_wms_position=0"; $v = array($gui_id); $t = array('s'); $res = db_prep_query($sql,$v,$t); if ( $res ) { $row = db_fetch_array($res, 0); $previewMapSrs .= "&SRS=".$row["srs"]."&BBOX=".$row["minx"].",".$row["miny"].",".$row["maxx"].",".$row["maxy"]; } else { return false; } $sql = "select wms.wms_getmap as mapurl, layer.layer_name, wms.wms_version as version, w.gui_wms_mapformat as format "; $sql .= "from gui_wms w, gui_layer l, wms, layer "; $sql .= "where w.fkey_gui_id=l.fkey_gui_id and wms.wms_id = w.fkey_wms_id and l.fkey_layer_id = layer.layer_id and "; $sql .= "w.fkey_gui_id=$1 and l.fkey_layer_id=$2 and wms.wms_id = $3"; $v = array($gui_id, $layer_id, $wms_id); $t = array('s', 'i', 'i'); $res = db_prep_query($sql,$v,$t); $previewMapUrl = ""; if ( $res ) { $row = db_fetch_array($res, 0); $previewMapUrl .= $row["mapurl"]."SERVICE=WMS&REQUEST=GetMap&VERSION=".$row["version"]; $previewMapUrl .= "&LAYERS=".$row["layer_name"]."&STYLES="; $previewMapUrl .= $previewMapSrs; $previewMapUrl .= "&FORMAT=".$row["format"]; return $previewMapUrl; } else { return false; } } } ?>