Просмотр исходного кода

fixed bug in saving multipolygon by web map widget

Piotr Labudda 9 лет назад
Родитель
Сommit
2c90aea312
1 измененных файлов с 21 добавлено и 27 удалено
  1. 21 27
      SE/se-lib/TableAjaxMap.php

+ 21 - 27
SE/se-lib/TableAjaxMap.php

@@ -2,14 +2,14 @@
 
 /**
  * usage:
- * 
+ *
 <script>
 jQuery('#TreeTableMap').TableAjaxMap({
 	wpsUrl: 'http://biuro.biall-net.pl/wps',
 	wfsUrl: 'http://biuro.biall-net.pl/wps'
 });
 </script>
- * 
+ *
  */
 class TableAjaxMap {
 
@@ -452,7 +452,7 @@ var myOpenLayers_Control_ManageLayers = OpenLayers.Class(OpenLayers.Control, {
 					trigger: function() {
 						if (navigator.geolocation) {
 							navigator.geolocation.getCurrentPosition(drawFromUserLocation);
-						} else { 
+						} else {
 							alert("Geolocation is not supported by this browser.");
 						}
 						function drawFromUserLocation(position) {
@@ -520,7 +520,7 @@ var myOpenLayers_Control_ManageLayers = OpenLayers.Class(OpenLayers.Control, {
 						var prevMultiple = this.multiple;
 						this.multiple = true;
 						var layers = this.layers || [this.layer];
-						this.events.triggerEvent("boxselectionstart", {layers: layers}); 
+						this.events.triggerEvent("boxselectionstart", {layers: layers});
 						var layer;
 						for(var l=0; l<layers.length; ++l) {
 							layer = layers[l];
@@ -542,7 +542,7 @@ var myOpenLayers_Control_ManageLayers = OpenLayers.Class(OpenLayers.Control, {
 							}
 						}
 						this.multiple = prevMultiple;
-						this.events.triggerEvent("boxselectionend", {layers: layers, bounds: bounds}); 
+						this.events.triggerEvent("boxselectionend", {layers: layers, bounds: bounds});
 					}
 				}
 			});
@@ -859,7 +859,7 @@ var myOpenLayers_Control_ManageLayers = OpenLayers.Class(OpenLayers.Control, {
 					_nodeInput.append(document.createTextNode("* "));
 				}
 			}
-			
+
 			if (supported) {
 				var executeButton = document.createElement("button");
 				executeButton.innerHTML = "Execute";
@@ -1349,7 +1349,7 @@ class TableAjaxMapWfsAction {
 		$wktParts = explode('(', $wkt, 2);
 		ob_start();
 		switch ($wktParts[0]) {
-			case 'MULTIPOLYGON':
+			// case 'MULTIPOLYGON':
 			case 'POLYGON': {
 				$points = trim($wktParts[1], '() ');
 				$points = str_replace(',', "\n", $points);
@@ -1361,25 +1361,19 @@ class TableAjaxMapWfsAction {
 						</gml:Envelope>
 					</gml:boundedBy>
 					<og:the_geom>
-						<gml:MultiSurface srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
-							<gml:surfaceMember>
-								<gml:Polygon srsDimension="2">
-									<gml:exterior>
-										<gml:LinearRing srsDimension="2">
-											<gml:posList>
-												<?php echo $points; ?>
-											</gml:posList>
-										</gml:LinearRing>
-									</gml:exterior>
-								</gml:Polygon>
-							</gml:surfaceMember>
-						</gml:MultiSurface>
+						<gml:Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
+						    <gml:exterior>
+						        <gml:LinearRing>
+						            <gml:posList><?php echo $points; ?></gml:posList>
+						        </gml:LinearRing>
+						    </gml:exterior>
+						</gml:Polygon>
 					</og:the_geom>
 				<?php
 				}
 				break;
-			case 'POINT':
-			case 'MULTIPOINT': {
+			// case 'MULTIPOINT':
+			case 'POINT': {
 				$points = trim($wktParts[1], '() ');
 				$points = str_replace(',', "\n", $points);
 				//	<gml:pos>45.67 88.56</gml:pos>
@@ -1427,7 +1421,7 @@ class TableAjaxMapWfsAction {
 	public function execute($args) {
 		/*
 		 * Mapa odczytywanie punktów: http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
-		 * 
+		 *
 		 * CI50:
 					18.613243103027344 54.33614429135817
 					18.613243103027344 54.33634445792519
@@ -1458,9 +1452,9 @@ class TableAjaxMapWfsAction {
 		/**
 		 * <og:recordId><?php echo $kId; ?></og:recordId>
 		 * <og:tblId><?php echo $tblId; ?></og:tblId>
-		 * 
+		 *
 		 * goes to js: @see priv.addWKTInput _layer.selectedFeatures[0]
-		 * 
+		 *
 		 *	attributes: Object
 					recordId: "1130"
 					tblId: "16"
@@ -1578,7 +1572,7 @@ class TableAjaxMapWpsServer {
 			}
 
 			if ($corners) {
-				$lowerCorner = (string) $corners->lowerCorner;	
+				$lowerCorner = (string) $corners->lowerCorner;
 				$upperCorner = (string) $corners->upperCorner;
 				$lowerCorner = explode(" ", trim($lowerCorner));
 				$upperCorner = explode(" ", trim($upperCorner));
@@ -1618,7 +1612,7 @@ class TableAjaxMapWpsServer {
 								$data[$inputIdentifier] = (string)$input->children('wps', TRUE)->Data->ComplexData;
 								break;
 							default:
-								
+
 						}
 					} else {
 						// brak zdefiniowanego inputa