Index: trunk/info/info/alkis/alkisgebaeudenw.php
===================================================================
--- trunk/info/info/alkis/alkisgebaeudenw.php	(revision 315)
+++ trunk/info/info/alkis/alkisgebaeudenw.php	(revision 330)
@@ -8,4 +8,6 @@
 	2013-04-08 deprecated "import_request_variables" ersetzt
     2014-01-30 pg_free_result
+	2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer
+	2014-09-10 Bei Relationen den Timestamp abschneiden
 */
 session_start();
@@ -39,7 +41,7 @@
 
 // Flurstueck
-$sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung ";
-$sqlf.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
-$sqlf.="WHERE f.gml_id= $1;";
+$sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung 
+FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
+WHERE f.gml_id= $1;";
 $v=array($gmlid);
 $resf=pg_prepare("", $sqlf);
@@ -93,5 +95,5 @@
 	echo "&amp;eig=n' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a>";
 echo "\n\t</p>";
-if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
+if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); }
 echo "\n\t</td>\n</tr>\n</table>";
 // Ende Seitenkopf
@@ -107,5 +109,5 @@
 $sqlg.="h.bauweise_beschreibung, u.bezeichner, g.zustand, z.bezeichner AS bzustand, ";
 
-// Gebaeudeflaeche komplett auch ausserhalb des FS
+// GEB-Flaeche komplett auch die Fl. ausserhalb des FS
 $sqlg.="round(area(g.wkb_geometry)::numeric,2) AS gebflae, ";
 
@@ -120,14 +122,14 @@
 
 // Entschluesseln
-$sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id ";
-$sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert ";
-$sqlg.="LEFT JOIN ax_gebaeude_zustand z ON g.zustand = z.wert ";
+$sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id ";
+$sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert ";
+$sqlg.="LEFT JOIN ax_gebaeude_zustand z ON g.zustand=z.wert ";
 $sqlg.="WHERE f.gml_id= $1 "; // ID des akt. FS
 
-// "within" liefert nur Gebaeude, die komplett im Flurstueck liegen
-// "intersects" liefert ueberlappende Flaechen
+// "within" -> nur Geb., die komplett im FS liegen
+// "intersects" -> ueberlappende Fl.
 $sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true ";
 
-// RLP: keine Relationen zu Nebengebaeuden:
+// RLP: keine Relationen zu NebengebÃ€uden:
 // auf Qualifizierung verzichten, sonst werden NebengebÃ€ude nicht angezeigt
 	//$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') ";
@@ -195,22 +197,20 @@
 
 			echo "\n\t<td class='nwlink noprint'>";
-
 			// 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer, alle in ein TD zu EINEM GebÃ€ude
-			// HAUPTgebÃ€ude
-			$sqll ="SELECT 'm' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer ";
-			$sqll.="FROM alkis_beziehungen v "; 
-			$sqll.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id ";
+
+			// HAUPTgebÃ€ude  Geb >zeigtAuf> lage (mehrere)
+			$sqll ="SELECT 'm' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer ";
+			$sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(g.zeigtauf) ";
 			$sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
-			$sqll.="WHERE v.beziehungsart = 'zeigtAuf' AND v.beziehung_von = $1 ";
-			$sqll.="UNION ";
-			// oder NEBENgebÃ€ude
-			$sqll.="SELECT 'p' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer ";
-			$sqll.="FROM alkis_beziehungen v "; 
-			$sqll.="JOIN ax_lagebezeichnungmitpseudonummer l ON v.beziehung_zu=l.gml_id ";
+			$sqll.="WHERE g.gml_id= $1 ";
+
+			// oder NEBENgebÃ€ude  Geb >hat> Pseudo
+			$sqll.="UNION SELECT 'p' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer ";
+			$sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON substring(l.gml_id,1,16)=g.hat ";
 			$sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
-			$sqll.="WHERE v.beziehungsart = 'hat' AND v.beziehung_von = $1 "; // ID des Hauses"
+			$sqll.="WHERE g.gml_id= $1 "; // ID des Hauses"
 		
-			$sqll.="ORDER BY bezeichnung, hausnummer ";
-		
+			$sqll.="ORDER BY bezeichnung, hausnummer;";
+
 			$v = array($ggml);
 			$resl = pg_prepare("", $sqll);
@@ -223,13 +223,13 @@
 				$ltyp=$rowl["ltyp"]; // Lagezeilen-Typ
 				$skey=$rowl["lage"]; // Str.-Schluessel
-				$snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); // -Name
+				$snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); //-Name
 				$hsnr=$rowl["hausnummer"];
 				$hlfd=$rowl["laufendenummer"];
-				$gmllag=$rowl["beziehung_zu"];
+				$gmllag=$rowl["lgml"];
 				if ($ltyp == "p") {
 					$lagetitl="NebengebÃ€ude - Pseudonummer";
 					$lagetxt="Nebengeb&auml;ude Nr. ".$hlfd;
 				} else {
-					$lagetitl="HauptgabÃ€ude - Hausnummer";
+					$lagetitl="HauptgebÃ€ude - Hausnummer";
 					$lagetxt=$snam."&nbsp;".$hsnr;
 				}
@@ -240,7 +240,7 @@
 					if ($showkey)   {echo "&amp;showkey=j";}
 				echo "'>".$lagetxt."</a>";
-				if ($idanzeige) {linkgml($gkz, $gmllag, "Lage"); }
+				if ($idanzeige) {linkgml($gkz, $gmllag, "Lage", ""); }
 				echo "<br>";
-			} // Ende Loop Lagezeilen m.H.
+			} // Ende Loop Lage m.H.
             pg_free_result($resl);
 			echo "\n\t</td>";
@@ -255,5 +255,5 @@
 		echo "\n</tr>";
 	}
-// Footer
+	// Footer
 	if ($gebnr == 0) {
 		echo "\n</table>";
