Index: trunk/info/info/alkis/alkislage.php
===================================================================
--- trunk/info/info/alkis/alkislage.php	(revision 306)
+++ trunk/info/info/alkis/alkislage.php	(revision 330)
@@ -6,7 +6,9 @@
 
 	Version:
-	2013-03-06  Korrektur URL des Link im Abs. Lage bei eingeschalteten Test-Optionen
-	2013-04-08  deprecated "import_request_variables" ersetzt
-	2014-01-23	gml des Katalogs, Link auf Modul "strasse"
+	2013-03-06 Korrektur URL des Link im Abs. Lage bei eingeschalteten Test-Optionen
+	2013-04-08 deprecated "import_request_variables" ersetzt
+	2014-01-23 gml des Katalogs, Link auf Modul "strasse"
+	2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer
+	2014-09-10 Bei Relationen den Timestamp abschneiden
 
 	ToDo:
@@ -18,4 +20,5 @@
 if ($auth == "mapbender") {require_once($mapbender);}
 include("alkisfkt.php");
+
 switch ($ltyp) {
 	case "m": // "Mit HsNr"     = Hauptgebaeude
@@ -29,4 +32,5 @@
 		$tnam = "ax_lagebezeichnungmithausnummer"; break;
 }
+
 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
@@ -66,12 +70,13 @@
 	break;
 }
-$sql.="FROM ".$tnam." l "; // Left: Bei sub-Typ "Gewanne" von Typ "o" sind keine SchlÃŒsselfelder gefÃŒllt!
-$sql.="LEFT JOIN ax_gemeinde g ON l.land=g.land AND l.regierungsbezirk=g.regierungsbezirk AND l.kreis=g.kreis AND l.gemeinde=g.gemeinde ";
-$sql.="LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis ";
-$sql.="LEFT JOIN ax_regierungsbezirk r ON l.land=r.land AND l.regierungsbezirk=r.regierungsbezirk ";
-$sql.="LEFT JOIN ax_bundesland b ON l.land=b.land ";
-$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ";
-$sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
-$sql.="WHERE l.gml_id= $1;";
+// "Left" weil: Bei sub-Typ "Gewanne" von Typ "o" sind keine SchlÃŒsselfelder gefÃŒllt!
+$sql.="FROM ".$tnam." l 
+LEFT JOIN ax_gemeinde g ON l.land=g.land AND l.regierungsbezirk=g.regierungsbezirk AND l.kreis=g.kreis AND l.gemeinde=g.gemeinde 
+LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis 
+LEFT JOIN ax_regierungsbezirk r ON l.land=r.land AND l.regierungsbezirk=r.regierungsbezirk 
+LEFT JOIN ax_bundesland b ON l.land=b.land 
+LEFT JOIN ax_lagebezeichnungkatalogeintrag s 
+ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 
+WHERE l.gml_id= $1;";
 
 $v = array($gmlid);
@@ -214,5 +219,5 @@
 
 	// Kopf Rechts: weitere Daten?
-	if ($idanzeige) {linkgml($gkz, $gmlid, "Lage"); }
+	if ($idanzeige) {linkgml($gkz, $gmlid, "Lage", ""); }
 
 	if ($osub != "g") { // Link zu Strasse
@@ -235,17 +240,15 @@
 	echo "\n<p>mit dieser Lagebezeichnung.</p>";
 	switch ($ltyp) {
-		case "m": $bezart="weistAuf"; break;
-		case "o": $bezart="zeigtAuf"; break;
-	}
-	$sql="SELECT g.gemarkungsnummer, g.bezeichnung, ";
-	$sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche ";
+		case "m": $bezart="weistauf"; break;
+		case "o": $bezart="zeigtauf"; break;
+	}
+
+	$sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche ";
 	$sql.="FROM ax_flurstueck f ";
-	$sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; 
 	$sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
-	$sql.="WHERE v.beziehung_zu= $1 "; // id Lage
-	$sql.="AND v.beziehungsart= $2 ";
+	$sql.="WHERE $1 = ANY(f.".$bezart.")";
 	$sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
 
-	$v = array($gmlid,$bezart);
+	$v = array($gmlid);
 	$resf = pg_prepare("", $sql);
 	$resf = pg_execute("", $v);
@@ -275,5 +278,5 @@
 			echo "\n\t<td>".$flur."</td>";
 			echo "\n\t<td><span class='wichtig'>".$fskenn."</span>";
-				if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck");}
+				if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck", "ax_flurstueck");}
 			echo "</td>";
 			echo "\n\t<td class='fla'>".$flae."</td>";
@@ -361,20 +364,18 @@
 	echo "\n<p>mit dieser Lagebezeichnung.</p>";
 	switch ($ltyp) {
-		case "p": $bezart="hat"; break;
-		case "m": $bezart="zeigtAuf"; break;
-	}
-	$sql ="SELECT g.gml_id, g.gebaeudefunktion, g.name, g.bauweise, g.grundflaeche, g.zustand, ";
-	$sql.="round(area(g.wkb_geometry)::numeric,2) AS flaeche, h.bauweise_beschreibung, u.bezeichner ";
-	$sql.="FROM ax_gebaeude g ";
-	$sql.="JOIN alkis_beziehungen v ON g.gml_id=v.beziehung_von "; 
-	$sql.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id ";
-	$sql.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert ";
-// +++ JOIN Zustand
-	$sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart= $2 ;";
-	$v = array($gmlid,$bezart);
+		case "p": $bezart="g.hat"; break;
+		case "m": $bezart="ANY(g.zeigtauf)"; break; // array
+	}
+	$sql ="SELECT g.gml_id, g.gebaeudefunktion, g.name, g.bauweise, g.grundflaeche, g.zustand, round(area(g.wkb_geometry)::numeric,2) AS flaeche, h.bauweise_beschreibung, u.bezeichner 
+	FROM ax_gebaeude g LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id 
+	LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert ";
+	// +++ JOIN Zustand
+	$sql.="WHERE $1 = ".$bezart.";";
+
+	$v = array($gmlid);
 	$res = pg_prepare("", $sql);
 	$res = pg_execute("", $v);
 	if (!$res) {
-		echo "<p class='err'>Fehler bei Gebaeude.</p>\n";
+		echo "<p class='err'>Fehler bei Geb&auml;ude.</p>\n";
 		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
 	}
@@ -396,5 +397,5 @@
 
 			echo "<td>";
-				if ($idanzeige) {linkgml($gkz, $ggml, "Geb&auml;ude");}
+				if ($idanzeige) {linkgml($gkz, $ggml, "Geb&auml;ude", "ax_gebaeude");}
 				// +++ Hausnummer / Adresse ???
 			echo $row["name"]."</td>";
