[Mapbender-commits] r3142 - in trunk/mapbender: conf http/css
http/javascripts http/php resources/db/update
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Wed Oct 8 05:31:57 EDT 2008
Author: christoph
Date: 2008-10-08 05:31:56 -0400 (Wed, 08 Oct 2008)
New Revision: 3142
Modified:
trunk/mapbender/conf/digitize_default.conf
trunk/mapbender/http/css/digitize.css
trunk/mapbender/http/javascripts/mod_digitize_tab.php
trunk/mapbender/http/php/mod_digitize_differencePolygon.php
trunk/mapbender/http/php/mod_digitize_mergePolygon.php
trunk/mapbender/http/php/mod_digitize_messages.php
trunk/mapbender/http/php/mod_digitize_splitPolygon.php
trunk/mapbender/resources/db/update/update_2.6.sql
Log:
http://trac.osgeo.org/mapbender/ticket/305
http://trac.osgeo.org/mapbender/ticket/306
Modified: trunk/mapbender/conf/digitize_default.conf
===================================================================
--- trunk/mapbender/conf/digitize_default.conf 2008-10-07 15:19:10 UTC (rev 3141)
+++ trunk/mapbender/conf/digitize_default.conf 2008-10-08 09:31:56 UTC (rev 3142)
@@ -4,14 +4,15 @@
// * Do not change the ID (first entry)!!
addButtonDig("Point", 1, "point_off.png", "", "", 0, 0);
-addButtonDig("Line", 1, "line_off.png", "", "", 25, 0);
-addButtonDig("Polygon", 1, "polygon_off.png", "", "", 50, 0);
-addButtonDig("dragBasePoint", 1, "move_node_off.png", "", "", 75, 0);
-addButtonDig("setBasePoint", 1, "new_node_off.png", "", "", 100, 0);
-addButtonDig("delBasePoint", 1, "delete_node_off.png", "", "", 125, 0);
-addButtonDig("clear", 1, "del_off.png", "", "", 150, 0);
-addButtonDig("digitizeSplit", 1, "splitPolygon_off.png", "", "", 175, 0);
-addButtonDig("digitizeMerge", 1, "mergePolygons_off.png", "", "", 200, 0);
+addButtonDig("Line", 1, "line_off.png", "", "", 28, 0);
+addButtonDig("Polygon", 1, "polygon_off.png", "", "", 56, 0);
+addButtonDig("dragBasePoint", 1, "move_node_off.png", "", "", 84, 0);
+addButtonDig("setBasePoint", 1, "new_node_off.png", "", "", 112, 0);
+addButtonDig("delBasePoint", 1, "delete_node_off.png", "", "", 140, 0);
+addButtonDig("clear", 1, "del_off.png", "", "", 168, 0);
+addButtonDig("digitizeDifference", 1, "splitPolygon_off.png", "", "", 0, 28);
+addButtonDig("digitizeSplit", 1, "splitPolygon_off.png", "", "", 28, 28);
+addButtonDig("digitizeMerge", 1, "mergePolygons_off.png", "", "", 56, 28);
//definition of directory of digitize buttons
buttonDig_imgdir = "../img/button_digitize/";
@@ -21,8 +22,6 @@
var buttonDig_removeDb_src = "geomRemoveDb.png";
var dotDistance = 7;
-var geomList_x = 20;
-var geomList_y = 50;
var linepointColor = "#ffff00";
var mod_digitize_elName = "digitize";
var snappingColor = "#ff0000";
Modified: trunk/mapbender/http/css/digitize.css
===================================================================
--- trunk/mapbender/http/css/digitize.css 2008-10-07 15:19:10 UTC (rev 3141)
+++ trunk/mapbender/http/css/digitize.css 2008-10-08 09:31:56 UTC (rev 3142)
@@ -24,11 +24,4 @@
position:absolute;
left:0px;
top:0px;
-}
-
-.label{
- position: absolute;
- left:0px;
- top:0px;
- font-size:12px;
}
\ No newline at end of file
Modified: trunk/mapbender/http/javascripts/mod_digitize_tab.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_digitize_tab.php 2008-10-07 15:19:10 UTC (rev 3141)
+++ trunk/mapbender/http/javascripts/mod_digitize_tab.php 2008-10-08 09:31:56 UTC (rev 3142)
@@ -69,7 +69,6 @@
?>
var wfsWindow;
-var dwin = null;
var wfsConf = [];
var d;
var mod_digitize_width;
@@ -596,6 +595,30 @@
currentTitle = msgObj.buttonLabelClearListOff;
}
break;
+ case "digitizeSplit":
+ if (currentStatus == 1) {
+ currentTitle = msgObj.buttonLabelSplitOn;
+ }
+ else {
+ currentTitle = msgObj.buttonLabelSplitOff;
+ }
+ break;
+ case "digitizeMerge":
+ if (currentStatus == 1) {
+ currentTitle = msgObj.buttonLabelMergeOn;
+ }
+ else {
+ currentTitle = msgObj.buttonLabelMergeOff;
+ }
+ break;
+ case "digitizeDifference":
+ if (currentStatus == 1) {
+ currentTitle = msgObj.buttonLabelDifferenceOn;
+ }
+ else {
+ currentTitle = msgObj.buttonLabelDifferenceOff;
+ }
+ break;
}
currentButton.title = currentTitle;
}
@@ -1078,7 +1101,7 @@
}
function updateListOfGeometries(){
- var listOfGeom = "<div id='geometryTable' style='position:absolute; top:"+geomList_y+"px; left:"+geomList_x+"px;'><ul>";
+ var listOfGeom = "<ul>";
if (d.count() > 0) {
wfsConf = parent.get_complete_wfs_conf();
for (var i = 0 ; i < d.count(); i ++) {
@@ -1109,7 +1132,7 @@
if (isValidWfsConfIndex(wfsConf, d.get(i).wfs_conf)) {
listOfGeom += "<img src = '"+buttonDig_imgdir+buttonDig_removeDb_src+"' title='"+msgObj.buttonDig_removeDb_title+"' onclick=\"var deltrans = confirm('"+msgObj.messageConfirmDeleteGeomFromDb+"');if (deltrans) dbGeom('delete', "+i+")\">";
}
- listOfGeom += "<div class='searchResults' onmouseover='parent.mb_wfs_perform(\"over\",d.get("+i+"));' ";
+ listOfGeom += "<div class='digitizeGeometryListItem' onmouseover='parent.mb_wfs_perform(\"over\",d.get("+i+"));' ";
listOfGeom += " onmouseout='parent.mb_wfs_perform(\"out\",d.get("+i+"))' ";
listOfGeom += " onclick='parent.mb_wfs_perform(\"click\",d.get("+i+"));' ";
var geomName = getName(d.get(i));
@@ -1138,7 +1161,7 @@
d.get(i).get(j).innerRings.count() > 0)) {
listOfGeom += "<li>";
listOfGeom += "<img src = '"+buttonDig_imgdir+buttonDig_remove_src+"' title='"+msgObj.buttonDig_remove_title+"' onclick='parent.mb_disableThisButton(mod_digitizeEvent);d.get("+i+").del(" + j + ");executeDigitizeSubFunctions();'>";
- listOfGeom += "<div class='searchResults' onmouseover='parent.mb_wfs_perform(\"over\",d.get("+i+").get("+j+"));' ";
+ listOfGeom += "<div class='digitizeGeometryListItem' onmouseover='parent.mb_wfs_perform(\"over\",d.get("+i+").get("+j+"));' ";
listOfGeom += " onmouseout='parent.mb_wfs_perform(\"out\",d.get("+i+").get("+j+"))' ";
listOfGeom += " onclick='parent.mb_wfs_perform(\"click\",d.get("+i+").get("+j+"));' ";
listOfGeom += ">" + currentGeomType + "#" + (j+1) +"</div></li>";
@@ -1151,7 +1174,7 @@
var currentRing = d.get(i).get(j).innerRings.get(k);
listOfGeom += "<li>";
listOfGeom += "<img src = '"+buttonDig_imgdir+buttonDig_remove_src+"' title='"+msgObj.buttonDig_remove_title+"' onclick='parent.mb_disableThisButton(mod_digitizeEvent);d.get("+i+").get(" + j + ").innerRings.del(" + k + ");executeDigitizeSubFunctions();'>";
- listOfGeom += "<div class='searchResults' onmouseover='parent.mb_wfs_perform(\"over\",d.getGeometry("+i+","+j+").innerRings.get(" + k + "));' ";
+ listOfGeom += "<div class='digitizeGeometryListItem' onmouseover='parent.mb_wfs_perform(\"over\",d.getGeometry("+i+","+j+").innerRings.get(" + k + "));' ";
listOfGeom += " onmouseout='parent.mb_wfs_perform(\"out\",d.getGeometry("+i+","+j+").innerRings.get(" + k + "))' ";
listOfGeom += " onclick='parent.mb_wfs_perform(\"click\",d.getGeometry("+i+","+j+").innerRings.get(" + k + "));' ";
listOfGeom += ">inner ring #" + (k+1) +"</div></li>";
@@ -1165,7 +1188,7 @@
}
}
}
- listOfGeom += "<ul></div>";
+ listOfGeom += "<ul>";
parent.writeTag(mod_digitize_elName,"listOfGeometries",listOfGeom);
}
// --- display (end) -----------------------------------------------------------------------------------------
@@ -1732,7 +1755,7 @@
</script>
</head>
<body onload="registerFunctions();displayButtons();">
- <table cellpadding='0' cellspacing='0' align = center><tr><td><div id='digButtons'></div></td></tr></table>
- <div id = 'listOfGeometries'></div>
+ <div id='digButtons'></div>
+ <div id='listOfGeometries' class='digitizeGeometryList'></div>
</body>
</html>
Modified: trunk/mapbender/http/php/mod_digitize_differencePolygon.php
===================================================================
--- trunk/mapbender/http/php/mod_digitize_differencePolygon.php 2008-10-07 15:19:10 UTC (rev 3141)
+++ trunk/mapbender/http/php/mod_digitize_differencePolygon.php 2008-10-08 09:31:56 UTC (rev 3142)
@@ -28,10 +28,13 @@
$floatPattern = "-?\d+(\.\d+)?";
$pointPattern = $floatPattern . " " . $floatPattern;
-$polygonPattern = "\(" . $pointPattern . "(, " . $pointPattern . ")*\)";
-$multiPolygonPattern = "(MULTI)?POLYGON \(" . $polygonPattern . "(, " . $polygonPattern . ")*\)";
+$ringPattern = "\(" . $pointPattern . "(, " . $pointPattern . ")*\)";
+$polygonPattern = "\(" . $ringPattern . "(,( )*" . $ringPattern . ")*\)";
+$singlePolygonPattern = "POLYGON( )*" . $polygonPattern;
+$multiPolygonPattern = "MULTIPOLYGON( )\(" . $polygonPattern . "(,( )*" . $polygonPattern . ")*\)";$pattern = "/" . $multiPolygonPattern . "(;" . $multiPolygonPattern . ")+/";
+$anyPolygonPattern = "(" . $singlePolygonPattern . ")|(" . $multiPolygonPattern . ")";
-$pattern = "/" . $polygonPattern . "/";
+$pattern = "/" . $anyPolygonPattern . "/";
if (!preg_match($pattern, $polygon1Text)) {
echo "Polygon 1 not a polygon.";
die();
Modified: trunk/mapbender/http/php/mod_digitize_mergePolygon.php
===================================================================
--- trunk/mapbender/http/php/mod_digitize_mergePolygon.php 2008-10-07 15:19:10 UTC (rev 3141)
+++ trunk/mapbender/http/php/mod_digitize_mergePolygon.php 2008-10-08 09:31:56 UTC (rev 3142)
@@ -26,8 +26,13 @@
$floatPattern = "-?\d+(\.\d+)?";
$pointPattern = $floatPattern . " " . $floatPattern;
-$polygonPattern = "POLYGON \(\(" . $pointPattern . "(, " . $pointPattern . ")*\)\)";
-$pattern = "/" . $polygonPattern . "(;" . $polygonPattern . ")+/";
+$ringPattern = "\(" . $pointPattern . "(, " . $pointPattern . ")*\)";
+$polygonPattern = "\(" . $ringPattern . "(,( )*" . $ringPattern . ")*\)";
+$singlePolygonPattern = "POLYGON( )*" . $polygonPattern;
+$multiPolygonPattern = "MULTIPOLYGON( )\(" . $polygonPattern . "(,( )*" . $polygonPattern . ")*\)";$pattern = "/" . $multiPolygonPattern . "(;" . $multiPolygonPattern . ")+/";
+$anyPolygonPattern = "(" . $singlePolygonPattern . ")|(" . $multiPolygonPattern . ")";
+$pattern = "/" . $anyPolygonPattern . "(;" . $anyPolygonPattern . ")*/";
+
if (!preg_match($pattern, $polygonList)) {
echo "not a polygon.";
die();
Modified: trunk/mapbender/http/php/mod_digitize_messages.php
===================================================================
--- trunk/mapbender/http/php/mod_digitize_messages.php 2008-10-07 15:19:10 UTC (rev 3141)
+++ trunk/mapbender/http/php/mod_digitize_messages.php 2008-10-08 09:31:56 UTC (rev 3142)
@@ -62,10 +62,12 @@
$msg_obj["buttonLabelDeleteBasepointOn"] = _mb("Delete basepoint");
$msg_obj["buttonLabelClearListOff"] = _mb("clear list of geometries");
$msg_obj["buttonLabelClearListOn"] = _mb("clear list of geometries");
-$msg_obj["buttonLabelMergeOff"] = _mb("Merge geometries");
-$msg_obj["buttonLabelMergeOn"] = _mb("Merge geometries");
-$msg_obj["buttonLabelSplitOff"] = _mb("Split geometries");
-$msg_obj["buttonLabelSplitOn"] = _mb("Split geometries");
+$msg_obj["buttonLabelMergeOff"] = _mb("Merge two polygons into a single polygon (will be added to the geometry list)");
+$msg_obj["buttonLabelMergeOn"] = _mb("Merge two polygons into a single polygon (will be added to the geometry list)");
+$msg_obj["buttonLabelSplitOff"] = _mb("Split a polygon by a line (the new polygons will be added to the geometry list)");
+$msg_obj["buttonLabelSplitOn"] = _mb("Split a polygon by a line (the new polygons will be added to the geometry list)");
+$msg_obj["buttonLabelDifferenceOff"] = _mb("Combine two polygons (to create en- and exclave or to compute the difference)");
+$msg_obj["buttonLabelDifferenceOn"] = _mb("Split geometries");
$msg_obj["buttonDig_wfs_title"] = _mb("save / update / delete");
$msg_obj["buttonDig_remove_title"] = _mb("remove from workspace");
$msg_obj["buttonDig_removeDb_title"] = _mb("remove from database");
Modified: trunk/mapbender/http/php/mod_digitize_splitPolygon.php
===================================================================
--- trunk/mapbender/http/php/mod_digitize_splitPolygon.php 2008-10-07 15:19:10 UTC (rev 3141)
+++ trunk/mapbender/http/php/mod_digitize_splitPolygon.php 2008-10-08 09:31:56 UTC (rev 3142)
@@ -28,10 +28,14 @@
$floatPattern = "-?\d+(\.\d+)?";
$pointPattern = $floatPattern . " " . $floatPattern;
-$polygonPattern = "POLYGON \(\(" . $pointPattern . "(, " . $pointPattern . ")*\)\)";
-$linePattern = "LINESTRING \(" . $pointPattern . ", " . $pointPattern . "\)";
+$ringPattern = "\(" . $pointPattern . "(, " . $pointPattern . ")*\)";
+$polygonPattern = "\(" . $ringPattern . "(,( )*" . $ringPattern . ")*\)";
+$singlePolygonPattern = "POLYGON( )*" . $polygonPattern;
+$multiPolygonPattern = "MULTIPOLYGON( )\(" . $polygonPattern . "(,( )*" . $polygonPattern . ")*\)";$pattern = "/" . $multiPolygonPattern . "(;" . $multiPolygonPattern . ")+/";
+$anyPolygonPattern = "(" . $singlePolygonPattern . ")|(" . $multiPolygonPattern . ")";
+$linePattern = "LINESTRING \(" . $pointPattern . ",( )*" . $pointPattern . "(,( )*" . $pointPattern . ")*\)";
-$pattern = "/" . $polygonPattern . "/";
+$pattern = "/" . $anyPolygonPattern . "/";
if (!preg_match($pattern, $polygonText)) {
echo "not a polygon.";
die();
@@ -44,7 +48,7 @@
}
-$sql = "SELECT astext(geom) FROM dump ((" .
+$sql = "SELECT astext(multi(geom)) FROM dump ((" .
"SELECT polygonize(geomunion(boundary('" .
$polygonText . "'::geometry),'" .
$lineText . "'::geometry))" .
Modified: trunk/mapbender/resources/db/update/update_2.6.sql
===================================================================
--- trunk/mapbender/resources/db/update/update_2.6.sql 2008-10-07 15:19:10 UTC (rev 3141)
+++ trunk/mapbender/resources/db/update/update_2.6.sql 2008-10-08 09:31:56 UTC (rev 3142)
@@ -16,20 +16,26 @@
INSERT INTO gui_element_vars(fkey_gui_id, fkey_e_id, var_name, var_value, context, var_type) VALUES('gui_digitize', 'gazetteerWFS', 'wfs_spatial_request_conf_filename', 'wfs_additional_spatial_search.conf', 'location and name of the WFS configuration file for spatialRequest' ,'php_var');
--add style class to element var text css of element digitize in gui_digitize
-UPDATE gui_element_vars SET var_value = 'body{
- font-family: Arial, Helvetica, sans-serif;
- font-size : 12px;
- color: #ff00ff;
- background-color: #ffffff;
- margin-top: 0px;
- margin-left: 0px;
- }
- .button{
- height: 18px;
- width: 32px;
- }
- .searchResults{
+UPDATE gui_element_vars SET var_value = '
+.digitizeGeometryList{
+ position:absolute;
+ top:50px;
+ left:0px;
+}
+
+.digitizeGeometryListItem{
color:#000000;
font-size:10px;
}
-' WHERE fkey_gui_id= 'gui_digitize' AND fkey_e_id='digitize' AND var_name='text css';
\ No newline at end of file
+body{
+ font-family: Arial, Helvetica, sans-serif;
+ font-size : 12px;
+ color: #ff00ff;
+ background-color: #ffffff;
+ margin-top: 0px;
+ margin-left: 0px;
+}
+.button{
+ height: 18px;
+ width: 32px;
+}' WHERE fkey_e_id = 'digitize' AND var_name = 'text css';
More information about the Mapbender_commits
mailing list