Index: trunk/data/mapbender/http/nav/alkisnav_adr.php
===================================================================
--- trunk/data/mapbender/http/nav/alkisnav_adr.php	(revision 85)
+++ trunk/data/mapbender/http/nav/alkisnav_adr.php	(revision 86)
@@ -4,4 +4,5 @@
 	25.03.2011: parameter &gemeinde= auch als Liste moeglich
 	z.B. Wasserverband zustaendig fuer: &gemeinde=12,20,24,28,32
+	11.04.2011 epsg in Link, transform nur wenn notwendig
 */
 import_request_variables("PG");
@@ -26,5 +27,5 @@
 function suchStrName() {
 	// Strassen nach Name(-nsanfang)
-	global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $gfilter, $debug;
+	global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug;
 	$linelimit=120;  // -> in die Conf?
 	preg_match("/^(\D+)(\d*)(\D*)/",$street,$matches); # 4 matches name/nr/zusatz echo "match: ".$matches[1].",".$matches[2].",".$matches[3];
@@ -40,9 +41,4 @@
 	$sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde ";
 	$sql.="WHERE k.bezeichnung ILIKE $1 ";
- 
-// 	if($gemeinde > 0) { // Filter Gemeinde?
-//		$sql.="AND k.gemeinde=".$gemeinde." ";
-//	}
-
 	switch ($gfilter) {
 		case 1: // Einzelwert
@@ -55,5 +51,4 @@
 			break;
 	}
-
 	$sql.="ORDER BY k.bezeichnung, g.bezeichnung, k.lage LIMIT $2 ;";
  	$v=array($match,$linelimit);
@@ -69,10 +64,8 @@
 		echo "\n\t<div class='stl' title='Stra&szlig;enschl&uuml;ssel ".$skey."'>";
 			if (trim($skey, "0..9") == "") { // Integer
-				echo "<a class='stl' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;str_schl=".$gkey."'>".$sname."</a>";
+				echo "<a class='stl' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$gkey."'>".$sname."</a>";
 			} else { // Klassifizierung?
 				echo $sname; // nicht brauchbar fuer ax_lagebezeichnungmithausnummer.lage (Integer)
-			}
-			//if ($gemeinde == "") {echo " in ".$gemname;}
-			
+			}	
 			switch ($gfilter) {
 				case 0: // Kein Filter
@@ -85,5 +78,4 @@
 					break;
 			}			
-			
 		echo "</div>";
 		$cnt++;
@@ -101,5 +93,5 @@
 function suchStrKey() {
 	// Strassen nach Strassen-Schluessel
-	global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $gfilter, $debug;
+	global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug;
 	$linelimit=50;
 	if(preg_match("/\*/",$street)) {
@@ -114,8 +106,4 @@
 	$sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde ";
 	$sql.="WHERE k.lage LIKE $1 ";
-
-//	if($gemeinde > 0) { // Filter Gemeinde?
-//		$sql.="AND k.gemeinde=".$gemeinde." ";
-//	}
 
 	switch ($gfilter) {
@@ -142,8 +130,6 @@
 		$skey=$row["lage"];
 		echo "\n\t<div class='stl' title='Stra&szlig;enschl&uuml;ssel ".$skey."'>";
-			echo $skey." <a class='st' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;str_schl=".$gkey."' title='".$gemname."'>".$sname;
+			echo $skey." <a class='st' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$gkey."' title='".$gemname."'>".$sname;
 			echo "</a>";
-
-//			if ($gemeinde == "") {echo " in ".$gemname;}
 
 			switch ($gfilter) {
@@ -175,5 +161,5 @@
 function suchHausZurStr($showParent){
 	// Haeuser zu einer Strasse
-	global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $gfilter, $debug;
+	global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $epsg, $gfilter, $debug;
 	// Strasse zum Strassenschluessel
 	$sql ="SELECT g.bezeichnung AS gemname, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage ";
@@ -198,6 +184,12 @@
 			// ax_Flurstueck  >zeigtAuf>  ax_LagebezeichnungOhneHausnummer
 			$sqlko ="SELECT ";		
-			$sqlko.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, ";
-			$sqlko.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";
+
+			if($epsg == "25832") { // Transform nicht notwendig
+				$sqlko.="x(st_Centroid(f.wkb_geometry)) AS x, ";
+				$sqlko.="y(st_Centroid(f.wkb_geometry)) AS y ";
+			} else {  
+				$sqlko.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, ";
+				$sqlko.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";			
+			}
 			$sqlko.="FROM ax_lagebezeichnungohnehausnummer o ";
 			$sqlko.="JOIN alkis_beziehungen v ON o.gml_id=v.beziehung_zu "; 
@@ -222,5 +214,5 @@
 					echo "javascript:parent.parent.hideHighlight();";
 					echo "\n\t\tparent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalestr.");";
-					echo "\n\t\tdocument.location.href=\"".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;str_schl=".$str_schl."\"' ";
+					echo "\n\t\tdocument.location.href=\"".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$str_schl."\"' ";
 					echo "\n\t\tonmouseover='parent.parent.showHighlight(" .$x. "," .$y. ")' ";
 					echo "\n\t\tonmouseout='parent.parent.hideHighlight()'";
@@ -230,6 +222,4 @@
 			}
 
-//			if ($gemeinde == "") {echo " in ".$gemname;}
-			
 			switch ($gfilter) {
 				case 0: // Kein Filter
@@ -242,5 +232,4 @@
 					break;
 			}			
-			
 			echo "\n</div>";
 		}
@@ -248,6 +237,13 @@
 		// Haeuser zum Strassenschluessel
 		$sql ="SELECT replace (h.hausnummer, ' ','') AS hsnr, ";
-		$sql.="x(st_transform(st_Centroid(g.wkb_geometry), ".$epsg.")) AS x, ";
-		$sql.="y(st_transform(st_Centroid(g.wkb_geometry), ".$epsg.")) AS y ";
+		
+		if($epsg == "25832") { // Transform nicht notwendig
+			$sql.="x(st_Centroid(g.wkb_geometry)) AS x, ";
+			$sql.="y(st_Centroid(g.wkb_geometry)) AS y ";		
+		}
+		else {  
+			$sql.="x(st_transform(st_Centroid(g.wkb_geometry), ".$epsg.")) AS x, ";
+			$sql.="y(st_transform(st_Centroid(g.wkb_geometry), ".$epsg.")) AS y ";		
+		}		
 		$sql.="FROM ax_lagebezeichnungmithausnummer h ";
 		$sql.="JOIN alkis_beziehungen v ON h.gml_id=v.beziehung_zu ";
@@ -297,7 +293,7 @@
 if(isset($epsg)) {
 	if ($debug >= 2) {echo "\n<p>aktueller EPSG='".$epsg."'</p>";} // aus MB
-	if (substr($epsg, 0, 5) == "EPSG:") {$epsg=substr($epsg, 5);}
+	$epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);	
 } else {
-	if ($debug >= 2) {echo "\n<p class='err'>kein EPSG gesetzt</p>";}	
+	if ($debug >= 1) {echo "\n<p class='err'>kein EPSG gesetzt</p>";}	
 	$epsg=$gui_epsg; // aus Conf
 }
@@ -313,5 +309,5 @@
 }
 if (isset($str_schl)) { // aus Link
-	if ($debug >= 2) {echo "\n<p>Link Strassenschluesel '".$str_schl."'</p>";}
+	if ($debug >= 2) {echo "\n<p>Link Strassenschluessel '".$str_schl."'</p>";}
 	suchHausZurStr(true);
 } elseif(isset($street)) { // Eingabe in Form
