Index: /trunk/var/www/info/alkis/alkisfsnw.php
===================================================================
--- /trunk/var/www/info/alkis/alkisfsnw.php	(revision 40)
+++ /trunk/var/www/info/alkis/alkisfsnw.php	(revision 41)
@@ -1,12 +1,13 @@
 <?php
-/*	alkisfsnw.php
+/*	Modul: alkisfsnw.php
+	Version:
+	31.08.2010	$style=ALKIS entfernt, alles Kompakt
+	02.09.2010  Mit Icons
+
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	FlurstÃŒcksnachweis fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS
 	Parameter:	&gkz= &gmlid= &eig=j/n
-	Version:
-	26.01.2010	internet-Version  mit eigener conf
 
 	ToDo: NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum
-
 */
 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
@@ -20,5 +21,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger">
+	<meta name="author" content="Frank Jaeger" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -27,4 +28,5 @@
 	<title>ALKIS Flurst&uuml;cksnachweis</title>
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
 	<style type='text/css' media='print'>
 		.noprint { visibility: hidden;}
@@ -39,10 +41,9 @@
 $idanzeige=false;
 if ($id == "j") {$idanzeige=true;}
-$style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";
 $dbname = 'alkis05' . $gkz;
 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
 
 // F L U R S T U E C K
-$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, f.amtlicheflaeche, f.zeitpunktderentstehung, ";
+$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, f.zeitpunktderentstehung, ";
 $sql.="g.gemarkungsnummer, g.bezeichnung ";
 $sql.="FROM ax_flurstueck f ";
@@ -60,28 +61,29 @@
 	$flae=number_format($row["amtlicheflaeche"],0,",",".") . " m&#178;";
 } else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;}
+
+// Balken
 if ($eig=="j") {
-	echo "<p class='fsei'>Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
-	echo "\n<h2>ALKIS Flurst&uuml;cks- und Eigent&uuml;mernachweis</h2>\n";
+	echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
+	echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n";
+} else {
+	echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
+	echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n";
 }
-else {
-	echo "<p class='fskennz'>Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
-	echo "\n<h2>ALKIS Flurst&uuml;cksnachweis</h2>\n";
-}
-echo "\n<table class='outer'>\n<tr>\n<td>";
-
+echo "\n<table class='outer'>\n<tr>\n\t<td>";
+
+	// Tabelle Kennzeichen
 	echo "\n\t<table class='kennz' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
 		echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
-		echo "\n\t<tr>\n\t\t<td title='Gemarkung'>".$gmkgnr."<br>".$gemkname."</td>";
+		echo "\n\t<tr>\n\t\t<td title='Gemarkung'><span class='key'>".$gmkgnr."</span><br>".$gemkname."</td>";
 		echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
-		echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>".$flstnummer."</td>\n\t</tr>";
-	echo "\n\t</table>\n";
-
-echo "</td>\n<td>";
+		echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
+	echo "\n\t</table>";
+
+echo "\n\t</td>\n\t<td>";
 
 	// Kopf Rechts: FS-Daten 2 Spalten
 	echo "\n\t<table class='fsd'>";
 		echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
-		echo "\n\t<td>".$row["zeitpunktderentstehung"]."</td>\n</tr>";
-
+		echo "\n\t\t<td>".$row["zeitpunktderentstehung"]."</td>\n\t</tr>";
 		echo "\n\t<tr>\n\t\t<td>letz. Fortf</td>";
 		echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>".$row["name"]."</td>\n\t</tr>";
@@ -89,197 +91,60 @@
 	if ($idanzeige) { linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
 echo "\n\t</td>\n</tr>\n</table>";
+
+//	echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
 // Ende Seitenkopf
 
-echo "\n<hr>\n\n<table>";
-
-/*	echo "\n<tr>\n\t<td>Gemeinde</td>\n\t<td>".$gemeinde." ".$gemeindename."</td>\n</tr>";
-	echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
-*/
-echo "\n<tr>\n\t<td class='ll'>GebietszugehÃ¶rigkeit:</td>";
-echo "\n\t<td class='lr'>Gemeinde ".$row["gemeinde"]."</td>\n</tr>"; // +++ Entschluesseln
-
-// L A G E  Adressen
-//   ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer
-//                  <gehoertZu<
-$sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
-$sql.="FROM  alkis_beziehungen v ";
-$sql.="JOIN  ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
-// Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage
-// bei einem SekundÃ€rbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier:
-
-//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage ";
-// Problem: ax_lagebezeichnungkatalogeintrag.lage ist char,ax_lagebezeichnungmithausnummer = integer,
-
-// cast() scheitert weil auch nicht numerische Inhalte
-//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) ";
-
-$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage ";
-$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
-$sql.="AND   v.beziehungsart='weistAuf' ";
-$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
-//$sql.="ORDER  ;";
-$res=pg_query($con, $sql);
-if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}
-$j=0;
-while($row = pg_fetch_array($res)){
-	$sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
-	echo "\n<tr>\n\t<td class='ll'>Lage:</td>";
-	echo "\n\t<td class='lr'>(".$row["lage"].")&nbsp;".$sname."&nbsp;".$row["hausnummer"]."</td>\n</tr>";
-	$j++;
-}
-// L A G E  Gewanne
-//   ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer
-//                  <gehoertZu<
-$sql ="SELECT l.gml_id, l.unverschluesselt ";
-$sql.="FROM  ax_lagebezeichnungohnehausnummer l ";
-$sql.="JOIN  alkis_beziehungen  v ON l.gml_id=v.beziehung_zu ";
-$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
-$sql.="AND   v.beziehungsart='zeigtAuf';";
-//$sql.="ORDER  ";
-$res=pg_query($con, $sql);
-if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>";}
-$j=0;
-while($row = pg_fetch_array($res)){
-	$gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
-	echo "\n<tr>\n\t<td class='ll'>Lage:</td>";
-	echo "\n\t<td class='lr'>".$gewann."</td>\n</tr>";
-	$j++;
-}
-//Flurstuecksflaeche
-echo "\n<tr>\n\t<td class='ll'>Fl&auml;che:</td>";
-echo "\n\t<td class='lr'>".$flae."</td>\n</tr>";
-
+echo "\n<hr>";
+echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
+echo "\n<table class='fs'>";
+	
+	// GebietszugehÃ¶rigkeit
+	fs_gebietszug($con, $row["gemeinde"], $row["kreis"], $row["regierungsbezirk"]); // Gebietszugehoerigkeit
+
+	// Lagezeilen des Flurstuecks
+	fs_lage($con, $gmlid, $gkz); // Adresse, Lagebezeichnung
+
+	// Nutzungsarten
+	fs_nutz($con, $gmlid); // Tatsaechliche Nutzung
+
+	// Flaeche und Link auf GebÃ€ude-Auswertung
+	echo "\n<tr>";
+		echo "\n\t<td class='ll'>Fl&auml;che:</td>"; // Sp. 1
+		echo "\n\t<td class='lr'>".$flae."</td>"; // Sp. 2
+		echo "\n\t<td>"; // Sp. 3
+			// Gebaeude-NW
+			echo "\n\t\t<p class='nwlink noprint'>";
+				echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
+				if ($idanzeige) echo "&amp;id=j";
+				echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>";
+			echo "\n\t\t</p>";
+		echo "\n\t</td>";
+	echo "\n</tr>";
 echo "\n</table>";
 
-// N U T Z U N G
-//echo "\n\n<h3>Tats&auml;chliche Nutzung</h3>\n";
-
-/*
-$sql="SELECT n.nutzungsart, n.flaeche, v.bez1, v.bez2, v.bez3, v.bez4, v.kurz1, v.kurz2, v.kurz3, v.kurz4 ";
-$sql.="FROM v_Nutzungsarten as v INNER JOIN f_Nutzungen as n ON v.nutzungsart = n.nutzungsart ".$sqlwhere;
-$res=pg_query($con, $sql);
-if (!$res) {echo "<p class='err'>Fehler bei tats. Nutzung<br>\n".$sql."</p>";}
-
-echo "<table class='nua'>\n";
-// FlÃ€che hier oder oben?
-echo "<tr>\n\t<td class='fla sum'>" .$flae."</td>\n\t<td class='key'>&nbsp;</td>\n\t<td>Flurst&uuml;cksfl&auml;che</td>\n\t<td class='kurz'>&nbsp;</td>\n</tr>";
+// ALB: KLASSIFIZIERUNG  BAULASTEN  HINWEISE  TEXTE  VERFAHREN
+
+// G R U N D B U C H
+echo "\n<table class='outer'>";
+	echo "\n<tr>";
+		echo "\n\t<td>";
+			echo "\n\t\t<a name='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundb&uuml;cher</h3>";
+		echo "\n\t</td>";
+		echo "\n\t<td>";
+			echo "\n\t\t<p class='nwlink noprint'>";
+				echo "\n\t\t\t<a href='".$self."gkz=".$gkz."&amp;gmlid=".$gmlid;
+				if ($idanzeige) { echo "&amp;id=j";}
+				// Umschalter. FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb
+				if ($eig=="j") {
+					echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>";
+				} else {	
+					echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer</a>";
+				}
+			echo "\n\t\t</p>";
+		echo "\n\t</td>";
+	echo "\n</tr>";
 echo "\n</table>\n";
-*/
-
-/*
-// ** K L A S S I F I Z I E R U N G
-$sql="SELECT DISTINCT k.tabkenn, t.art_der_klassifizierung ";
-$sql.="FROM k_arten_der_klassifizierung as t RIGHT JOIN f_klassifizierungen as k ON t.TabKenn = k.tabkenn ";
-$sql.=$sqlwhere." ORDER BY k.tabkenn";
-$resg=pg_query($con, $sql);
-if (!$resg) {
-	echo "<p class='err'>Fehler bei Klassifizierung Gruppen<br>\n".$sql."</p>";
-}
-$i=0;
-while($rowg = pg_fetch_row($resg)){
-	if ($i==0) {
-		echo "\n<h3>Klassifizierung</h3>\n<table class='klas'>\n";
-	}
-	$tabkeng = pg_fetch_result($resg,$i,"tabkenn");
-	$tabbez = pg_fetch_result($resg,$i,"art_der_klassifizierung");
-	echo "<tr>\n\t<td class='fla'>&nbsp;</td>\n\t<td class='key head'>".$tabkeng."</td>";
-	if ($tabkeng == "32") {
-		echo "\n\t<td class='head'>Land- und Forstwirtschaft</td>";
-		echo "\n\t<td class='head'>Bodensch&auml;tzung</td>\n\t";
-		echo "<td class='emz head' title='ErtragsmeÃzahl'>EMZ</td>";
-	}
-	else {
-		echo "\n\t<td class='head'>".$tabbez."</td>";
-		echo "\n\t<td class='head'>Angaben</td>\n\t";
-		echo "<td class='head'>&nbsp;</td>";
-		}
-	echo "\n\t<td class='kurz'>&nbsp;</td>\n</tr>\n";
-	// inner Loop: je Gruppe
-	$sql="SELECT k.klass, k.flaeche, v.bez1, v.bez2, v.bez3, v.kurz1, v.kurz2, v.kurz3, k.angaben ";
-	$sql.="FROM v_klassifizierungen as v INNER JOIN f_klassifizierungen as k ON v.klass = k.klass AND v.tabkenn = k.tabkenn ";
-	$sql.= $sqlwhere." AND k.tabkenn = '".$tabkeng."'";
-	$res=pg_query($con, $sql);
-	if (!$res) {
-		echo "<p class='err'>Fehler bei Klassifizierung Abschnitt<br>\n".$sql."</p>";
-	}
-	$j=0;
-	$flaesum=0;
-	$emzsum=0;
-	while($row = pg_fetch_row($res)){
-		$klass = pg_fetch_result($res,$j,"klass");
-		$flae = pg_fetch_result($res,$j,"flaeche");
-		$flaesum = $flaesum + $flae;
-		$bez1 = htmlentities(pg_fetch_result($res,$j,"bez1"), ENT_QUOTES, "UTF-8");
-		$bez2 = htmlentities(pg_fetch_result($res,$j,"bez2"), ENT_QUOTES, "UTF-8");
-		$bez3 = htmlentities(pg_fetch_result($res,$j,"bez3"), ENT_QUOTES, "UTF-8");
-		$kurz1 = pg_fetch_result($res,$j,"kurz1");
-		$kurz2 = pg_fetch_result($res,$j,"kurz2");
-		$kurz3 = pg_fetch_result($res,$j,"kurz3");
-		$angab = pg_fetch_result($res,$j,"angaben");
-		if ($tabkeng == "32" and strlen($angab) > 0) {
-			$woslash = strpos($angab, "/");
-			if ($woslash > 0) {
-			// Streng genommen: Kataster-Rundung anwenden: .50 zum geraden Wert runden
-				$emz = round(substr($angab, $woslash+1)*$flae/100);
-				$emzsum=$emzsum+$emz;
-			}
-		}
-		else {
-			$emz = "";
-			}
-		echo "<tr>\n\t<td class='fla'>".number_format($flae,0,",",".")."&nbsp;m&#178;</td>";
-		//echo "\n\t<td class='key'>".$tabkeng."-".$klass."</td>";
-		echo "\n\t<td class='key'>".$klass."</td>";
-		echo "\n\t<td>".$bez1;
-		if ($bez2 != "") {
-			echo "<br>".$bez2;
-		}
-		if ($bez3 != "") {
-			echo "<br>".$bez3;
-		}
-		// Ãnderung: Angabe in eigene Spalte
-		echo "</td>\n\t<td>".$angab."</td>\n\t<td class='emz'>".$emz."</td>\n\t<td class='kurz'>".$kurz1;
-		if ($kurz2 != "") {
-			echo "<br>".$kurz2;
-		}
-		if ($kurz2 != "") {
-			echo "<br>".$kurz3;
-		}
-		echo "</td>\n</tr>\n";
-		$j++;
-	}
-	//Summenzeile bei mehreren Zeilen
-	if ($j > 1) {
-		echo "<tr>\n\t<td class='fla sum'>".number_format($flaesum,0,",",".")."&nbsp;m&#178;</td>\n\t<td class='key'>&nbsp;</td>\n\t<td>&nbsp;</td>\n\t<td>&nbsp;</td>\n\t";
-		if ($tabkeng == "32") {
-			echo "<td class='emz sum' title='Summe Ertragsme&szlig;zahl'>".number_format($emzsum,0,",",".")."</td>";
-		}
-		else {
-			echo "<td>&nbsp;</td>";
-			}
-		echo "\n\t<td class='kurz'>&nbsp;</td>\n</tr>\n";
-	}
-	if ($j > 0) {
-		echo "</table>\n";
-	}
-	$i++;
-}
-*/
-
-// ALB: BAULASTEN  HINWEISE  TEXTE  VERFAHREN
-
-// G R U N D B U C H
-echo "\n<table class='outer'>\n<tr>\n\t<td>"; // link *neben* Ueberschrift
-echo "\n\t\t<a name='gb'></a>\n\t\t<h3>Grundb&uuml;cher</h3>";
-echo "\n\t</td>\n\t<td>";
-echo "\n\t\t<p class='nwlink noprint'>\n\t\t\t\t<a href='".$self."gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;style=".$style;
-if ($idanzeige) { echo "&amp;id=j";}
-// Umschalter. Ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb
-if ($eig=="j") {echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>\n\t\t</p>";
-} else {	echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer</a>\n\t\t</p>";}
-echo "\n\t</td>\n</tr>\n</table>\n";
-
-
-// BUCHUNGSSTELLEn zum FS (istGebucht)
+
+// B U C H U N G S S T E L L E N  zum FS (istGebucht)
 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, ";
 $sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond ";
@@ -294,5 +159,5 @@
 $bs=0; // Z.Buchungsstelle
 while($rows = pg_fetch_array($ress)) {
-	// BUCHUNGSBLATT zur Buchungsstelle (istBestandteilVon)
+	// B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon)
 	$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
 	$sql.="z.bezeichnung ";  // stelle -> amtsgericht
@@ -309,128 +174,67 @@
 	while($rowg = pg_fetch_array($resg)) {
 		$beznam=$rowg["bezeichnung"];
-		echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>"; // link *neben* GB-Rahmen
-		echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
-		echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>";
-		echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'>".$rowg["bezirk"]."<br>".$beznam."</td>";
-		echo "\n\t\t<td title='Grundbuch-Blatt'>".$rowg["blatt"]."</td>";
-		echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>";
-		echo "\n\t\t<td title='Buchungsart'>".$rows["buchungsart"]."<br>".buchungsart($rows["buchungsart"])."</td>\n\t</tr>\n\t</table>";
-		if ($rows["zaehler"] <> "") {
-			echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
-		}
-		echo "\n</td>\n<td>";
-		if ($idanzeige) {
-			linkgml($gkz, $rows["gml_id"], "Buchungsstelle");
-			linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");
-		}
-		echo "<br>\n";
-		echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."&amp;style=".$style;
-		if ($idanzeige) echo "&amp;id=j";
-		echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>GB-Nachweis</a>\n\t</p>\n</td>\n";
-		echo "</table>";
-
+		echo "\n<hr>\n<table class='outer'>";
+		echo "\n<tr>"; // 1 row only
+			echo "\n\t<td>"; // Outer linke Spalte:
+
+				// Rahmen mit GB-Kennz
+				echo "\n\t<table class='kennz' title='Bestandskennzeichen'>";
+					echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
+						echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>";
+						echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
+						echo "\n\t\t<td class='head'>Buchungsart</td>";
+					echo "\n\t</tr>";
+					echo "\n\t<tr>";
+						echo "\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$rowg["bezirk"]."</span><br>".$beznam."</td>";
+						echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
+						echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>";
+						echo "\n\t\t<td title='Buchungsart'><span class='key'>".$rows["buchungsart"]."</span><br>".buchungsart($rows["buchungsart"])."</td>";
+					echo "\n\t</tr>";
+				echo "\n\t</table>";
+
+				if ($rows["zaehler"] <> "") {
+					echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
+				}
+			echo "\n</td>";
+
+			echo "\n<td>"; // Outer rechte Spalte: NW-Links
+				if ($idanzeige) {
+					linkgml($gkz, $rows["gml_id"], "Buchungsstelle");
+					echo "<br>";
+					linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");
+				}
+				echo "\n<br>\n";
+				echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0];
+				if ($idanzeige) echo "&amp;id=j";
+				echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>Grundbuch-Blatt <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>\n\t</p>";
+			echo "\n</td>";
+		echo "\n</tr>";
+		echo "\n</table>";
+
+/*		im Head der Tabelle bereits entschluesselt
 		if ($rowg["blattart"] <> "1000") {
 			echo "\n<p>Blattart: ".blattart($rowg["blattart"])." (".$rowg["blattart"].").<br>\n"; 
 		}
-
+*/
 		// ++++++Weitere Felder ausgeben ??????   oder in SQL weglassen
-		//  +++ STYLE ?
 		if ($rows["sond"] != "") {echo "<p>Sondereigentum: ".$rows["sond"]."</p>";}
 		if ($rows["nrpl"] != "") {echo "<p>Nr im A-Plan: ".$rows["nrpl"]."</p>";}
 
-
 		// E I G E N T U E M E R, zum GB
+		// Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
 		if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer
-			//echo "\n\n<h4>Eigent&uuml;mer:</h4>\n";
-			// Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
-
-			// Schleife 1: N a m e n s n u m m e r
-			// Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt
-			$sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
-			$sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
-			$sql.="FROM  ax_namensnummer   n ";
-			$sql.="JOIN  alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
-			$sql.="WHERE b.beziehung_zu='".$rowg["gml_id"]."' "; // id blatt
-			$sql.="AND   b.beziehungsart='istBestandteilVon' ";
-			$sql.="ORDER BY laufendenummernachdin1421;";
-			$resn=pg_query($con, $sql);
-			if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
-			echo "\n<table class='eig'>";
-			$n=0; // Z.NamNum.
-			while($rown = pg_fetch_array($resn)) {
-				echo "\n<tr>\n\t<td class='nanu' title='Namens-Nummer'>";
-				// VOR die Tabelle: "EigentÃŒmer"
-				$namnum=kurz_namnr($rown["lfd"]);
-				echo "\n\t\t<p>".$namnum."</p>";
-				if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");}
-				echo "\n\t</td>\n\t<td>";
-				$rechtsg=$rown["adr"];
-				if ($rechtsg != "" ) {
-					if ($rechtsg == 9999) { // sonstiges
-						echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";
-					} else {
-						echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
-					}
-				}
-
-				// Schleife 2: P e r s o n  
-				// Beziehung: ax_person  <benennt<  ax_namensnummer
-				$sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
-				$sql.="FROM  ax_person p ";
-				$sql.="JOIN  alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
-				$sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num
-				$sql.="AND   v.beziehungsart='benennt';";
-				$rese=pg_query($con, $sql);
-				if (!$rese) echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";
-				$i=0; // Z.Eig.
-				while($rowe = pg_fetch_array($rese)) {
-					$diePerson="";
-					if ($rowe["akademischergrad"] <> "") $diePerson=$rowe["akademischergrad"]." ";
-					$diePerson.=$rowe["nachnameoderfirma"];
-					if ($rowe["vorname"] <> "") $diePerson.=", ".$rowe["vorname"];
-					if ($rowe["namensbestandteil"] <> "") $diePerson.=". ".$rowe["namensbestandteil"];
-					if ($rowe["geburtsdatum"] <> "") $diePerson.=", geb. ".$rowe["geburtsdatum"];
-					if ($rowe["geburtsname"] <> "") $diePerson.=", geb. ".$rowe["geburtsname"];
-					$diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
-					// Spalte 1 enthÃ€lt die Namensnummer, nur in Zeile 0
-					if ($i > 0) {echo "\n<tr>\n\t<td></td>\n\t<td>";}
-					// Spalte 2 = Angaben
-					echo "\n\t\t<p class='geig' title='Eigent&uuml;merart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p>\n\t</td>";
-					// Spalte 3 = Link
-					echo "\n\t<td>\n\t\t<p class='nwlink noprint'>\n\t\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowe[0]."&amp;style=".$style;
-					if ($idanzeige) { echo "&amp;id=j";}
-					echo "' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>Person</a>\n\t\t</p>";
-					if ($idanzeige) { linkgml($gkz, $rowe["gml_id"], "Person");}
-					echo "\n\t</td>\n</tr>";
-					$i++; // Z. Person
-					if ($rown["zaehler"] <> "") {
-						echo "\n<tr>\n\t<td></td>\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p>";
-						echo "\n</td>\n\t<td></td>\n</tr>";
-					}
-				}
-				/* Wann warnen ?
-				   Beispiel: NamNum mit "Erbengemeinschaft"  >bestehtAusRechtsverhaeltnissenZu>  andere NamNum
-				if ($i == 0) { // keine Pers zur NamNum
-					if ($rechtsg != 9999) { // Normal bei Sondereigentum
-						echo "\n<tr>\n<td>";
-						linkgml($gkz, $rown["gml_id"], "Namensnummer");
-						echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden.</p>";
-						echo "\n\t\t\n\t</td>\n\t<td></td>\n<tr>";
-					}
-				}
-				*/
-				$n++; // Z.NamNum
-			}
-			echo "\n</table>\n";
-			if ($n == 0) {
+			// echo "\n\n<h4>Eigent&uuml;mer:</h4>\n";
+			$gmlblatt = $rowg["gml_id"]; // id blatt
+			$n = eigentuemer($con, $gkz, $idanzeige, $gmlblatt, false); // hier ohne Adresse
+ 			if ($n == 0) {
 				if ($rowg["blattart"] == 1000) {
 					echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
 					linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");
 				} else {
-					echo "\n<p>dazu keine Eigent&uuml;mer.</p>";
-					linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");
+					echo "\n<p>ohne Eigent&uuml;mer.</p>";
+					// if ($idanzeige) {linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");} // ist schon sichtbar
 				}
 			}
-		} // Ende Option EigentuemerNW
+		}
 		$bl++;
 	}
@@ -440,6 +244,6 @@
 	}
 	// Test BEGINN
-	//echo "\n<p>Buchungsstelle ".$rows["gml_id"]."</p>";
-	//if ($idanzeige) {linkgml($gkz, $rows["gml_id"], "Buchungsstelle");}
+		//echo "\n<p>Buchungsstelle ".$rows["gml_id"]."</p>";
+		//if ($idanzeige) {linkgml($gkz, $rows["gml_id"], "Buchungsstelle");}
 	// Test ENDE
 
@@ -464,24 +268,40 @@
 	while($rowan = pg_fetch_array($resan)) {
 		$beznam=$rowan["bezeichnung"];
-		echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>"; // link *neben* GB-Rahmen
-		echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
-		echo "\n\t\t<td class='head'>".blattart($rowan["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>";
-		echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'>".$rowan["bezirk"]."<br>".$beznam."</td>";
-		echo "\n\t\t<td title='Grundbuch-Blatt'>".$rowan["blatt"]."</td>";
-		echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>";
-		echo "\n\t\t<td title='Buchungsart'>".$rowan["buchungsart"]."<br>".buchungsart($rowan["buchungsart"])."</td>\n\t</tr>\n\t</table>";
-		if ($rowan["zaehler"] <> "") {
-			echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
-		}
-		echo "\n</td>\n<td>";
-		if ($idanzeige) {
-			linkgml($gkz, $rowan["s_gml"], "Buchungsstelle");
-			linkgml($gkz, $rowan["g_gml"], "Buchungsblatt");
-		}
-		echo "<br>\n";
-		echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"]."&amp;style=".$style;
-		if ($idanzeige) echo "&amp;id=j";
-		echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>GB-Nachweis</a>\n\t</p>\n</td>\n";
-		echo "</table>";
+		echo "\n<hr>\n<table class='outer'>";
+		echo "\n<tr>"; // 1 row only
+			echo "\n<td>"; // outer linke Spalte
+
+				// Rahmen mit Kennzeichen GB
+				echo "\n\t<table class='kennz' title='Bestandskennzeichen'>";
+					echo "\n\t<tr>";
+						echo "\n\t\t<td class='head'>Bezirk</td>";
+						echo "\n\t\t<td class='head'>".blattart($rowan["blattart"])."</td>";
+						echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
+						echo "\n\t\t<td class='head'>Buchungsart</td>";
+					echo "\n\t</tr>";
+					echo "\n\t<tr>";
+						echo "\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$rowan["bezirk"]."</span><br>".$beznam."</td>";
+						echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>";
+						echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>";
+						echo "\n\t\t<td title='Buchungsart'><span class='key'>".$rowan["buchungsart"]."</span><br>".buchungsart($rowan["buchungsart"])."</td>";
+					echo "\n\t</tr>";
+				echo "\n\t</table>";
+				if ($rowan["zaehler"] <> "") {
+					echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
+				}
+			echo "\n</td>";
+			echo "\n<td>"; // outer rechte Spalte
+				if ($idanzeige) {
+					linkgml($gkz, $rowan["s_gml"], "Buchungsstelle");
+					echo "<br>";
+					linkgml($gkz, $rowan["g_gml"], "Buchungsblatt");
+				}
+				echo "\n<br>";
+				echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"];
+				if ($idanzeige) echo "&amp;id=j";
+				echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>GB-Nachweis</a>\n\t</p>";
+			echo "\n\t</td>";
+		echo "\n</tr>";
+		echo "\n</table>";
 
 		if ($rowan["blattart"] <> "1000") {
@@ -490,14 +310,13 @@
 
 		// +++ Weitere Felder ausgeben oder in SQL weglassen??
-		// +++ STYLE ?
 		if ($rowan["sond"] != '') {echo "<p>Sondereigentum: ".$rowan["sond"]."</p>";}
 		if ($rowan["nrpl"] != '') {echo "<p>Nr im A-Plan: ".$rowan["nrpl"]."</p>";}
 
 		if ($eig=="j") {
-			echo "\n<p>Eigent&uuml;mer vorlÃ€ufig dem GB-Nachweis entnehmen.</p>";
+			//echo "\n<p>Eigent&uuml;mer vorlÃ€ufig dem GB-Nachweis entnehmen.</p>";
+			$gmlblatt = $rowan["g_gml"]; // id blatt
+			$n = eigentuemer($con, $gkz, $idanzeige, $gmlblatt, false); // ohne Adresse
+			// Anzahl $n kontrollieren? Warnen?
 		}
-		// +++ LÃ¶sung: Den Teil EigentÃŒmer (Namensnummer > Person, siehe oben) 
-		//     als Funktion auslagern und hier erneut aufrufen
-
 		$an++;
 	}
@@ -520,5 +339,5 @@
 </form>
 
-<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl,$style); ?>
+<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "&amp;eig=".$eig); ?>
 
 </body>
Index: /trunk/var/www/info/alkis/alkisauszug.css
===================================================================
--- /trunk/var/www/info/alkis/alkisauszug.css	(revision 40)
+++ /trunk/var/www/info/alkis/alkisauszug.css	(revision 41)
@@ -1,23 +1,23 @@
-/*	S t y l e s
-	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+/*	Modul: alkisauszug.css
+	S t y l e s zur ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 
 	Version:
-	21.01.2010 - Bearbeitung einer Kopie von ALB 
+	31.08.2010	Prototyp
+	02.09.2010  Mit img
 
-	ToDo: Nicht benoetigte Classen loeschen.
+	ToDo: Nicht benoetigte Classen loeschen (Kopie aus ALB)
 */
-body	{background-color: #FBFFFC;}
+body	{background-color: #FDFFFD;}
 p, body	{font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
-	font-size: 10pt;
-	color: #000033;
-	margin-top: 2pt;
-	margin-bottom: 2pt;
-}
+	font-size: 10pt; color: #000033; margin-top: 6pt; margin-bottom: 2pt;}
+
 /* ** Banner im Kopf, Farbcode f. Nachweis-Art ** */
-p.fsausk	{text-align: right; background: teal;	color: silver;} /* Uebersichts-Seite Flurstuecks-Auskunft */
+p.fsausk		{text-align: right; background: teal;	color: silver;} /* Uebersichts-Seite Flurstuecks-Auskunft */
 p.fskennz	{text-align: right; background: navy;	color: silver;} /* Flurstuecks-Nachweis */
 p.fsei		{text-align: right; background: olive;	color: silver;} /* Flurstuecks- und Eigentuemer-Nachweis */
 p.gbkennz	{text-align: right; background: green;	color: silver;} /* Bestandsnachweis */
 p.nakennz	{text-align: right; background: maroon;	color: silver;} /* Personen- und Adressdaten */
+p.geb			{text-align: right; background: yellow;	color: silver;} /* Gebaeude zum FS */
+
 p.bezieh	{text-align: right; background: olive;	color: silver;} /* Beziehungen */
 p.fsd		{position: relative;	left: 170px;}	/* Flst-Flaeche */
@@ -26,16 +26,21 @@
 p.avh		{font-style: italic; color: navy;}	/* Anteilsverhaeltnis */
 p.ant		{font-style: italic; position: relative;left: 12px;} /* Anteil am FS */
-p.geig		{color: navy;}				/* GB-Nachw. Eigent., Adresse */
-p.gadr		{color: maroon;}
-p.nwlink 	{font-size: 7pt;text-align: right;}	/* Link zum Nachweis GB, FS, ..*/
-p.err		{color: red;}				/* Fehler-Meldungen */
+p.geig	{color: navy;}		/* GB-Nachw. Eigentuemer Name */
+p.gadr	{color: maroon; margin-top: 1pt;}	/* GB-Nachw. Eigentuemer Adresse */
+p.nwlink, td.nwlink {font-size: 7pt; text-align: right;}	/* Link zum Nachweis GB, FS, ..*/
+p.err		{color: red;}	/* Fehler-Meldungen */
+p.ph		{color: gray;}	/* Platzhalter */
+
 /* Links */
 a:link		{color: rgb(0,102,153);}
 a:visited	{color: rgb(0,153,102);}
-a:active	{color: rgb(0,102,102);}
+a:active		{color: rgb(0,102,102);}
 a:hover		{color: rgb(255,40,40);}
-a.gmlid		{text-decoration: none;	color: silver;}	/* Globaler Identifikator gml_id */
-div.gmlid	{font-style: italic;font-size: 7pt;text-align: right;}	
-/* Adresse im Rahmen*/
+
+/* Globaler Identifikator gml_id - Link fuer Entwicklung */
+a.gmlid		{text-decoration: none;	color: silver; font-style: italic; font-size: 7pt; text-align: right;}
+span.gmlid	{font-style: italic; font-size: 7pt; text-align: right;}
+
+/* komplette Adresse im Rahmen*/
 div.adr {border-left-width: 0px; 
 	border-right-width: 0px; 
@@ -53,19 +58,22 @@
 	background: #e4f7dd;
 }
-/* ** Tabellen ** */
-table {	font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
-	font-size: 10pt;
-	color: #000033;
-}
+
+span.key 		{color: gray; font-style: italic;} /* Schluesselwert vor Text, Wert zurueck nehmen */
+span.wichtig	{color: #BB0000; font-weight: bold;} /* Wert hervorheben */
+
+/* ** T a b e l l e n ** */
+table 		{font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 10pt; color: #000033;}
 table.fsd	{font-size: 9pt; margin-left: 12px;}
 table.bez	{font-size: 9pt; margin-bottom: 10px; margin-left: 3px;}
 
 table.kennz	{border: 2px solid navy; padding: 3px; margin: 0px;}	/* Kennzeichen (FS, GB, ..) mit Rahmen */
-table.fs, table.nua, table.klas, table.eig, table.outer {width:100%;}
+table.fs, table.nua, table.klas, table.eig, table.outer, table.geb {width:100%;}
 
-td	{vertical-align: top;}					/* ** Tabellenfelder ** */
+td	{vertical-align: top;}			/*  ** Tabellenfelder ** */
+/*td	{vertical-align: top; border: 1px dotted gray; }	 ** Tabellenfelder  Variante f. TEST ** */
 
-td.ll	{width:120px; }	/* ALKIS Datenliste linke Spalte */
-td.lr	{color: black;}	/* .. rechte Spalte */
+td.ll	{width: 130px; padding-top: 8px;}	/* ALKIS Datenliste linke Spalte */
+td.lr	{color: black; padding-top: 8px;}	/* .. rechte Spalte */
+td.ph	{color: gray;  padding-top: 8px;}	/* Platzhalter, vorlaeufig, spaeter loschen */
 
 td.fla	{width: 90px; padding-right: 4px; text-align: right;}	/* Flaechen rechtsbuendig (stellengerecht) */
@@ -73,9 +81,8 @@
 /* Ertragsmesszahl der Bodenschaetzung
 td.emz	{width: 45px; padding-right: 4px; padding-left: 4px; 
-	text-align: right;} */
+			text-align: right;} */
 td.kurz	{width: 26px; padding-left: 4px;}
-td.nanu	{width: 80px;}					/* Namensnummer */
-/* td.mit, td.erb {font-style: italic;}	*/		/* Miteigentumsanteil, Erbbaurecht */
-td.sond	{font-size: 8pt;}				/* Sondereigentumsbeschreibung */
+td.nanu	{width: 80px;}				/* Namensnummer */
+td.sond	{font-size: 8pt;}			/* Sondereigentumsbeschreibung */
 td.fett	{padding-top: 8px; font-weight: bold;}
 td.head	{border-bottom: 1px solid gray; font-style: italic;}	/* Kopfzeile, Spaltenueberschrift */
@@ -83,9 +90,10 @@
 	border-left:0px dotted maroon;	border-right:0px dotted maroon;
 	font-weight: bold;}				/* unter dem Strich = Summenzeile */
-td.bez	{ font-weight: bold;}				/* Beziehungen */
-td.nhd	{ width: 150px; }				/* Namen - linke / rechte Spalte */
+td.bez	{ font-weight: bold;}	/* Beziehungen */
+td.nhd	{ width: 150px; }			/* Namen - linke / rechte Spalte */
 td.nam	{ font-weight: bold;}
 td.gbl {border-top:1px dotted green;	border-bottom:0px;
 	border-left:0px ;		border-right:0px ;}	/* Name: GB-Liste */
+
 /* Ueberschriften */
 h1, h2, h3, h4, h5, h6 {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;}
@@ -96,21 +104,7 @@
 h5 {	color: black;	font-size: 10pt;}
 h6 {	color: black;	font-size:  9pt; margin-top: 2pt; margin: 0pt}	/* FS in Best-NW */
-/*
-pre {	font-family: monospace;
-	font-size: 9pt;
-	color: #000033;
-	margin-top: 2pt;
-	margin-bottom: 2pt;
-} */
 
-/*
-ul, ol, li {
-	margin-top:3pt;
-	margin-bottom:3pt; 
-	margin-left:2.75em; 
-	font-family: Verdana;
-	font-size: 10pt;
-	color: #000066;
-} */
+img	{border: 0px; margin: 0px;} /* Icons */
+
 /* Seitenfuss */
 .buttonbereich	{font-size: 7pt;	text-align: right;}
@@ -122,7 +116,4 @@
 }
 @media print {
-	body {
-		width: 100%;
-		background-color:white;
-	}
+	body {width: 100%; background-color:white;}
 }
Index: /trunk/var/www/info/alkis/alkisrelationen.php
===================================================================
--- /trunk/var/www/info/alkis/alkisrelationen.php	(revision 40)
+++ /trunk/var/www/info/alkis/alkisrelationen.php	(revision 41)
@@ -1,11 +1,13 @@
 <?php
-/*	alkisrelationen.php
+/*	Modul: alkisrelationen.php
+	Version:
+	30.08.2010	$style=ALKIS entfernt, alles Kompakt
+	02.09.2010  Mit Icons
+
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	Verfolgt die Beziehungen von ALKIS-Objekten in der Tabelle 'alkis_beziehungen'.
 	Link durch "&id=j;" in den anderen Modulen zuschaltbar.
-	Ist eher fuer die Entwicklung der Auskunft gedacht (Sonderfaelle) als fuer den Anwender.
+	Dies ist fuer die Entwicklung der Auskunft gedacht (Sonderfaelle) nicht fuer den Anwender.
 	Parameter:	gkz, gml_id
-	Version:
-	26.01.2010	internet-Version  mit eigener conf
 */
 ini_set('error_reporting', 'E_ALL');
@@ -18,5 +20,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger">
+	<meta name="author" content="Frank Jaeger" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -24,4 +26,5 @@
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Beziehung.ico">
 	<title>ALKIS-Relationen-Browser</title>
 </head>
@@ -30,13 +33,17 @@
 $gkz=urldecode($_REQUEST["gkz"]);
 $gmlid=isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0;
-$style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";
 $otyp=isset($_GET["otyp"]) ? $_GET["otyp"] : "Objekt";
 $dbname = 'alkis05' . $gkz;
 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+
+// Balken
 echo "\n<p class='bezieh'>Beziehungen ".$gmlid."</p>";
-echo "\n\n<h2>ALKIS-Beziehungen</h2>";
+
+echo "\n\n<h2><img src='ico/Beziehung.ico' width='16' height='16' alt=''> Beziehungen</h2>";
 if (!$con) {echo "\n<p class='err'>Fehler beim Verbinden der DB.</p>";
 } else {
 	echo "\n<p>von ALKIS-".$otyp."</p>";
+
+	echo "<p>gml_id =</p>";
 	echo "\n\n<h3 title='Die gml_is ist global eindeutig'>".$gmlid."</h3>";
 	$sql="SELECT beziehungsart, beziehung_zu FROM alkis_beziehungen WHERE beziehung_von='".$gmlid."';";
@@ -51,5 +58,5 @@
 			echo "\n<tr>\n\t<td>".$otyp."</td>";
 			echo "\n\t<td class='bez'>".$row["beziehungsart"]."</td>";
-			echo "\n\t<td>\n\t\t<a href='".$self."gkz=".$gkz."&amp;gmlid=".$row["beziehung_zu"]."&amp;style=".$style."'>".$row["beziehung_zu"]."</a>";
+			echo "\n\t<td>\n\t\t<a href='".$self."gkz=".$gkz."&amp;gmlid=".$row["beziehung_zu"]."'>".$row["beziehung_zu"]."</a>";
 			echo "\n\t</td>\n</tr>";
 			$i++;
@@ -66,5 +73,5 @@
 		while($row = pg_fetch_array($res)) {
 			echo "\n<tr>\n\t<td>";
-			echo "\n\t\t<a href='".$self."gkz=".$gkz."&amp;gmlid=".$row["beziehung_von"]."&amp;style=".$style."'>".$row["beziehung_von"]."</a>";
+			echo "\n\t\t<a href='".$self."gkz=".$gkz."&amp;gmlid=".$row["beziehung_von"]."'>".$row["beziehung_von"]."</a>";
 			echo "\n\t</td>";
 			echo "\n\t<td class='bez'>".$row["beziehungsart"]."</td>";
Index: /trunk/var/www/info/alkis/alkisbestnw.php
===================================================================
--- /trunk/var/www/info/alkis/alkisbestnw.php	(revision 40)
+++ /trunk/var/www/info/alkis/alkisbestnw.php	(revision 41)
@@ -1,14 +1,14 @@
 <?php
-/*	alkisbestnw.php
+/*	Modul: alkisbestnw.php
+	Version:
+	31.08.2010	$style=ALKIS entfernt, alles Kompakt
+	02.09.2010  Mit Icons
 
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	Bestandsnachweis fuer ein Grundbuch aus ALKIS PostNAS
 	Parameter:	&gkz= &gmlid
-
-	Version:
-	26.01.2010	internet-Version  mit eigener conf
-
 */
-ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
+//ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
+ini_set('error_reporting', 'E_ALL');
 session_start();
 // Bindung an Mapbender-Authentifizierung
@@ -20,5 +20,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger">
+	<meta name="author" content="Frank Jaeger" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -27,4 +27,5 @@
 	<title>ALKIS Bestandsnachweis</title>
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Grundbuch.ico">
 	<style type='text/css' media='print'>
 		.noprint { visibility: hidden;}
@@ -38,26 +39,19 @@
 $idanzeige=false;
 if ($id == "j") {$idanzeige=true;}
-$style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";
+//$style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";
 $dbname = 'alkis05' . $gkz;
 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
-// ** G R U N D B U C H **
-/*	Bei JOIN ueber alkis_beziehungen. Entgegen Dokumentation keine Verbindung gefunden!
-$sql.="FROM  ax_buchungsblatt g ";
-$sql.="JOIN  ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk "; // BBZ
-$sql.="JOIN  alkis_beziehungen bba ON b.gml_id=bba.beziehung_von "; // Bez->AG
-$sql.="JOIN  ax_dienststelle a ON bba.beziehung_zu=a.gml_id ";
-$sql.="WHERE g.gml_id='".$gmlid."' ";
-$sql.="AND   bba.beziehungsart='gehoertZu' ";
-$sql.="AND   a.stellenart=1000;"; // Amtsgericht
-*/
+
+// G R U N D B U C H
 // Direkter JOIN zwischen den "ax_buchungsblattbezirk" und "ax_dienststelle".
-// Ueber Feld "gehoertzu|ax_dienststelle_schluessel|land" und "stelle"
+// Ueber Feld "gehoertzu|ax_dienststelle_schluessel|land" und "stelle".
+//	Bei JOIN ueber alkis_beziehungen entgegen Dokumentation keine Verbindung gefunden.
 $sql ="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, "; // GB-Blatt
 $sql.="b.gml_id, b.bezirk, b.bezeichnung AS beznam, "; // Bezirk
 $sql.="a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart "; // Amtsgericht
-$sql.="FROM  ax_buchungsblatt       g ";
-$sql.="JOIN  ax_buchungsblattbezirk b   ON g.land=b.land AND g.bezirk=b.bezirk ";  // BBZ
-$sql.="JOIN  ax_dienststelle        a   ON b.\"gehoertzu|ax_dienststelle_schluessel|land\"=a.land AND b.stelle=a.stelle ";
+$sql.="FROM  ax_buchungsblatt  g ";
+$sql.="JOIN  ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk ";  // BBZ
+$sql.="JOIN  ax_dienststelle a ON b.\"gehoertzu|ax_dienststelle_schluessel|land\"=a.land AND b.stelle=a.stelle ";
 $sql.="WHERE g.gml_id='".$gmlid."' ";
 $sql.="AND   a.stellenart=1000;"; // Amtsgericht
@@ -67,193 +61,61 @@
 if ($row = pg_fetch_array($res)) {
 	$blattart=blattart($row["blattart"]);
-	echo "<p class='gbkennz'>Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n";
-	echo "\n<h2>Grundbuch ALKIS</h2>\n";
-
+
+	// Balken	
+	echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n";
+
+	echo "\n<h2><img src='ico/Grundbuch.ico' width='16' height='16' alt=''> Grundbuch</h2>";
+
+	// Kennzeichen im Rahmen
 	echo "\n<table class='outer'>\n<tr>\n\t<td>";
-	echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>";
-	echo "\n\t\t<td class='head'>".dienststellenart($row["stellenart"])."</td>";
-	echo "\n\t\t<td class='head'>Bezirk</td>";
-	echo "\n\t\t<td class='head'>".$blattart."</td>\n\t</tr>";
-	echo "\n\t<tr>";
-	echo "\n\t\t<td title='Amtsgerichtsbezirk'>".$row["stelle"]."<br>".htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>";
-	echo "\n\t\t<td title='Grundbuchbezirk'>".$row["bezirk"]."<br>".htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>";
-	echo "\n\t\t<td title='Grundbuch-Blatt'>".$row["nr"]."</td>";
-	echo "\n\t</tr>\n\t</table>\n";
-	echo "\n\t</td>\n\t<td>";
-	if ($idanzeige) {linkgml($gkz, $gmlid, "Buchungsblatt");}
+		echo "\n\t<table class='kennz' title='Bestandskennzeichen'>";
+			echo "\n\t<tr>";
+				echo "\n\t\t<td class='head'>".dienststellenart($row["stellenart"])."</td>";
+				echo "\n\t\t<td class='head'>Bezirk</td>";
+				echo "\n\t\t<td class='head'>".$blattart."</td>";
+			echo "\n\t</tr>\n\t<tr>";
+				echo "\n\t\t<td title='Amtsgerichtsbezirk'><span class='key'>".$row["stelle"]."</span><br>".htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>";
+				echo "\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$row["bezirk"]."</span><br>".htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>";
+				echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$row["nr"]."</span></td>";
+			echo "\n\t</tr>";
+		echo "\n\t</table>";
+		echo "\n\n\t</td>\n\t<td>";
+		if ($idanzeige) linkgml($gkz, $gmlid, "Buchungsblatt");
 	echo "\n\t</td>\n</tr>\n</table>";
+}
+
+// E I G E N T U E M E R
+if ($row["blattart"] == 5000) { 
+	echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n";
+	echo "\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n";
+	// ++++  nuetzlich waere hier: Liste der Grundbuecher mit Recht ueber "an"-Beziehung	
+	
+} else {// kein Eigent. bei fiktiv. Blatt
+	echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
+	$n = eigentuemer($con, $gkz, $idanzeige, $gmlid, true); // hier mit Adressen
+	if ($n == 0) { // keine Namensnummer, kein Eigentuemer
+		echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
+		echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$row["blattart"]." (".$blattart.")</p>";
+		linkgml($gkz, $gmlid, "Buchungsblatt");
+	}
 }
 $res="";
 $row="";
 
-// ** E I G E N T U E M E R
-echo "\n<hr>\n\n<h3>Angaben zum Eigentum</h3>\n";
-
-// Schleife 1: N a m e n s n u m m e r
-// Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt
-$sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
-$sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
-$sql.="FROM  ax_namensnummer   n ";
-$sql.="JOIN  alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
-$sql.="WHERE b.beziehung_zu='".$gmlid."' "; // id blatt
-$sql.="AND   b.beziehungsart='istBestandteilVon' ";
-$sql.="ORDER BY laufendenummernachdin1421;";
-$resn=pg_query($con, $sql);
-if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
-echo "\n<table class='eig'>";
-$n=0; // Z.NamNum.
-while($rown = pg_fetch_array($resn)) {
-	echo "\n<tr>\n\t<td class='nanu' title='Namens-Nummer'>";
-	// VOR die Tabelle: "Eigentümer"
-	$namnum=kurz_namnr($rown["lfd"]);
-	echo "\n\t\t<p>".$namnum."</p>";
-	if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");}
-	echo "\n\t</td>\n\t<td>";
-	$rechtsg=$rown["adr"];
-	if ($rechtsg != "" ) {
-		if ($rechtsg == 9999) { // sonstiges
-			echo "\n\t\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";
-		} else {
-			echo "\n\t\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
-		}
-	}
-	//if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST:
-
-	//echo "\n\t\t</td>\n\t\t<td></td>\n</tr>";
-
-	// Schleife Ebene 2: andere Namensnummern
-	// Beziehung   ax_namensnummer >bestehtAusRechtsverhaeltnissenZu>  ax_namensnummer 
-
-	// Die Relation 'Namensnummer' besteht aus Rechtsverhältnissen zu 'Namensnummer' sagt aus, 
-	// dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können. 
-	// Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, 
-	// die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt.
-
-	// Die Relation 'Namensnummer' hat Vorgänger 'Namensnummer' gibt Auskunft darüber, 
-	// aus welchen Namensnummern die aktuelle entstanden ist.
-
-	// Schleife 2: P e r s o n  
-	// Beziehung: ax_person  <benennt<  ax_namensnummer
-	$sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
-	$sql.="FROM  ax_person p ";
-	$sql.="JOIN  alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
-	$sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num
-	$sql.="AND   v.beziehungsart='benennt';";
-	//echo "\n\t<p class='err'>Schleife Person SQL=<br>".$sql."</p>"; // test
-
-	$rese=pg_query($con, $sql);
-	if (!$rese) echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";
-	$i=0; // Z.Eig.
-	while($rowe = pg_fetch_array($rese)) {
-		$diePerson="";
-		if ($rowe["akademischergrad"] <> "") $diePerson=$rowe["akademischergrad"]." ";
-		$diePerson.=$rowe["nachnameoderfirma"];
-		if ($rowe["vorname"] <> "") $diePerson.=", ".$rowe["vorname"];
-		if ($rowe["namensbestandteil"] <> "") $diePerson.=". ".$rowe["namensbestandteil"];
-		if ($rowe["geburtsdatum"] <> "") $diePerson.=", geb. ".$rowe["geburtsdatum"];
-		if ($rowe["geburtsname"] <> "") $diePerson.=", geb. ".$rowe["geburtsname"];
-		$diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
-
-		// Spalte 1 enthält die Namensnummer, nur in Zeile 0
-		if ($i > 0) {
-			echo "\n<tr>\n\t<td></td>\n\t<td>";
-		}
-		// Spalte 2 = Angaben
-		echo "\n\t\t<p class='geig' title='Eigent&uuml;merart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p>\n\t</td>";
-		// Spalte 3 = Link
-		echo "\n\t<td>\n\t\t<p class='nwlink noprint'>\n\t\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowe[0]."&amp;style=".$style;
-		if ($idanzeige) { echo "&amp;id=j";}
-		echo "' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>Person</a>\n\t\t</p>";
-		if ($idanzeige) { linkgml($gkz, $rowe["gml_id"], "Person");}
-		echo "\n\t</td>\n</tr>";
-
-		// Schleife 3:  A d r e s s e
-		$sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
-		$sql.="FROM   ax_anschrift a ";
-		$sql.="JOIN   alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
-		$sql.="WHERE  b.beziehung_von='".$rowe["gml_id"]."' ";
-		$sql.="AND    b.beziehungsart='hat';"; //"ORDER  BY ?;";
-		//echo "\n<p class='err'>".$sql."</p>\n";
-		$resa=pg_query($con,$sql);
-		if (!$resa) echo "\n\t<p class='err'>Fehler bei Adressen.<br>\nSQL= ".$sql."</p>\n";
-		$j=0;
-		while($rowa = pg_fetch_array($resa)) {
-			$gmla=$rowa["gml_id"];
-			$plz=$rowa["plz"];
-			$ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
-			$str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
-			$hsnr=$rowa["hausnummer"];
-			$land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
-			// Spalte 1
-			echo "\n<tr>\n\t<td>&nbsp;</td>";
-			//Spalte 2
-			echo "\n\t<td>\n\t\t<p class='gadr'>"; 
-			if ($str.$hsnr != "") echo $str." ".$hsnr."<br>";
-			//if ($plz.$ort != "")
-			echo $plz." ".$ort;
-			if ($land != "" and $land != "DEUTSCHLAND") echo ", ".$land;
-			echo "</p>\n\t</td>";
-			// Spalte 3
-			echo "\n\t<td>";
-			if ($idanzeige) {linkgml($gkz, $gmla, "Adresse");}
-			echo "\n\t</td>\n</tr>";
-			$j++;
-		}
-		// 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
-		//if ($j == 0) {
-		//	echo "\n<tr>\n\t<td></td>";
-		//	echo "\n\t<td>\n\t\t<p class='err'>Keine Adressen.</p></td>";
-		//	echo "\n\t<td></td>\n<tr>";
-		//}
-		$i++; // Z. Person
-
-		// als eigene Tab-Zeile?
-		// 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) 
-		// an einem gemeinschaftlichen Eigentum (Grundstück oder Recht).
-		if ($rown["zaehler"] <> "") {
-			echo "\n<tr>\n\t<td></td>\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p>";
-			echo "\n</td>\n\t<td></td>\n</tr>";
-		}
-	}
-	/* Wann warnen?
-	if ($i == 0) { // keine Pers zur NamNum
-		if ($rechtsg != 9999) { // Art der Rechtsgemeinsachft, 0 Eigent. ist Normal bei Sondereigentum
-			echo "\n<tr>\n<td>";
-			linkgml($gkz, $rown["gml_id"], "Namensnummer");
-			echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>";
-			echo "\n\t\t\n\t</td>\n\t<td></td>\n<tr>";
-		}
-	}
-	*/
-	$n++; // Z.NamNum
-}
-echo "\n</table>\n";
-if ($n == 0) {
-	echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
-	echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$row["blattart"]." (".$blattart.")</p>";
-	linkgml($gkz, $gmlid, "Buchungsblatt");
-}
-
-If ($style == "alkis") { 
-} else { // kompakter Style, alles in eine Tabelle quetschen
-	echo "\n<hr>\n\n<h3>Flurst&uuml;cke</h3>";
-	echo "\n<table class='fs'>";
-
-	echo "\n<tr>";
-		echo "\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'>lfd.Nr</td>";
-		echo "\n\t<td class='head'>Buchungsart</td>";	//2
-		echo "\n\t<td class='head'>Anteil</td>";		//3
-		echo "\n\t<td class='head'>Gemarkung</td>";		//4
-		echo "\n\t<td class='head'>Flur</td>";			//5
-		echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>Flurst.</td>";
-		echo "\n\t<td class='head'>Fl&auml;che</td>";
-		echo "\n\t<td class='head' title='Link: weitere Auskunft'>weit. Ausk.</td>";
-
-	echo "\n</tr>";
-}
-
-// Schleife 1:  B u c h u n g s s t e l l e
-// ax_buchungsblatt   >bestehtAus>          ax_buchungsstelle 
-//                    <istBestandteilVon<
+echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>";
+echo "\n<table class='fs'>";
+// Kopf der Tabelle
+echo "\n<tr>\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'>&nbsp;&nbsp;&nbsp;&nbsp;lfd.Nr</td>";
+echo "\n\t<td class='head'>Buchungsart</td>";	//2
+echo "\n\t<td class='head'>Anteil</td>";		//3
+echo "\n\t<td class='head'>Gemarkung</td>";		//4
+echo "\n\t<td class='head'>Flur</td>";			//5
+echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>Flurst.</td>";
+echo "\n\t<td class='head fla'>Fl&auml;che</td>";
+echo "\n\t<td class='head nwlink' title='Link: weitere Auskunft'>weit. Auskunft</td>\n</tr>";
+
+// Blatt ->  B u c h u n g s s t e l l e
+// ax_buchungsblatt   >bestehtAus>         ax_buchungsstelle 
+// ax_buchungsblatt   <istBestandteilVon<  ax_buchungsstelle 
 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond ";
 $sql.="FROM  ax_buchungsstelle  s ";
@@ -266,145 +128,119 @@
 $i=0;
 while($row = pg_fetch_array($res)) {
-
-	If ($style == "alkis") { // Ausgabe im ALKIS-Style
-		echo "\n\n<h3>Laufende Nummer: ".$row["lfd"]."</h3>";
-		echo "\n<p>".buchungsart($row["buchungsart"])."</p>";
-
-		if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Buchungsstelle");}
-		if ($row["udb"] != "") {echo "<br>Umfang der Buchung: ".$row["udb"];} // beschreibungdesumfangsderbuchung
-		if ($row["zaehler"] != "") {echo "<br>Anteil ".$row["zaehler"]."/".$row["nenner"];}
-		if ($row["nrap"] != "") {
-			echo "\n<br>Nr. im Aufteilungsplan: ".$row["nrap"]; // nummerimaufteilungsplan
+	$lfdnr  = $row["lfd"];
+	$bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
+	$gml_bs = $row["gml_id"]; // id der buchungsstelle
+	$ba     = buchungsart($row["buchungsart"]);
+	if ($row["zaehler"] == "") {
+		$anteil = "";
+	} else {
+		$anteil = $row["zaehler"]."/".$row["nenner"];
+	}
+
+	// F l u r s t u e c k s d a t e n  zur direkten Buchungsstelle
+   $j = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, true); // return = Anzahl der FS
+
+	if ($row["nrap"] != "") {
+		echo "\n<tr>\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$row["nrap"]."</td>\n<tr>";
+	}
+	if ($row["sond"] != "") {
+		echo "\n<tr>\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>\n<tr>";
+	}
+
+	if ($j == 0) { //  k e i n e  Flurstuecke gefunden (Miteigentumsnteil usw.)
+		// Bei "normalen" Grundstuecken wurden Flurstuecksdaten gefunden und ausgegeben.
+		// Bei Miteigentumsanteil, Erbbaurecht usw. muss nach weiteren Buchungsstellen gesucht werden:
+		//  Buchungsstelle >an> Buchungsstelle >istBestandTeilVon>  "FiktivesBlatt (ohne) Eigentuemer"
+
+		// andere Buchungsstellen
+		// ax_buchungsstelle  >zu>  ax_buchungsstelle (des gleichen Blattes)
+		// ax_buchungsstelle  >an>  ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht >an> )
+
+		// a n d e r e  Buchungsstelle ("an"-Beziehung)
+		$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond ";
+		// , s.zaehler, s.nenner
+		$sql.="FROM  ax_buchungsstelle  s ";
+		$sql.="JOIN  alkis_beziehungen  v ON s.gml_id=v.beziehung_zu "; 
+		$sql.="WHERE v.beziehung_von='".$gml_bs."' "; // id buchungsstelle (fiktives Blatt)
+		//$sql.="AND   v.beziehungsart='an' ";
+		$sql.="AND   (v.beziehungsart='an' OR v.beziehungsart='zu') ";
+		$sql.="ORDER BY s.laufendenummer;";
+		//echo "<br><p class='err'>".$sql."</p><br>";
+
+		$resan=pg_query($con,$sql);
+		if (!$resan) {echo "<p class='err'>Fehler bei andere Buchungsstelle<br><br>".$sql."</p>\n";}
+		$a=0;
+		while($rowan = pg_fetch_array($resan)) {
+			// auch suchen?
+			// ax_buchungsstelle  >verweistAuf>           ax_flurstueck   
+			// ax_buchungsstelle  >grundstueckBestehtAus> ax_flurstueck
+			// ax_buchungsstelle  <istGebucht<            ax_flurstueck
+			$lfdnran = $rowan["lfd"];
+			$gml_bsan= $rowan["gml_id"]; // id der buchungsstelle
+			$baan =	buchungsart($rowan["buchungsart"]);
+
+			// Fiktives Blatt
+			$sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt ";
+			$sql.="FROM  ax_buchungsblatt   b ";
+			$sql.="JOIN  alkis_beziehungen  v ON b.gml_id=v.beziehung_zu "; 
+			$sql.="WHERE v.beziehung_von='".$gml_bsan."' ";
+			$sql.="AND   v.beziehungsart='istBestandteilVon' ";
+			$sql.="ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
+			
+			$fbres=pg_query($con,$sql);
+			if (!$fbres) {echo "<p class='err'>Fehler bei fiktivem Blatt<br><br>".$sql."</p>\n";}
+			$b=0;
+			while($fbrow = pg_fetch_array($fbres)) { // genau 1
+				$fbgml   = $fbrow["gml_id"];
+				$fbland  = $fbrow["land"];
+				$fbbez   = $fbrow["bezirk"];
+				$fbblatt = $fbrow["blatt"];
+				$b++;
+			}
+			if ($b <> 1) echo "<p class='err'>Anzahl fiktive Bl&auml;tter zu anderer Buchungstelle = ".$b."</p>";
+
+			// G r u n d b u c h d a t e n  zur  a n d e r e n  Buchungsstelle  (fiktives Blatt, Recht "an" ...)	
+			//$bvnran=str_pad($lfdnran, 4, "0", STR_PAD_LEFT);
+			// Kompakter Style			
+			echo "\n<tr>\n\t<td>".$bvnr; // Sp.1 Erbbau BVNR
+			if ($idanzeige) linkgml($gkz, $gml_bs, "Buchungsstelle");
+			echo "</td>";
+			echo "\n\t<td>".$ba." an</td>"; // Sp.2 Buchung
+			echo "\n\t<td>".$anteil."</td>"; // Sp.3 Anteil   ++++ LEER !!?? Wieso
+			echo "\n\t<td>Bezirk ".$fbbez."</td>"; // Sp.4 Gemkg, hier Bezirk ++++ entschluesseln?
+			echo "\n\t<td></td>"; // Sp.5 Flur
+			echo "\n\t<td>Blatt ".$fbblatt."</td>"; // Sp.6 Flurst
+			echo "\n\t<td></td>"; // Sp.7 Flaeche
+			echo "\n\t<td>";  // Sp.8 Link
+			echo "<p class='nwlink'>an <a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$fbgml;
+			if ($idanzeige) echo "&amp;id=j";
+			echo "' title='Grundbuchnachweis fiktives Blatt'>GB</a></p></td>\n</tr>"; 
+
+			// F l u r s t u e c k s d a t e n  zur  a n d e r e n  Buchungsstelle  (fiktives Blatt, Recht "an" ...)
+		   $aj = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnran, $gml_bsan, $baan, $anteil, false); // return = Anzahl der FS
+			// +++ Gibt es ueberhaupt Sondereigentum beim fiktiven Blatt??
+
+			// Kompakter Style
+			if ($rowan["nrap"] != "") {
+				echo "\n<tr>\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$rowan["nrap"]."</td>\n<tr>";
+			}
+			if ($rowan["sond"] != "") {
+				echo "\n<tr>\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$rowan["sond"]."</td>\n<tr>";
+			}
+
+			$a++;
+			if ($aj == 0) { // keine Flurstuecke gefunden
+				echo "<p>keine Flurst&uuml;cke zu anderer Buchung gefunden</p>";
+			}
 		}
-		if ($row["sond"] != "") {
-			echo "\n<br>Verbunden mit dem Sondereigentum an: ".$row["sond"]; //beschreibungdessondereigentums
+		if ($a == 0) {
+			echo "\n<p class='err'>Keine andere Buchungstelle gefunden.</p>\n";
+			linkgml($gkz, $$gml_bs, "Buchungsstelle");
 		}
-
-		//echo "\n<h4>Das ".buchungsart($row["buchungsart"])." besteht aus:</h4>";
-		echo "\n<h4>Das Grundst&uuml;ck besteht aus:</h4>";
-
-	//} else { // Kompakter Style
-	}
-
-	// Schleife 2a: andere Buchungsstellen
-	// ax_buchungsstelle  >zu>  ax_buchungsstelle (des gleichen Blattes)
-	//                    >an>  ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht >an> )
-
-	// ++++ To Do:  auch suchen?
-	// Schleife 2b: Flurstueck
-	// ax_buchungsstelle   >verweistAuf>            ax_flurstueck   
-
-	// ax_buchungsstelle   >grundstueckBestehtAus>  ax_flurstueck
-	//                     <istGebucht<           
-
-	// F L U R S T U E C K
-	$sql="SELECT g.gemarkungsnummer, g.bezeichnung, ";
-	$sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche ";
-	$sql.="FROM ax_gemarkung g ";
-	$sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
-	$sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; 
-	$sql.="WHERE v.beziehung_zu='".$row["gml_id"]."' "; // id buchungsstelle
-	$sql.="AND   v.beziehungsart='istGebucht' ";
-	$sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
-
-	$resf=pg_query($con,$sql);
-	if (!$resf) {echo "<p class='err'>Fehler bei Flurst&uuml;ck<br><br>".$sql."</p>\n";}
-	$j=0;
-	while($rowf = pg_fetch_array($resf)) {
-		$fskenn=$rowf["zaehler"];
-		if ($rowf["nenner"] != "") {$fskenn.="/".$rowf["nenner"];}
-		$flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
-
-		If ($style == "alkis") { // Darstellung ALKIS-Like
-	
-			echo "\n<table class='outer'>\n<tr>";
-			echo "\n\t<td>";
-			echo "\n\t\t<h6>Flurst&uuml;ck ".$fskenn.", Flur ".$rowf["flurnummer"].", Gemarkung ".$rowf["gemarkungsnummer"]." ".$rowf["bezeichnung"]."</h6>";
-			echo "\n\t</td>";
-	
-			echo "\n\t<td>";
-			echo "\n\t\t<p class='nwlink noprint'><a  href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"."&amp;style=".$style;
-			if ($idanzeige) { echo "&amp;id=j";}
-			echo "' title='Flurst&uuml;cksnachweis'>FS-Nachweis</a></p>";
-			if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck");}
-			echo "\n\t</td>\n</tr>\n</table>";
-
-			//echo "\n</tr>\n<table>";
-	
-	/*		echo "\n<tr>\n\t<td>Gebietszugeh&ouml;rigkeit:</td>";
-			echo "\n\t<td>Gemeinde ".$rowf["gemeinde"]."<br>";
-			echo "Kreis ".$rowf["kreis"]."<br>";
-			echo "Regierungsbezirk ".$rowf["regierungsbezirk"]."</td>\n</tr>";
-	
-			echo "\n<tr>\n\t<td>Lage:</td>";
-			echo "\n\t<td>(noch in Arbeit)</td>\n</tr>";
-	
-			echo "\n<tr>\n\t<td>Tats&auml;chliche Nutzung:</td>";
-			echo "\n\t<td>(noch in Arbeit)</td>\n</tr>";
-	*/
-			//echo "\n<tr>\n\t<td>";
-	
-			echo "\n<p>Fl&auml;che: ";
-			//echo "</td>\n\t<td>";
-			echo $flae."</p>";
-			//echo "</td>\n</tr>";
-		//echo "\n</table>";
-	
-		} else { // kompakter Style
-			echo "\n<tr>"; // eine Zeile je Flurstueck
-				// Sp. 1-3 aus Buchungsstelle
-				echo "\n\t<td>".$row["lfd"];
-				if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Buchungsstelle");}
-				echo "</td>";
-
-				echo "\n\t<td>".buchungsart($row["buchungsart"])."</td>";
-
-				echo "\n\t<td>";
-				if ($row["zaehler"] != "") {echo $row["zaehler"]."/".$row["nenner"];}
-				echo "</td>";
-
-				//Sp. 4-7 aus Flurstueck
-				echo "\n\t<td>".$rowf["gemarkungsnummer"]." ".$rowf["bezeichnung"]."</td>";
-
-				echo "\n\t<td>".$rowf["flurnummer"]."</td>";
-
-				echo "\n\t<td>".$fskenn."</a>";
-
-				if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck");}
-				echo "</td>";
-
-				echo "\n\t<td class='fla'>".$flae."</td>";
-
-				echo "\n\t<td><p class='nwlink noprint'>";
-				echo "\n\t\t<a  href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"."&amp;style=".$style;
-				if ($idanzeige) { echo "&amp;id=j";}
-				echo "' title='Flurst&uuml;cksnachweis'>FS-Nachw.</a>";
-				echo "</p></td>";
-
-			echo "\n</tr>";
-		}
-		$j++;
-	} // Ende Schleife Flurstueck
-	if ($j == 0) {
-		echo "\n<p class='err'>Kein Flurst&uuml;ck gefunden.</p>";
-		linkgml($gkz, $row["gml_id"], "Buchungststelle");
-	}
-	If ($style == "alkis") {
-	} else { // Kompakter Style
-		if ($row["nrap"] != "") {
-			echo "\n<tr>\n\t<td></td>\n\t<td colspan=6>Nr. im Aufteilungsplan: ".$row["nrap"]."</td>\n<tr>"; // nummerimaufteilungsplan
-		}
-		if ($row["sond"] != "") { // ++ style-class ?
-			echo "\n<tr>\n\t<td></td>\n\t<td colspan=6>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>\n<tr>"; //beschreibungdessondereigentums
-		}
 	}
 	$i++; 
-} // Ende Schleife Buchungsstelle
-
-If ($style == "alkis") { 
-} else { // kompakter Style
-	echo "\n</table>";
-}
-
+} // Ende Buchungsstelle
+
+echo "\n</table>";
 if ($i == 0) {
 	echo "\n<p class='err'>Keine Buchung gefunden.</p>\n";
@@ -421,5 +257,5 @@
 	</div>
 </form>
-<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, $style); ?>
+<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, ""); ?>
 </body>
 </html>
Index: /trunk/var/www/info/alkis/alkisausk.php
===================================================================
--- /trunk/var/www/info/alkis/alkisausk.php	(revision 40)
+++ /trunk/var/www/info/alkis/alkisausk.php	(revision 41)
@@ -5,20 +5,21 @@
 	Dies Programm wird aus dem Mapserver-Template (FeatureInfo) aufgerufen.
 	Parameter:&gkz, &gml_id (optional &id)
-	Dies Programm gibt einen kurzen Ueberblick ÃŒber die wichtigsten Daten zum Flurstueck.
-	In einfachen Faellen wird auch der EigentÃŒmer ohne Adresse angezeigt.
+	Dies Programm gibt einen kurzen Ueberblick zum Flurstueck.
+	Eigentuemer ohne Adresse.
 	Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt.
 
 	Version:
-	26.01.2010	internet-Version  mit eigener conf
+		28.05.2010	Eigentümerausgabe in einer Function
+		27.08.2010	Erweiterung um Link zu Gebaeudenachweis der WhereGroup
+		31.08.2010	$style=ALKIS entfernt, alles Kompakt
+		02.09.2010  Mit Icons
 */
 ini_set('error_reporting', 'E_ALL');
 session_start();
 // Bindung an Mapbender-Authentifizierung
-#require_once("/data/mapwww/http/php/mb_validateSession.php");
-#require_once("/data/conf/alkis_www_conf.php");
-#AE
-require_once(dirname(__FILE__)."/../../../php/mb_validateSession.php");
-require_once(dirname(__FILE__)."/../../../../conf/alkis_www_conf.php");
-
+require_once("/data/mapwww/http/php/mb_validateSession.php");
+//require_once(dirname(__FILE__)."/../../../php/mb_validateSession.php");
+require_once("/data/conf/alkis_conf.php");
+//require_once(dirname(__FILE__)."/../../../../conf/alkis_conf.php");
 include("alkisfkt.php");
 ?>
@@ -26,5 +27,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger">
+	<meta name="author" content="Frank Jaeger" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -32,5 +33,9 @@
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
 	<title>ALKIS-Auskunft</title>
+	<style type='text/css' media='print'>
+		.noprint { visibility: hidden;}
+	</style>
 </head>
 <body>
@@ -41,9 +46,5 @@
 $idanzeige=false;
 if ($id == "j") {$idanzeige=true;}
-$style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";
-#$dbname = 'alkis05' . $gkz;
-#AE
-#$dbname = 'nas_wesseling';
-# echo("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+$dbname = 'alkis05' . $gkz;
 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
 if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";}
@@ -69,26 +70,43 @@
 } else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;}
 
-echo "<p class='fsausk'>Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."</p>\n";
-echo "<h1>ALKIS-Auskunft</h1>\n";
-echo "\n<h2>Flurst&uuml;ck</h2>\n";
-echo "\n<table class='bez'>\n";
+// Balken
+echo "\n<p class='fsausk'>ALKIS-Auskunft Flurst&uuml;ck-&Uuml;bersicht ".$gmkgnr."-".$flurnummer."-".$flstnummer."</p>";
+
+echo "\n<table class='outer'>\n<tr><td>";
+	// linke Seite
+	echo "\n<h1>ALKIS-Auskunft</h1>";
+	echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>";
+echo "</td><td align='right'>";
+	// rechte Seite
+	echo "<img src='pic/AAA.gif' alt=''>";
+echo "</td></tr></table>";
+
 echo "\n<table class='outer'>\n<tr>\n<td>";
-echo "\n\t<table class='kennz' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
-echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
-echo "\n\t<tr>\n\t\t<td title='Gemarkung'>".$gmkgnr."<br>".$gemkname."</td>";
-echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
-echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>".$flstnummer."</td>\n\t</tr>\n\t</table>\n";
-echo "</td>\n<td>";
+	echo "\n\t<table class='kennz' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
+	echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
+	echo "\n\t<tr>\n\t\t<td title='Gemarkung'><span class='key'>".$gmkgnr."</span><br>".$gemkname."</td>";
+	echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
+	echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
+	echo "\n\t</table>";
+echo "\n</td>\n<td>";
 if ($idanzeige) { linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
 echo "<br>\n\t<p class='nwlink'>weitere Auskunft:<br>";
-echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n"."&amp;style=".$style;
+
+// Flurstuecksnachweis (o. Eigent.)
+echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n";
 if ($idanzeige) { echo "&amp;id=j";}
-echo "' title='Flurst&uuml;cksnachweis, alle Flurst&uuml;cksdaten'>FS-Nachweis</a>&nbsp;|&nbsp;";
-echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j"."&amp;style=".$style;
+echo "' title='Flurst&uuml;cksnachweis, alle Flurst&uuml;cksdaten'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a><br>";
+
+// FS- u. Eigent.-NW
+echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j";
 if ($idanzeige) echo "&amp;id=j";
-echo "' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>FS- u. Eigent.-Nw</a><br>";
-echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j"."&amp;style=".$style;
+echo "' title='Flurst&uuml;ck mit Eigent&uuml;mer'>Flurst&uuml;ck mit Eigent&uuml;mer</a> <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''><br>";
+
+// Gebaeude-NW
+echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
 if ($idanzeige) echo "&amp;id=j";
-echo "' title='Geb&auml;udenachweis'>Geb&auml;udenachweis</a>";
+echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>";
+
+// FS-Historie (noch nicht in DB)
 //echo "&nbsp;|&nbsp;<a href='alkisfshist.php?gkz=".$gkz."&amp;flurstkennz=".$gmlid."' title='Vorg&auml;nger- und Nachfolger-Flurst&uuml;cke'>Historie</a>\n";
 echo "\n\t</p>\n</td>";
@@ -97,5 +115,5 @@
 
 // *** G R U N D B U C H ***
-echo "\n<h2>Grundbuch</h2>";
+echo "\n<h2><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbuch</h2>";
 // ALKIS: FS --> bfs --> GS --> bsb --> GB.
 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
@@ -118,109 +136,35 @@
 	echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>";
 	echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
-	echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>";
-	echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'>".$rowg["bezirk"]."<br>".$beznam."</td>";
-	echo "\n\t\t<td title='Grundbuch-Blatt'>".$rowg["blatt"]."</td>";
-	echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>";
-	echo "\n\t\t<td title='Buchungsart'>".$rowg["buchungsart"]."<br>".buchungsart($rowg["buchungsart"])."</td>\n\t</tr>\n\t</table>";
+		echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>";
+		echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$rowg["bezirk"]."</span><br>".$beznam."</td>";
+		echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
+		echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>";
+		echo "\n\t\t<td title='Buchungsart'>".$rowg["buchungsart"]."<br>".buchungsart($rowg["buchungsart"])."</td>\n\t</tr>";
+	echo "\n\t</table>";
 	if ($rowg["zahler"] <> "") {
 		echo "\n<p class='ant'>".$rowg["zahler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
 	}
 	echo "\n</td>\n<td>";
-	if ($idanzeige) { linkgml($gkz, $rowg[0], "Buchungsblatt");}
-	echo "<br>\n";
-	echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."&amp;style=".$style;
-	if ($idanzeige) echo "&amp;id=j";
-	echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>GB-Nachweis</a>\n\t</p>\n</td>\n";
+		if ($idanzeige) { linkgml($gkz, $rowg[0], "Buchungsblatt");}
+		echo "<br>\n";
+		echo "\n\t<p class='nwlink'>weitere Auskunft:<br>";
+		echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0];
+			if ($idanzeige) echo "&amp;id=j";
+			echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>Grundbuch-Blatt ";
+			echo "<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>";
+	echo "\n\t</p>\n</td>\n";
 	echo "</table>";
-	if ($rowg["blattart"] <> "1000") { // schwierige SonderfÃ€lle nicht in der Ãbersicht bearbeiten
-		echo "\n<p>Blattart: ".blattart($rowg["blattart"])." (".$rowg["blattart"].").<br>\n"; 
-		echo "Eigent&uuml;mer siehe\n\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."&amp;style=".$style;
-		if ($idanzeige) echo "&amp;id=j";
-		echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>GB-Nachweis</a>\n</p>";
-		//echo "oder"\n\t<a title='ALKIS-Beziehungen-Browser' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$rowg["s_gml"]."&amp;style=".$style."'>Beziehungen der Buchungsstelle</a>\n</p>";
-		linkgml($gkz, $rowg["s_gml"], "Buchungsstelle"); 
-	} else { // normales Grundbuchblatt
-
-		// ** E I G E N T U E M E R, zum GB
-		echo "\n\n<h3>Eigent&uuml;mer:</h3>\n";
-
-		// Schleife 1: N a m e n s n u m m e r
-		// Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt
-		$sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
-		$sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
-		$sql.="FROM  ax_namensnummer   n ";
-		$sql.="JOIN  alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
-		$sql.="WHERE b.beziehung_zu='".$rowg["gml_id"]."' "; // id blatt
-		$sql.="AND   b.beziehungsart='istBestandteilVon' ";
-		$sql.="ORDER BY laufendenummernachdin1421;";
-		$resn=pg_query($con, $sql);
-		if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
-		echo "\n<table class='eig'>";
-		$n=0; // Z.NamNum.
-		while($rown = pg_fetch_array($resn)) {
-			echo "\n<tr>\n\t<td class='nanu' title='Namens-Nummer'>";
-			// VOR die Tabelle: "EigentÃŒmer"
-			$namnum=kurz_namnr($rown["lfd"]);
-			echo "\n\t<p>".$namnum."</p>";
-			if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");}
-			echo "\n\t</td>\n\t<td>";
-			$rechtsg=$rown["adr"];
-			if ($rechtsg != "" ) {
-				if ($rechtsg == 9999) { // sonstiges
-					echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";
-				} else {
-					echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
-				}
-			}
-			// +++ ggf. Seitenzweige ("andere Namennummern")
-
-			// Schleife 2: P e r s o n  
-			// Beziehung: ax_person  <benennt<  ax_namensnummer
-			$sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
-			$sql.="FROM  ax_person p ";
-			$sql.="JOIN  alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
-			$sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num
-			$sql.="AND   v.beziehungsart='benennt';";
-			$rese=pg_query($con, $sql);
-			if (!$rese) echo "\n<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";
-			$i=0; // Z.Eig.
-			while($rowe = pg_fetch_array($rese)) {
-				$diePerson="";
-				if ($rowe["akademischergrad"] <> "") $diePerson=$rowe["akademischergrad"]." ";
-				$diePerson.=$rowe["nachnameoderfirma"];
-				if ($rowe["vorname"] <> "") $diePerson.=", ".$rowe["vorname"];
-				if ($rowe["namensbestandteil"] <> "") $diePerson.=". ".$rowe["namensbestandteil"];
-				if ($rowe["geburtsdatum"] <> "") $diePerson.=", geb. ".$rowe["geburtsdatum"];
-				if ($rowe["geburtsname"] <> "") $diePerson.=", geb. ".$rowe["geburtsname"];
-				$diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
-				// Spalte 1 enthÃ€lt die Namensnummer, nur in Zeile 0
-				if ($i > 0) {echo "\n<tr>\n\t<td></td>\n\t<td>";}
-				// Spalte 2 = Angaben
-				echo "\n\t<p class='geig' title='Eigent&uuml;merart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p></td>";
-				// Spalte 3 = Link
-				echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>\n\t\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowe[0]."&amp;style=".$style;
-				if ($idanzeige) { echo "&amp;id=j";}
-				echo "' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>Person</a>\n\t\t</p>";
-				if ($idanzeige) { linkgml($gkz, $rowe["gml_id"], "Person");}
-				echo "</td>\n</tr>";
-				$i++; // Z. Person
-				if ($rown["zaehler"] <> "") {
-					echo "\n<tr>\n\t<td></td>\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p>";
-					echo "\n</td>\n\t<td></td>\n</tr>";
-				}
-			}
-			if ($i == 0) { // keine Pers zur NamNum
-				if ($rechtsg != 9999) { // Normal bei Sondereigentum
-					echo "\n<tr>\n<td>";
-					linkgml($gkz, $rown["gml_id"], "Namensnummer");
-					echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden.</p>";
-					echo "\n\t\t\n\t</td>\n\t<td></td>\n<tr>";
-				}
-			}
-			$n++; // Z.NamNum
-		}
-		echo "\n</table>\n";
-		if ($n == 0) {
+	
+	// E I G E N T U E M E R
+	if ($rowg["blattart"] == 5000) { 
+		echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n";
+		echo "\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n";
+	} else {// kein Eigent. bei fiktiv. Blatt
+		echo "\n<hr>\n\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
+		// Ausgabe Name in Function
+		$n = eigentuemer($con, $gkz, $idanzeige, $rowg["gml_id"], false); // hier ohne Adressen
+		if ($n == 0) { // keine Namensnummer, kein Eigentuemer
 			echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
+			echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$row["blattart"]." (".$blattart.")</p>";
 			linkgml($gkz, $gmlid, "Buchungsblatt");
 		}
@@ -230,9 +174,9 @@
 if ($j == 0) { // Entwicklungshilfe
 	echo "\n<p class='err'>Keine Buchungen gefunden.</p>";
-	echo "\n<p><a target='_blank' href=alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;style=".$style.">Beziehungen des Flurst&uuml;cks</a></p>";
+	echo "\n<p><a target='_blank' href=alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid.">Beziehungen des Flurst&uuml;cks</a></p>";
 	//echo "<p>".$sql."</p>"; // TEST
 }
 echo "\n<hr>";
-footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, $style);
+footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "");
 
 ?>
Index: /trunk/var/www/info/alkis/alkisfkt.php
===================================================================
--- /trunk/var/www/info/alkis/alkisfkt.php	(revision 40)
+++ /trunk/var/www/info/alkis/alkisfkt.php	(revision 41)
@@ -1,43 +1,42 @@
 <?php
-/*	alkisfkt.php
+/*	Modul: alkisfkt.php
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
-	Functions z.B. zum Entschluesseln
+	Functions
+
 	Version:
-	26.01.2010	internet-Version  mit eigener confÂŽ
+		31.08.2010	$style=ALKIS entfernt, link zu alkislage.php
+		02.09.2010  mit Icons
 */
 
-// Einen Seitenfuss ausgeben.
-// Der URL-Parameter &id=j/n kann hinzugefuegt werden, solange die Parameter &gkz= &gmlid=
-// in allen Modulen einheitlich und ausschlesslich vorkommen,
-function footer($gkz, $gmlid, $idanzeige, $link, $hilfeurl, $style) {
+function footer($gkz, $gmlid, $idanzeige, $link, $hilfeurl, $append) {
+	// Einen Seitenfuss ausgeben.
+	// Den URL-Parameter "&id=j/n" in allen Kombinationen umschalten lassen.
+	// Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor
+
+	// Der Parameter "&eig=j" wird angehaengt wenn gefuellt.  // ALT
+	// Der Parameter $append wird angehaengt wenn gefuellt
+	//  Anwendung: &eig=j bei FS-NW, &ltyp=m/p/o bei Lage
+	
 	$customer=$_SESSION["mb_user_name"];
 	echo "\n<div class='confbereich noprint'>";
+
 	echo "\n<table class='outer'>\n<tr>";
 
-	// Spalte 1
+	// Spalte 1: Info Benutzerkennung
 	echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>";
-
-	// Spalte 2
+	
+	// Spalte 2: Umschalter
 	echo "\n\t<td title='Konfiguration'>";
-
-	// Umschalter Testmodus (ID-Verfolgung)
-	echo "\n\t\t<a href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid;
-	if ($idanzeige) {
-		echo "' title='Ohne Verfolgung der ALKIS-Beziehungen'>ID aus</a>";
-	} else {
-		
-		echo "&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>ID ein</a>";
-	}
-	echo "&nbsp;";
-
-	// Umschalter fuer Darstellung der Daten
-	echo "\n\t\t<a href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid;
-	if ($idanzeige) {echo "&amp;id=j";}
-	If ($style == "alkis") { 
-		echo "&amp;style=kompakt' title='Kurze tabellarische Darstellung'>Kompakt</a>";
-	} else { // kompakter Style
-		echo "&amp;style=alkis' title='Beschreibende Darstellung'>ALKIS-Style</a>";
-	}
-
+		// Umschalter Testmodus I D - A n z e i g e
+		echo "\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid;
+		//	if ($eig <> "") echo "&amp;eig=".$eig; // nur fuer FS-Nachw
+			if ($append <> "") echo $append; // nur fuer FS-Nachw
+
+			if ($idanzeige) { // Umschalten
+				echo "&amp;id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>ID aus";
+			} else {
+				echo "&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>ID ein";
+			}
+		echo "</a>";
 	echo "\n\t</td>";
 
@@ -47,38 +46,403 @@
 
 	echo "\n</tr>\n</table>\n</div>\n";
-	
 	return 0;
 }
-// Einen Link zur Verfolgung der Beziehungen mit dem Prog alkisrelationen
+
 function linkgml($gkz, $gml, $typ)  {
-	$kurzid=substr($gml, 11); // kuerzen, der Anfang ist immer identisch
-	echo "\n\t\t<div class='gmlid noprint' title='ID ".$typ."'>";
-	echo "\n\t\t\t<a target='_blank' class='gmlid' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gml."&amp;otyp=".$typ."'>".$kurzid."</a>\n\t\t</div>";
+	// Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php
+	$kurzid=substr($gml, 11); // ID kuerzen, der Anfang ist immer gleich
+	echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gml."&amp;otyp=".$typ."'>".$kurzid."</a>";
 	return 0;
 }
-// Namensnummer kuerzen, nicht benoetigte Stufen abschneiden
+
 function kurz_namnr($lang) {
-	$kurz=str_replace(".00","",$lang);		// leere Stufen (nur am Ende)
-	$kurz=str_replace("0000","",$kurz);		// ganz leer (am Anfang)
+	// Namensnummer kuerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden
+	$kurz=str_replace(".00","",$lang);	// leere Stufen (nur am Ende)
+	$kurz=str_replace("0000","",$kurz);	// ganz leer (am Anfang)
 	$kurz=ltrim($kurz, "0");				// fuehrende Nullen am Anfang
-	$kurz=str_replace(".0",".",$kurz);		// fuehrende Null jeder Stufe
+	$kurz=str_replace(".0",".",$kurz);	// fuehrende Null jeder Stufe
 	return $kurz;
 }
 
-// **  E n t s c h l u e s s e l n  **
-/*  MUSTER
-// Entschluesslung AX_Tab.Feld
-function fkt_name($key) {
-	switch ($key) {
-		case ___:
-			$wert = "___"; 
-			break;
-		default:
-			$wert = "";
-			break;
-	}
-	return $wert;
-}
+function fs_gebietszug($con, $gemeinde, $kreis, $bezirk) {
+	// eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben
+	// Parameter = Schluesselwerte
+	// Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist?
+
+	echo "\n<tr>\n\t<td class='ll'><img src='ico/Gemeinde.ico' width='16' height='16' alt=''> Im Gebiet von:</td>";
+	
+	// G e m e i n d e
+	$sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' AND gemeinde='".$gemeinde."' "; 
+	$res=pg_query($con, $sql);
+	if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>";
+	$row = pg_fetch_array($res);
+	$gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
+	echo "\n\t<td class='lr'>Gemeinde <span class='key'>(".$gemeinde.")</span> ".$gnam."<br>";
+
+	// K r e i s
+	$sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' "; 
+	$res=pg_query($con, $sql);
+	if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>";
+	$row = pg_fetch_array($res);
+	$knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
+	echo "Kreis <span class='key'>(".$kreis.")</span> ".$knam."<br>";
+
+	// R e g - B e z
+	$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' "; 
+	$res=pg_query($con, $sql);
+	if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>";
+	$row = pg_fetch_array($res);
+	$bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
+	echo "Regierungsbezirk <span class='key'>(".$bezirk.")</span> ".$bnam."</td>";
+	
+	// 3. Spalte fÃŒr NW-Link (in weiteren Tab-Zeilen)
+	echo "\n\t<td>&nbsp;</td>\n</tr>";
+	return 0;
+}
+
+function fs_lage($con, $gmlid, $gkz) {
+	// Tabellenzeilen mit Lage eines FS
+	// Parameter = ID des FS
+
+	// Lagebezeichnung Mit Hausnummer
+	//   ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer
+	//                  <gehoertZu<
+	$sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
+	$sql.="FROM  alkis_beziehungen v ";
+	$sql.="JOIN  ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
+	$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage ";
+	$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
+	$sql.="AND   v.beziehungsart='weistAuf' ";
+	$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
+
+	// Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage
+	// bei einem SekundÃ€rbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier:
+
+	//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage ";
+	// Problem: ax_lagebezeichnungkatalogeintrag.lage  ist char,
+	//          ax_lagebezeichnungmithausnummer.lage   ist integer,
+
+	// cast() scheitert weil auch nicht numerische Inhalte
+	//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) ";
+
+	// http://www.postgresql.org/docs/8.3/static/functions-formatting.html
+
+	$res=pg_query($con, $sql);
+	if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}
+	$j=0;
+	while($row = pg_fetch_array($res)) {
+		$sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
+		//echo "<!-- Adresse -->";		
+		echo "\n<tr>\n\t";
+			if ($j == 0) {		
+				echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>";
+			} else {
+				echo "<td>&nbsp;</td>";
+			}
+			echo "\n\t<td class='lr'><span class='key'>(".$row["lage"].")</span>&nbsp;".$sname."&nbsp;".$row["hausnummer"]."</td>";
+			echo "\n\t<td><p class='nwlink noprint'><a href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage</a></p></td>";
+		echo "\n</tr>";
+		$j++;
+	}
+	$z=$j;
+
+	// Lagebezeichnung Ohne Hausnummer (Gewanne oder nur Strasse)
+	//   ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer
+	//                  <gehoertZu<
+	$sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung ";
+	$sql.="FROM alkis_beziehungen v ";
+	$sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu ";
+	$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";
+//	$sql.="AND l.lage=s.lage ";
+	// hier beide .lage als Char(5)
+	//  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen
+	//  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen
+	$sql.="AND l.lage=trim(leading '0' from s.lage) ";
+//	$sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte
+	$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
+	$sql.="AND   v.beziehungsart='zeigtAuf';"; //ORDER?
+	$res=pg_query($con, $sql);
+	if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>";
+	$j=0;
+	// Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!	
+	while($row = pg_fetch_array($res)) {
+		$gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
+		$skey=$row["lage"]; // Strassenschluessel
+		$lgml=$row["gml_id"]; // key der Lage
+		if (!$gewann == "") {
+			echo "\n<tr>";		
+				echo "\n\t<td class='ll'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>";
+				echo "\n\t<td class='lr'>".$gewann."</td>";
+				echo "\n\t<td><p class='nwlink noprint'><a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>Lage</a></p></td>";
+			echo "\n</tr>";		
+		}
+		// Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link	
+		if ($skey > 0) {
+			echo "\n<tr>";	
+				echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Stra&szlig;e:</td>";				
+				echo "\n\t<td class='lr'><span class='key'>(".$skey.")</span>&nbsp;".$row["bezeichnung"]."</td>";
+				echo "\n\t<td><p class='nwlink noprint'><a  title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>Lage</a></p></td>";
+			echo "\n</tr>";
+		}		
+		$j++;
+	}
+	$z=$z+$j;
+	//echo "<p class='err'>Anzahl ".$j."<br>SQL=<br>".$sql."<br></p>";	
+	return $z; // Summe der ausgegebenen Zeilen
+}
+
+function fs_nutz($con, $gmlid) {
+	// Tabellenzeilen (3 Sp.) mit tats. Nutzung zu einem FS ausgeben
+	// Parameter = ID des FS
+	echo "\n<tr>\n\t<td class='ll'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzungsarten:</td>";
+	echo "\n\t<td class='ph'>(Programmteil ist noch in Arbeit)</td>";
+	echo "\n\t<td>&nbsp;</td>\n</tr>";
+}
+
+function bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) {
+/*	Bestandsnachweis - Flurstuecksdaten
+	Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben.
+	Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall).
+	Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen.
+	Table-Tag und Kopfzeile im aufrufenden Programm. 
 */
+
+	// F L U R S T U E C K
+	$sql="SELECT g.gemarkungsnummer, g.bezeichnung, ";
+	$sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche ";
+	$sql.="FROM ax_gemarkung g ";
+	$sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+	$sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; 
+	$sql.="WHERE v.beziehung_zu='".$gml_bs."' "; // id buchungsstelle
+	$sql.="AND   v.beziehungsart='istGebucht' ";
+	$sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
+	$resf=pg_query($con,$sql);
+	if (!$resf) {echo "<p class='err'>Fehler bei Flurst&uuml;ck<br><br>".$sql."</p>\n";}
+	if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben
+		$bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT);	
+	}
+	$altlfdnr="";
+	$j=0;
+	while($rowf = pg_fetch_array($resf)) {
+		if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);}
+		$flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
+		$flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
+		$fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);
+		echo "\n<tr>"; // eine Zeile je Flurstueck
+
+		// Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS
+		if($lfdnr == $altlfdnr) {	// gleiches Grundstueck		
+			echo "\n\t<td>&nbsp;</td>\n\t<td>&nbsp;</td>\n\t<td>&nbsp;</td>";
+		} else {
+			echo "\n\t<td><img src='ico/Grundstueck.ico' width='16' height='16' alt='' title='Grundst&uuml;ck' /> <span class='wichtig'>".$bvnr."</span>";  // BVNR
+			if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");}
+			echo "</td>";
+			echo "\n\t<td>".$ba."</td>"; // Buchungsart entschluesselt
+			echo "\n\t<td>&nbsp;</td>"; // Anteil
+			$altlfdnr=$lfdnr;	
+		}		
+		//Sp. 4-7 aus Flurstueck
+		echo "\n\t<td><span class='key'>".$rowf["gemarkungsnummer"]."</span> ".$rowf["bezeichnung"]."</td>";
+		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");}
+		echo "</td>\n\t<td class='fla'>".$flae."</td>";
+
+		echo "\n\t<td><p class='nwlink noprint'>";
+		echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
+		if ($idanzeige) {echo "&amp;id=j";}
+		echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a></p></td>\n</tr>";
+
+		$j++;
+	} // Ende Flurstueck
+	return $j;
+}
+
+function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse) {
+	// Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben
+	// Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link
+	// Parameter:
+	//		$gmlid = ID des GB-Blattes
+	//		$mitadresse = Option (true/false) ob auch die Adresszeile ausgegeben werden soll
+	// Return = Anzahl Namensnummern
+	
+	// Schleife 1: N a m e n s n u m m e r
+	// Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt
+	
+	$sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
+	$sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
+	$sql.="FROM  ax_namensnummer   n ";
+	$sql.="JOIN  alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
+	$sql.="WHERE b.beziehung_zu='".$gmlid."' "; // id blatt
+	$sql.="AND   b.beziehungsart='istBestandteilVon' ";
+	$sql.="ORDER BY laufendenummernachdin1421;";
+	
+	$resn=pg_query($con, $sql);
+	if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
+
+	echo "<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
+	echo "\n<table class='eig'>";
+	$n=0; // Z.NamNum.
+
+	//echo "\n\n<!-- vor Schleife 1 Namensnummer -->";	
+	while($rown = pg_fetch_array($resn)) {
+		echo "\n<tr>";
+			echo "\n\t<td class='nanu' title='Namens-Nummer'><p>"; // Sp. 1
+				// VOR die Tabelle: "EigentÃŒmer"
+				$namnum=kurz_namnr($rown["lfd"]);
+				echo $namnum."&nbsp;";
+				if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");}
+			echo "</p></td>";
+
+			echo "\n\t<td>"; // Sp. 2
+			$rechtsg=$rown["adr"];
+			if ($rechtsg != "" ) {
+				if ($rechtsg == 9999) { // sonstiges
+					echo "<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";
+				} else {
+					echo "<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
+					// !! Feld /td und Zeile /tr nicht geschlossen
+					//	echo "\n\t</td>\n</tr>"; // !!! IMMER? oder nur wenn letzte Zeile?			
+				}
+			}
+			//if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST:
+		
+			//echo "\n\t\t</td>\n\t\t<td></td>\n</tr>";
+		
+			// Schleife Ebene 2: andere Namensnummern
+			// Beziehung   ax_namensnummer >bestehtAusRechtsverhaeltnissenZu>  ax_namensnummer 
+		
+			// Die Relation 'Namensnummer' besteht aus RechtsverhÃ€ltnissen zu 'Namensnummer' sagt aus, 
+			// dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehÃ¶ren kÃ¶nnen. 
+			// Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, 
+			// die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt.
+		
+			// Die Relation 'Namensnummer' hat VorgÃ€nger 'Namensnummer' gibt Auskunft darÃŒber, 
+			// aus welchen Namensnummern die aktuelle entstanden ist.
+	
+		// Schleife 2: P e r s o n  
+		// Beziehung: ax_person  <benennt<  ax_namensnummer
+		$sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
+		$sql.="FROM  ax_person p ";
+		$sql.="JOIN  alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
+		$sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num
+		$sql.="AND   v.beziehungsart='benennt';";
+		//echo "\n\t<p class='err'>Schleife Person SQL=<br>".$sql."</p>"; // test
+	
+		$rese=pg_query($con, $sql);
+		if (!$rese) {echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
+		$i=0; // Z.Eig.
+		//echo "\n<!-- vor Schleife 2 Person -->";		
+		while($rowe = pg_fetch_array($rese)) {
+			$diePerson="";
+			if ($rowe["akademischergrad"] <> "") {$diePerson=$rowe["akademischergrad"]." ";}
+			$diePerson.=$rowe["nachnameoderfirma"];
+			if ($rowe["vorname"] <> "") {$diePerson.=", ".$rowe["vorname"];}
+			if ($rowe["namensbestandteil"] <> "") {$diePerson.=". ".$rowe["namensbestandteil"];}
+			if ($rowe["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowe["geburtsdatum"];}
+			if ($rowe["geburtsname"] <> "") {$diePerson.=", geb. ".$rowe["geburtsname"];}
+			$diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
+	
+			// Spalte 1 enthÃ€lt die Namensnummer, nur in Zeile 0
+			if ($i > 0) {
+				echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>";
+			}
+			// Spalte 2 = Angaben
+			echo "<p class='geig' title='Eigent&uuml;merart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p></td>";
+
+			// Spalte 3 = Link
+			echo "\n\t<td><p class='nwlink noprint'>";
+				if ($idanzeige) {linkgml($gkz, $rowe["gml_id"], "Person"); echo "&nbsp";}
+				echo "<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowe[0];
+				if ($idanzeige) {echo "&amp;id=j";}
+				echo "' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>Person <img src='ico/Eigentuemer.ico' width='16' height='16' alt=''></a></p>";
+			echo "</td>\n</tr>";
+	
+			if ($mitadresse) {
+				// Schleife 3:  A d r e s s e  (OPTIONAL)
+				$sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
+				$sql.="FROM ax_anschrift a ";
+				$sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
+				$sql.="WHERE b.beziehung_von='".$rowe["gml_id"]."' ";
+				$sql.="AND b.beziehungsart='hat';"; // ORDER?
+
+				$resa=pg_query($con,$sql);
+				if (!$resa) {
+					echo "\n\t<p class='err'>Fehler bei Adressen.<br>\nSQL= ".$sql."</p>\n";
+				}
+				$j=0;
+				//echo "\n<!-- vor Schleife 3 Adresse -->";	
+				while($rowa = pg_fetch_array($resa)) {
+					$gmla=$rowa["gml_id"];
+					$plz=$rowa["plz"]; // integer
+					if($plz == 0) {
+						$plz="";
+					} else {
+						$plz=str_pad($plz, 5, "0", STR_PAD_LEFT);
+					}
+					$ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
+					$str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
+					$hsnr=$rowa["hausnummer"];
+					$land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
+
+					echo "\n<tr>\n\t<td>&nbsp;</td>"; // Spalte 1
+					echo "\n\t<td><p class='gadr'>"; //Spalte 2
+					if ($str.$hsnr != "") {
+						echo $str." ".$hsnr."<br>";
+					}
+					if ($plz.$ort != "") {
+						echo $plz." ".$ort;
+					}
+					if ($land != "" and $land != "DEUTSCHLAND") {
+						echo ", ".$land;
+					}
+					echo "</p></td>";
+					echo "\n\t<td>"; // Spalte 3
+					if ($idanzeige) {
+						echo "<p class='nwlink noprint'>";
+						linkgml($gkz, $gmla, "Adresse");
+						echo "</p>";
+					} else { 
+						echo "&nbsp;";					
+					}
+					echo "</td>\n</tr>";
+					$j++;
+				}
+				//echo "\n<!-- nach Schleife 3 Adresse -->";
+			} // if
+			// 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
+			$i++; // Z. Person
+
+			// als eigene Tab-Zeile?
+			// 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) 
+			// an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht).
+			if ($rown["zaehler"] != "") {
+				echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1
+				echo "\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p></td>";
+				echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3
+			}
+		}
+		//echo "\n<!-- nach Schleife 2 Person -->";	
+		
+		if ($i == 0) { // keine Pers zur NamNum
+			echo "\n<!-- Rechtsgemeinscahft='".$rechtsg."' -->";
+			// Wann warnen?
+			//if ($rechtsg != 9999) {
+				// Art der Rechtsgemeinsachft, 0 Eigent. ist Normal bei Sondereigentum
+				//echo "\n<tr>\n<td>";
+				//linkgml($gkz, $rown["gml_id"], "Namensnummer");
+				//echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>";
+			//}
+			echo "</td>\n\t<td>&nbsp;</td>\n<tr>";
+		}
+		$n++; // cnt NamNum	
+	} // End Loop NamNum
+	//echo "\n<!-- nach Schleife 1 Namensnummer -->";	
+	echo "\n</table>\n";	
+	return $n; 
+} // End Function eigentuemer
+
+// **  Functions  zum   E n t s c h l u e s s e l n  **
+
 // Entschluesslung ax_person.anrede
 function anrede($key) {
Index: /trunk/var/www/info/alkis/alkisnamstruk.php
===================================================================
--- /trunk/var/www/info/alkis/alkisnamstruk.php	(revision 40)
+++ /trunk/var/www/info/alkis/alkisnamstruk.php	(revision 41)
@@ -1,13 +1,15 @@
 <?php
-/*	alkisnamstruk.php
+/*	Modul: alkisnamstruk.php
+	Version:
+	30.08.2010	$style=ALKIS entfernt, alles Kompakt
+	02.09.2010  Mit Icons
+
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	Namens- und Adressdaten fuer einen Eigentuemer aus ALKIS PostNAS
 	Parameter:	&gkz= &gmlid=
-	Version:
-	26.01.2010	internet-Version  mit eigener conf
-	
-	ToDo:  Sortierung der Rundbücher zum Namen: 
-	z.B. Firma Vivacon Immobilien
-	ID= DENW17AL0000Y1hr 
+
+	ToDo:  
+	1. Sortierung der Grundbücher zum Namen
+	2. ID ein auch für Buchungsstelle
 */
 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
@@ -21,5 +23,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger">
+	<meta name="author" content="Frank Jaeger" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -28,4 +30,8 @@
 	<title>ALKIS Person und Adresse</title>
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Eigentuemer_2.ico">
+	<style type='text/css' media='print'>
+		.noprint { visibility: hidden;}
+	</style>
 </head>
 <body>
@@ -36,9 +42,11 @@
 $idanzeige=false;
 if ($id == "j") {$idanzeige=true;}
-$style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";
 $dbname = 'alkis05' . $gkz;
 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
-echo "<p class='nakennz'>Name id=".$gmlid."&nbsp;</p>\n";
-echo "\n<h2>Person</h2>\n";
+
+// Balken
+echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n";
+
+echo "\n<h2><img src='ico/Eigentuemer.ico' width='16' height='16' alt=''> Person</h2>\n";
 if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>\n";
 $sql="SELECT nachnameoderfirma, anrede, vorname, geburtsname, geburtsdatum, namensbestandteil, akademischergrad ";
@@ -64,5 +72,5 @@
 	
 	// A d r e s s e
-	echo "\n<h3>Adresse</h3>\n";
+	echo "\n<h3><img src='ico/Strasse_mit_Haus.ico' width='16' height='16' alt=''> Adresse</h3>\n";
 	$sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
 	$sql.="FROM   ax_anschrift a ";
@@ -97,5 +105,5 @@
 
 	// *** G R U N D B U C H ***
-	echo "\n<hr>\n<h3>Grundb&uuml;cher</h3>\n";
+	echo "\n<hr>\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundb&uuml;cher</h3>\n";
 	// person <benennt< namensnummer >istBestandteilVon>                Buchungsblatt
 	//                               >bestehtAusRechtsverhaeltnissenZu> namensnummer   (Nebenzweig/Sonderfälle?)
@@ -138,7 +146,8 @@
 
 			echo "\n\t<td class='gbl'>";
-				echo "<p class='nwlink noprint'><a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."&amp;style=".$style;
-				if ($idanzeige) { echo "&amp;id=j";}
-				echo "' title='Bestandsnachweis'>GB-Nachw.</a></p>";
+				echo "<p class='nwlink noprint'>";
+					echo "<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg;
+						if ($idanzeige) { echo "&amp;id=j";}
+						echo "' title='Bestandsnachweis'>Grundbuch-Blatt <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a></p>";
 				if ($idanzeige) {
 					linkgml($gkz, $gmlg, "Grundbuchblatt");
@@ -155,5 +164,5 @@
 	if ($i == 0) {echo "\n<p class='err'>Kein Grundbuch.</p>\n";}
 } else {
-	echo "\n\t<p class='err'>Fehler! Kein Treffer f&uuml;r\n\t<a target='_blank' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;style=".$style."'>".$gmlid."</a>\n</p>\n\n";
+	echo "\n\t<p class='err'>Fehler! Kein Treffer f&uuml;r\n\t<a target='_blank' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid."'>".$gmlid."</a>\n</p>\n\n";
 }
 ?>
@@ -167,5 +176,5 @@
 </form>
 
-<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, $style); ?>
+<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, ""); ?>
 
 </body>
Index: /trunk/var/www/info/alkis/alkisgebaeudenw.php
===================================================================
--- /trunk/var/www/info/alkis/alkisgebaeudenw.php	(revision 40)
+++ /trunk/var/www/info/alkis/alkisgebaeudenw.php	(revision 41)
@@ -1,23 +1,20 @@
 <?php
-/*	alkisfsnw.php
+/*	alkisgebaeudenw.php - Gebaeudenachweis
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
-	Flurstücksnachweis fuer ein Flurstückskennzeichen aus ALKIS PostNAS
 	Parameter:	&gkz= &gmlid= &eig=j/n
 	Version:
-	26.01.2010	internet-Version  mit eigener conf
-
-	ToDo: NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum
-
+	27.08.2010 von WhereGroup uebernommen
+	31.08.2010 Link zum FS-NW, Lage
+	01.09.2010 RLP-Daten: keine Relation Nebengebaeude->LagePseudonummer
+					Spalte lfd.-Nr raus wegen Verwechslungsgefhr mit lfd-Nr.-Nebengebaeuude
+	02.09.2010  Mit Icons
 */
 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
 session_start();
 // Bindung an Mapbender-Authentifizierung
-#require_once("/data/mapwww/http/php/mb_validateSession.php");
-#require_once("/data/conf/alkis_www_conf.php");
-
-#AE 
-require_once(dirname(__FILE__)."/../../../php/mb_validateSession.php");
-require_once(dirname(__FILE__)."/../../../../conf/alkis_www_conf.php");
-
+require_once("/data/mapwww/http/php/mb_validateSession.php");
+require_once("/data/conf/alkis_www_conf.php");
+#require_once(dirname(__FILE__)."/../../../../php/mb_validateSession.php");
+#require_once(dirname(__FILE__)."/../../../../conf/alkis_conf.php");
 include("alkisfkt.php");
 ?>
@@ -25,5 +22,5 @@
 <html>
 <head>
-	<meta name="author" content="F. Jaeger">
+	<meta name="author" content="Frank Jaeger" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -32,4 +29,5 @@
 	<title>ALKIS Geb&auml;udenachweis</title>
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Haus.ico">
 	<style type='text/css' media='print'>
 		.noprint { visibility: hidden;}
@@ -40,5 +38,4 @@
 $gkz=urldecode($_REQUEST["gkz"]);
 $gmlid=urldecode($_REQUEST["gmlid"]);
-$eig=urldecode($_REQUEST["eig"]);
 $id = isset($_GET["id"]) ? $_GET["id"] : "n";
 $idanzeige=false;
@@ -48,83 +45,191 @@
 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
 
-// Gebaeude
-$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, ";
-$sql.="round(area(g.wkb_geometry)::numeric,2) as flaeche, g.description, g.bauweise, g.gebaeudefunktion, ";
-$sql.="h.bauweise_id, h.bauweise_beschreibung ";
-$sql.="FROM ax_flurstueck f, ax_gebaeude g LEFT JOIN ax_bauweise_gebaeude h ON g.bauweise = h.bauweise_id ";
-$sql.="WHERE f.gml_id='".$gmlid."' ";
-$sql.="and within(g.wkb_geometry,f.wkb_geometry) = true order by flaeche DESC;";
-
-// echo $sql;
-$res=pg_query($con,$sql);
-if (!$res) echo "\n<p class='err'>Fehler bei Flurstuecksdaten\n<br>".$sql."</p>\n";
-if ($row = pg_fetch_array($res)) {
-	$gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
-	#$gmkgnr=$row["gemarkungsnummer"];
-	$flurnummer=$row["flurnummer"];
-	$flstnummer=$row["zaehler"];
-	$nenner=$row["nenner"];
+// Flurstueck
+$sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, ";
+$sqlf.="g.gemarkungsnummer, g.bezeichnung ";
+$sqlf.="FROM ax_flurstueck f ";
+$sqlf.="JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+$sqlf.="WHERE f.gml_id='".$gmlid."';";
+$resf=pg_query($con,$sqlf);
+if (!$resf) echo "\n<p class='err'>Fehler bei Flurst&uuml;cksdaten\n<br>".$sqlf."</p>\n";
+if ($rowf = pg_fetch_array($resf)) {
+	$gemkname=htmlentities($rowf["bezeichnung"], ENT_QUOTES, "UTF-8");
+	$gmkgnr=$rowf["gemarkungsnummer"];
+	$flurnummer=$rowf["flurnummer"];
+	$flstnummer=$rowf["zaehler"];
+	$nenner=$rowf["nenner"];
 	if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr
-	$flstflaeche = $row["amtlicheflaeche"] ;
-	$gesamtflaechegebaeude =  $row["flaeche"];
-	$flstflaeche_minus_gesamtflaechegebaeude = 0;
-	
-	while($row = pg_fetch_array($res)) {
-		$gesamtflaechegebaeude = $gesamtflaechegebaeude + $row["flaeche"];
-	}
-	$flstflaeche_minus_gesamtflaechegebaeude = number_format(($flstflaeche - $gesamtflaechegebaeude),0,",",".") . " m&#178;";
-	$flstflaeche = number_format($flstflaeche,0,",",".") . " m&#178;";
-	$gesamtflaechegebaeude =  number_format($gesamtflaechegebaeude,0,",",".") . " m&#178;";
-	
-} else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;}
-if ($eig=="j") {
-	echo "<p class='fsei'>Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
-	echo "\n<h2>ALKIS Geb&auml;udenachweis</h2>\n";
+	$flstflaeche = $rowf["amtlicheflaeche"] ;
+} else {
+	echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>";
 }
-else {
-	echo "<p class='fskennz'>Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
-	echo "\n<h2>ALKIS Flurst&uuml;cksnachweis</h2>\n";
-}
+
+// Balken
+echo "<p class='geb'>ALKIS Flurst&uuml;ck (Geb&auml;ude) ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
+
+echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck (Geb&auml;ude)</h2>\n";
+
+// Kennzeichen in Rahmen
 echo "\n<table class='outer'>\n<tr>\n<td>";
-
-	echo "\n\t<table class='kennz' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
-		echo "\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
-		echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
-		echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>".$flstnummer."</td>\n\t</tr>";
-	echo "\n\t</table>\n";
-	echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flstflaeche."</b></p>\n";
-	echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che abz&uuml;glich Geb&auml;udefl&auml;che: <b>".$flstflaeche_minus_gesamtflaechegebaeude."</b></p>\n";
-	echo "\n<p class='fsd'>Gesamtfl&auml;che Geb&auml;ude: <b>".$gesamtflaechegebaeude."</b></p>\n";
-	
-	
-echo "</td>\n<td>";
-
+	echo "\n\t<table class='kennz' title='Flurst&uuml;ckskennzeichen'>";
+		echo "\n\t<tr>";
+			echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>";
+		echo "\n\t</tr>";
+		echo "\n\t<tr>";
+			echo "\n\t\t<td title='Gemarkung'><span class='key'>".$gmkgnr."</span><br>".$gemkname."</td>";
+			echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
+			echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>";
+		echo "\n\t</tr>";
+	echo "\n\t</table>";
+echo "\n</td>\n<td>";
+
+// Links zu anderen Nachweisen
+echo "\n\t<p class='nwlink noprint'>";
+	echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
+	if ($idanzeige) {echo "&amp;id=j";}
+	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"); }
 echo "\n\t</td>\n</tr>\n</table>";
 // Ende Seitenkopf
 
-echo "\n<h2>Auflistung der Geb&auml;ude</h2>";
-
-	$res=pg_query($con,$sql);
-	if (!$res) echo "\n<p class='err'>Keine Geb&auml;ude.<br>\nSQL= ".$sql."</p>\n";
-	$gebnr=0;
-	echo "\n<hr>\n<table class='outer'>\n<tr>\n"; // link *neben* GB-Rahmen
-	echo "\n\t\t<td class='head'>Lfd. Nr.</td>";
-	echo "\n\t\t<td class='head'>Fl&auml;che</td>";
-	echo "\n\t\t<td class='head'>Geb&auml;udefunktion</td>";
-	echo "\n\t\t<td class='head'>Bauweise</td>";
-	echo "\n\t\t<td class='head'>Beschreibung</td>\n\t\t</tr>";
-	while($row = pg_fetch_array($res)) {
+echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".number_format($flstflaeche,0,",",".") . " m&#178;</b></p>";
+
+echo "\n\n<h3><img src='ico/Haus.ico' width='16' height='16' alt=''> Geb&auml;ude</h3>";
+echo "\n<p>.. auf oder an dem Flurst&uuml;ck. Ermittelt durch Verschneidung der Geometrie.</p>";
+
+// G e b a e u d e
+$sqlg ="SELECT g.gml_id, g.name, g.description, g.bauweise, g.gebaeudefunktion, ";
+$sqlg.=" h.bauweise_beschreibung, u.bezeichner, v.beziehungsart, v.beziehung_zu, l.hausnummer, ";
+
+// Gebaeudeflaeche komplett auch ausserhalb des FS
+$sqlg.="round(area(g.wkb_geometry)::numeric,2) AS gebflae, ";
+
+// wie viel vom GEB liegt im FS?
+$sqlg.="round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae, ";
+
+// liegt das GEB komplett im FS?
+$sqlg.="st_within(g.wkb_geometry,f.wkb_geometry) as drin ";
+
+// FS und GEB geometrisch verschneiden
+$sqlg.="FROM ax_flurstueck f, ax_gebaeude g ";
+
+// Entschluesseln
+$sqlg.="LEFT JOIN ax_bauweise_gebaeude h ON g.bauweise = h.bauweise_id ";
+$sqlg.="LEFT JOIN ax_gebaeude_gebaeudefunktion u ON g.gebaeudefunktion = u.wert ";
+
+// Beziehungen verfolgen (holt die Hausnummer)
+$sqlg.="LEFT JOIN alkis_beziehungen v ON g.gml_id=v.beziehung_von "; 
+$sqlg.="LEFT JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id ";
+
+// auch die Nebengebaeude-Pseudo-Nummern suchen?
+// $sqlg.="LEFT JOIN ax_lagebezeichnungmitpseudonummer p ON v.beziehung_zu=p.gml_id ";
+
+// ID des aktuellen FS
+$sqlg.="WHERE f.gml_id='".$gmlid."' "; 
+
+// ALT: "within" liefert nur Gebaeude, die komplett im Flurstueck liegen
+//$sqlg.="AND within(g.wkb_geometry,f.wkb_geometry) = true ";
+
+// "intersects" liefert ueberlappende Flaechen
+$sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true ";
+
+// RLP: keine Relationen zu Nebengebaeuden:
+// auf Qualifizierung verzichten, sonst werden NebengebÃ€ude nicht angezeigt
+	//$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') ";
+
+$sqlg.="ORDER BY schnittflae DESC;";
+
+// Problem: HsNr ist linksbuedig Char:
+//$sqlg.="ORDER BY hausnummer, flaeche DESC;";  
+
+// ax_gebaeude  (zeigtAuf) ax_LagebezeichnungMitHausnummer    (HauptgebÃ€ude)
+// ax_gebaeude  (hat)      ax_LagebezeichnungMitPseudonummer  (NebengebÃ€ude)
+$resg=pg_query($con,$sqlg);
+if (!$resg) {
+	echo "\n<p class='err'>Keine Geb&auml;ude ermittelt.<br>\nSQL=<br></p>\n";
+	echo "\n<p class='err'>".$sqlg."</p>\n";
+}
+
+$gebnr=0;
+echo "\n<hr>\n<table class='geb'>";
+	// Header
+	echo "\n<tr>\n";
+		//echo "\n\t<td class='head' title='laufende Nummer'>Lfd. Nr.</td>"; // 1
+		echo "\n\t<td class='head' title='ggf. Hausnummer und/oder Geb&auml;udename'>Nr/Name</td>"; // 2
+		echo "\n\t<td class='head fla' title='Schnittsfl&auml;che'>Fl&auml;che</td>"; // 3
+		echo "\n\t<td class='head' title='Geb&auml;udefl&auml;che'>&nbsp;</td>";
+		echo "\n\t<td class='head' title='Geb&auml;udefunktion ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'>Funktion</td>";
+		echo "\n\t<td class='head' title='Bauweise (Schl&uuml;ssel und Beschreibung)'>Bauweise</td>"; // 5
+		echo "\n\t<td class='head nwlink' title='Typ von .. und Link zur Lagebezeichnung'>Lage</td>"; // 6
+	echo "\n</tr>";
+	// Body
+	while($rowg = pg_fetch_array($resg)) {
 		$gebnr = $gebnr + 1;
-		echo "\n\t<tr>";
-		echo "\n\t\t<td title='Nr'>".$gebnr."</td>";
-		echo "\n\t\t<td title='Fl&auml;che'>".$row["flaeche"]. " m&#178;". "</td>";
-		echo "\n\t\t<td title='Geb&auml;udefunktion'>".$row["gebaeudefunktion"]. "</td>";
-		echo "\n\t\t<td title='Bauweise'>".$row["bauweise_beschreibung"]. "</td>";
-		echo "\n\t\t<td title='Beschreibung'>".$row["description"]. "</td>";
-		echo "\n\t</tr>\n\t";
+		$gebflsum = $gebflsum + $rowg["schnittflae"];		
+		echo "\n<tr>";
+			//echo "\n\t<td>".$gebnr."</td>"; // 1
+			echo "\n\t<td>".$rowg["hausnummer"]."&nbsp;".$rowg["name"];
+				if ($idanzeige) {
+					linkgml($gkz, $rowg["gml_id"], "Geb&auml;ude");
+				}	
+			echo "</td>"; // 2
+			if ($rowg["drin"] == "t") { // 3 komplett enthalten
+				echo "\n\t<td class='fla'>".$rowg["schnittflae"]." m&#178;</td>"; 
+				echo "\n\t<td>&nbsp;</td>";
+			} else {
+	       	if ($rowg["schnittflae"] == "0.00") { // angrenzend
+					echo "\n\t<td class='fla'>&nbsp;</td>";
+					echo "\n\t<td>angrenzend</td>";
+				} else { // Teile enthalten
+					echo "\n\t<td class='fla'>".$rowg["schnittflae"]." m&#178;</td>";
+					echo "\n\t<td>(von ".$rowg["gebflae"]." m&#178;)</td>";
+				}
+			}
+			echo "\n\t<td><span class='key'>".$rowg["gebaeudefunktion"]."</span>&nbsp;".$rowg["bezeichner"]."</td>"; // 4
+			echo "\n\t<td><span class='key'>".$rowg["bauweise"]."</span>&nbsp;".$rowg["bauweise_beschreibung"]."</td>"; // 5
+			echo "\n\t<td class='nwlink noprint'>";
+			$bezieh=$rowg["beziehungsart"];		
+			if (!$bezieh == "" ) {
+				switch ($bezieh) {
+					case "hat":			// *P*seudonummer
+						echo "\n\t\t<a title='Lagebezeichnung' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$rowg["beziehung_zu"]."&amp;ltyp=p'>lfd-Nr</a>";
+						break;
+					case "zeigtAuf":	// *M*it HausNr
+						echo "\n\t\t<a title='Lagebezeichnung' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$rowg["beziehung_zu"]."&amp;ltyp=m'>Haus-Nr</a>";
+						break;
+					default:
+						echo "<p>unbekannte Beziehungsart ".$bezieh."</p>";
+						break;
+				}
+			}			
+			echo "\n\t</td>";
+		echo "\n</tr>";
 	}
-	echo "</table>";
+// Footer
+	if ($gebnr == 0) {
+		echo "\n</table>";
+		echo "<p class='err'><br>Keine Geb&auml;ude auf diesem Flurst&uuml;ck.<br>&nbsp;</p>";
+	} else {
+		echo "\n<tr>";
+			echo "\n\t<td>Summe:</td>"; // 1
+			echo "\n\t<td class='fla sum'>".number_format($gebflsum,0,",",".")."&nbsp;&nbsp;&nbsp;&nbsp;m&#178;</td>";
+			echo "\n\t<td>&nbsp;</td>"; // 3
+			echo "\n\t<td>&nbsp;</td>"; // 4
+			echo "\n\t<td>&nbsp;</td>"; // 5
+			echo "\n\t<td>&nbsp;</td>"; // 6
+		echo "\n</tr>";
+	echo "\n</table>";
+	$unbebaut = number_format(($flstflaeche - $gebflsum),0,",",".") . " m&#178;";
+	echo "\n<p>Flurst&uuml;cksfl&auml;che abz&uuml;glich Geb&auml;udefl&auml;che: <b>".$unbebaut."</b></p>";
+}
+
+// Diese Berechnung beruht auf der Annahme, dass alle gefundenen Gebaeude vollstaendig innerhalb
+// des Flurstuecks liegen. Fehler bei GebÃ€uden auf der Grenze.
+
+//echo "\n<p class='err'>".$sqlg."</p>\n";
+
 ?>
-
 <form action=''>
 	<div class='buttonbereich noprint'>
@@ -136,5 +241,5 @@
 </form>
 
-<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl,$style); ?>
+<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, ""); ?>
 
 </body>
Index: /trunk/var/www/info/alkis/alkislage.php
===================================================================
--- /trunk/var/www/info/alkis/alkislage.php	(revision 41)
+++ /trunk/var/www/info/alkis/alkislage.php	(revision 41)
@@ -0,0 +1,385 @@
+<?php
+/*	alkislage.php
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Kann die 3 Arten von Lagebezeichnung anzeigen und verbundene Objekte verlinken
+	Parameter:	&gkz= &gmlid=
+	Version:
+		01.09.2010 Neu!
+		02.09.2010  Mit Icons
+*/
+ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
+session_start();
+// Bindung an Mapbender-Authentifizierung
+require_once("/data/mapwww/http/php/mb_validateSession.php");
+require_once("/data/conf/alkis_conf.php");
+include("alkisfkt.php");
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="Frank Jaeger" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Lagebezeichnung</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Lage_mit_Haus.ico">
+	<style type='text/css' media='print'>
+		.noprint { visibility: hidden;}
+	</style>
+</head>
+<body>
+<?php
+$gkz=urldecode($_REQUEST["gkz"]);
+$gmlid=urldecode($_REQUEST["gmlid"]);
+$ltyp=urldecode($_REQUEST["ltyp"]); // 3 Arten Lage-Typ
+switch ($ltyp) {
+	case "m": // "Mit HsNr"     = Hauptgebaeude
+		$tnam = "ax_lagebezeichnungmithausnummer";
+	break;
+	case "p": // "mit PseudoNr" = Nebengebaeude
+		$tnam = "ax_lagebezeichnungmitpseudonummer";
+	break;
+	case "o": //"Ohne HsNr"    = Gewanne oder Strasse
+		$tnam = "ax_lagebezeichnungohnehausnummer";
+	break;
+	default:
+		$ltyp = "m";
+		$tnam = "ax_lagebezeichnungmithausnummer";
+	break;
+}
+$id = isset($_GET["id"]) ? $_GET["id"] : "n";
+$idanzeige=false;
+if ($id == "j") {$idanzeige=true;}
+$dbname = 'alkis05' . $gkz;
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+
+// Lagebezeichnung
+$sql ="SELECT s.bezeichnung AS snam, g.bezeichnung AS gnam, l.land, l.regierungsbezirk, l.kreis, l.gemeinde, l.lage, ";
+switch ($ltyp) {
+	case "m": // "Mit HsNr"
+		$sql.="l.hausnummer ";
+	break;
+	case "p": // "mit PseudoNr"
+		$sql.="l.pseudonummer, l.laufendenummer ";
+	break;
+	case "o": //"Ohne HsNr"
+		$sql.="l.unverschluesselt ";
+	break;
+}
+$sql.="FROM ".$tnam." l ";
+
+// Gemeinde entschluesseln
+$sql.="LEFT JOIN  ax_gemeinde g ";
+$sql.="ON l.kreis=g.kreis AND l.gemeinde=g.gemeinde ";
+
+// Strasse entschluesseln
+$sql.="LEFT JOIN  ax_lagebezeichnungkatalogeintrag s ";
+// Besonderheit: unterschiedliche Feldformate und Fuellungen!!!
+
+switch ($ltyp) {
+	case "o": //"Ohne HsNr"
+		// hier beide .lage als Char(5)
+		//  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen
+		//  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen
+		$sql.="ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=trim(leading '0' from s.lage) ";
+	break;
+	default: // "Mit HsNr" + "mit PseudoNr"
+		// ax_LagebezeichnungKatalogeintrag.lage   ist char,
+		// ax_LagebezeichnungMitHausnummer.lage    ist integer,
+		// ax_lagebezeichnungMitPseudonummer.lage  ist integer,
+		$sql.="ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage ";
+	break;
+}
+
+$sql.="WHERE l.gml_id='".$gmlid."';";
+
+$res=pg_query($con,$sql);
+if (!$res) echo "\n<p class='err'>Fehler bei Lagebezeichnung\n<br>".$sql."</p>\n";
+
+if ($row = pg_fetch_array($res)) {	
+	$land =$row["land"];
+	$regbez=$row["regierungsbezirk"];
+	$kreis=$row["kreis"];
+	$gem  =$row["gemeinde"];
+	$gnam =$row["gnam"];
+	$lage =$row["lage"]; // Strassenschluessel
+	$snam =$row["snam"]; //Strassennamen
+	$unver=$row["unverschluesselt"]; // Gewanne
+	$kennz=$land."-".$regbez."-".$kreis."-".$gem."-".$lage."-";	
+
+	switch ($ltyp) {
+		case "m": // "Mit HsNr"
+			$hsnr=$row["hausnummer"];
+			$kennz.=$hsnr;
+			$untertitel="Hauptgeb&auml;ude mit Hausnummer";			
+			// Balken
+			echo "<p class='geb'>ALKIS Lagebezeichnung mit Hausnummer ".$kennz."&nbsp;</p>\n"; // Balken
+		break;
+		case "p": // "mit PseudoNr"
+			$pseu=$row["pseudonummer"];
+			$lfd=$row["laufendenummer"];
+			$kennz.=$pseu."-".$lfd;
+			$untertitel="NebengebÃ€ude mit laufender Nummer";			
+			// Balken			
+			echo "<p class='geb'>ALKIS Lagebezeichnung mit Pseudonummer ".$kennz."&nbsp;</p>\n"; // Balken
+		break;
+		case "o": //"Ohne HsNr"
+			if ($lage == "") {
+				$kennz=" - ".$unver;
+			} else {
+				$kennz.=$unver;				
+			}
+			$untertitel="Stra&szlig;e ohne Hausnummer und/oder Gewanne (unverschl&uuml;sselte Lage)";			
+			// Balken			
+			echo "<p class='geb'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz."&nbsp;</p>\n"; // Balken
+		break;
+	}
+
+} else {
+	echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>";
+}
+
+echo "\n<h2><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Lagebezeichnung</h2>\n";
+
+echo "<p>Typ: ".$untertitel."</p>";
+
+echo "\n<table class='outer'>\n<tr>\n\t<td>";
+	// Tabelle Kennzeichen
+	// ToDo: !! kleiner, wenn ltyp=0 und die Schluesselfelder leer sind
+	echo "\n\t<table class='kennz' title='Lage'>";
+		echo "\n\t<tr>";
+			echo "\n\t\t<td class='head'>Land</td>";
+			echo "\n\t\t<td class='head'>Reg.-Bez.</td>";
+			echo "\n\t\t<td class='head'>Kreis</td>";
+			echo "\n\t\t<td class='head'>Gemeinde</td>";
+			echo "\n\t\t<td class='head'>Stra&szlig;e</td>";
+			switch ($ltyp) {
+				case "m": // "Mit HsNr"
+					echo "\n\t\t<td class='head'>Haus-Nr</td>";
+				break;
+				case "p": // "mit PseudoNr"
+					echo "\n\t\t<td class='head'>Haus-Nr</td>";
+					echo "\n\t\t<td class='head'>lfd.-Nr</td>";	
+				break;
+				case "o": //"Ohne HsNr"
+					echo "\n\t\t<td class='head'>unverschl&uuml;sselte Lage</td>";
+				break;
+			}
+		echo "\n\t</tr>";
+		echo "\n\t<tr>";
+			echo "\n\t\t<td title='Bundesland'>".$land."</td>";
+			echo "\n\t\t<td title='Regierungsbezirk'>".$regbez."</td>";
+			echo "\n\t\t<td title='Kreis'>".$kreis."</td>";
+			echo "\n\t\t<td title='Gemeinde'><span class='key'>".$gem."</span><br>".$gnam."</td>";
+			echo "\n\t\t<td title='Stra&szlig;e'><span class='key'>".$lage."</span><br>".$snam."</td>";
+			switch ($ltyp) {
+				case "m":
+					echo "\n\t\t<td title='Hausnummer und Zusatz'><span class='wichtig'>".$hsnr."</span></td>";
+				break;
+				case "p":
+					echo "\n\t\t<td title='Pseudonummer - Nebengeb&auml;ude zu dieser Hausnummer'>".$pseu."</td>";
+					echo "\n\t\t<td title='Laufende Nummer Nebengeb&auml;ude'><span class='wichtig'>".$lfd."</span></td>";
+				break;
+				case "o":
+					echo "\n\t\t<td title='Gewanne'><span class='wichtig'>".$unver."</span></td>";
+				break;
+			}
+		echo "\n\t</tr>";
+	echo "\n\t</table>";
+
+	echo "\n\t</td>\n\t<td>";
+
+	// Kopf Rechts: weitere Daten?
+	// z.B. hier Ausgabe von "georeferenzierte GebÃ€udeadresse" ?	
+	if ($idanzeige) { linkgml($gkz, $gmlid, "Lage"); }
+
+echo "\n\t</td>\n</tr>\n</table>";
+// Ende Seitenkopf
+
+// F L U R S T U E C K E
+if ($ltyp <> "p") { // Pseudonummer linkt nur GebÃ€ude
+	echo "\n\n<a name='fs'><h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>\n";
+	echo "\n<p>mit dieser Lagebezeichnung.</p>";
+	// ax_Flurstueck  >weistAuf>  ax_LagebezeichnungMitHausnummer
+	// ax_Flurstueck  >zeigtAuf>  ax_LagebezeichnungOhneHausnummer
+	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.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche ";
+	$sql.="FROM ax_gemarkung g ";
+	$sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+	$sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; 
+	$sql.="WHERE v.beziehung_zu='".$gmlid."' "; // id Lage
+	$sql.="AND v.beziehungsart='".$bezart."' ";
+	$sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
+
+	$resf=pg_query($con,$sql);
+	if (!$resf) {echo "<p class='err'>Fehler bei Flurst&uuml;ck<br><br>".$sql."</p>\n";}
+
+	echo "\n<table class='fs'>";
+	echo "\n<tr>"; // Kopfzeile der Tabelle
+		echo "\n\t<td class='head'>Gemarkung</td>";
+		echo "\n\t<td class='head'>Flur</td>";
+		echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>Flurst.</td>";
+		echo "\n\t<td class='head fla'>Fl&auml;che</td>";
+		echo "\n\t<td class='head nwlink' title='Link: weitere Auskunft'>weit. Auskunft</td>";
+	echo "\n</tr>";
+	$j=0;
+	while($rowf = pg_fetch_array($resf)) {
+		if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);}
+		$flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
+		$flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
+		$fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);
+		echo "\n<tr>";
+			echo "\n\t<td><span class='key'>".$rowf["gemarkungsnummer"]."</span> ".$rowf["bezeichnung"]."</td>";
+			echo "\n\t<td>".$flur."</td>";
+			echo "\n\t<td>".$fskenn;
+			if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck");}
+			echo "</td>\n\t<td class='fla'>".$flae."</td>";
+			echo "\n\t<td><p class='nwlink noprint'>";
+			echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
+			if ($idanzeige) {echo "&amp;id=j";}
+			echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a></p></td>";
+		echo "\n</tr>";
+		$j++;
+	}
+	echo "\n</table>";
+}
+
+// L A G E
+// andere Lage mit gleicher Hausnummer suchen
+if ($ltyp <> "o") { // nicht bei Gewanne (Ohne HsNr)
+	echo "\n\n<a name='lage'></a><h3><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Lage</h3>\n";
+	echo "\n<p>andere Lagebezeichnungen zur gleichen Hausnummer.</p>";
+	$whereclaus="WHERE land='".$land."' AND regierungsbezirk='".$regbez."' AND kreis='".$kreis."' AND gemeinde='".$gem."' AND lage=".$lage." ";
+	$url=$self."gkz=".$gkz."&amp;id=".$id."&amp;gmlid="; // Basis
+
+	switch ($ltyp) {
+		case "m": // aktuell Hausnummer gefunden
+			// dazu alle NebengebÃ€ude suchen
+			echo "<p>Nebengeb&auml;ude: ";
+			$sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l ";
+			$sql.=$whereclaus."AND lage=".$lage." AND pseudonummer='".$hsnr."' ORDER BY laufendenummer;";
+		// pseudonummer character varying(5), laufendenummer character varying(2),
+			$res=pg_query($con,$sql);
+			if (!$res) echo "<p class='err'>Fehler bei Nebengeb&auml;ude.<br>".$sql."</p>\n";
+			while($row = pg_fetch_array($res)) {
+				echo "<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;";
+			}
+			echo "</p>";
+		break;
+
+		case "p": // aktuell NebengebÃ€ude: Haupt- und NebengebÃ€ude suchen
+			echo "<p>Hauptgeb&auml;ude: ";
+			$sql ="SELECT l.gml_id FROM ax_lagebezeichnungmithausnummer l ";
+			$sql.=$whereclaus."AND hausnummer='".$pseu."';";
+			$res=pg_query($con,$sql);
+			if (!$res) echo "<p class='err'>Fehler bei Hauptgeb&auml;ude.<br>".$sql."</p>\n";
+			while($row = pg_fetch_array($res)) {
+				echo "<a href='".$url.$row["gml_id"]."&amp;ltyp=m'>Haus-Nr ".$pseu."</a>&nbsp;&nbsp;";
+			}
+			echo "</p>";
+
+			echo "<p>weitere Nebengeb&auml;ude: ";
+			$sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l ";
+			$sql.=$whereclaus."AND pseudonummer='".$pseu."' AND laufendenummer <> '".$lfd."' ORDER BY laufendenummer;";
+			$res=pg_query($con,$sql);
+			if (!$res) echo "<p class='err'>Fehler bei Nebengeb&auml;ude.<br>".$sql."</p>\n";
+			while($row = pg_fetch_array($res)) {
+				echo "<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;";
+			}
+			echo "</p>";
+		break;
+	}
+}
+
+// G E B A E U D E
+
+// Mittelfristig ist zu ueberlegen, ob hier weitere Einzelheiten dargestellt werden,
+// oder ob nicht besser ein eigenes Modul alkisgebaeude.php dies uebernehmen sollte.
+// Dort sollten auch diese Relationen abgebildet werden:
+//  ax_gebaeude >gehoertZu> ax_gebaeude  (ringfÃ¶rmige Verbindung GebÃ€udekomplex)
+//  ax_gebaeude (umschliesst) ax_bauteil
+//  ax_gebaeude >gehoert> ax_person  (Ausnahme)
+
+if ($ltyp <> "o") { // OhneHsNr linkt nur Flurst.
+	echo "\n\n<a name='geb'><h3><img src='ico/Haus.ico' width='16' height='16' alt=''> Geb&auml;ude</h3>";
+	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.description, g.name, g.lagezurerdoberflaeche, g.bauweise, g.anzahlderoberirdischengeschosse, g.grundflaeche, g.individualname, 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_bauweise_gebaeude h ON g.bauweise = h.bauweise_id ";
+	$sql.="LEFT JOIN ax_gebaeude_gebaeudefunktion u ON g.gebaeudefunktion = u.wert ";
+	$sql.="WHERE v.beziehung_zu='".$gmlid."' ";
+	$sql.="AND   v.beziehungsart='".$bezart."' ;";
+	$res=pg_query($con,$sql);
+	if (!$res) echo "<p class='err'>Fehler bei Gebaeude.<br>".$sql."</p>\n";
+	$i=0;
+	while($row = pg_fetch_array($res)) { // Only You!
+		echo "<p>";
+			if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Geb&auml;ude");}		
+		echo "</p>";
+		echo "\n<table>";
+			echo "\n\t<tr><td>Geometrische Fl&auml;che:</td><td>".$row["flaeche"]." m&#178;</td></tr>";			
+			echo "\n\t<tr><td>Funktion:</td><td><span class='key'>".$row["gebaeudefunktion"]."</span> ".$row["bezeichner"]."</td></tr>"; // integer
+			if (!$row["description"] == "") {
+				echo "\n\t<tr><td>Beschreibung:</td><td>".$row["description"]."</td></tr>"; // integer - EntschlÃŒsseln!
+			}			
+			if (!$row["name"] == "") {
+				echo "\n\t<tr><td>Name:</td><td>".$row["name"]."</td></tr>"; // char(25)
+			}
+			if (!$row["lagezurerdoberflaeche"] == "") {
+				echo "\n\t<tr><td>Lage zur Erdoberfl&auml;che:</td><td>".$row["lagezurerdoberflaeche"]."</td></tr>";
+			} // integer - EntschlÃŒsseln!
+			if (!$row["bauweise"] == "") {
+				echo "\n\t<tr><td>Bauweise:</td><td><span class='key'>".$row["bauweise"]."</span> ".$row["bauweise_beschreibung"]."</td></tr>"; // integer
+			}			
+			if (!$row["anzahlderoberirdischengeschosse"] == "") {
+				echo "\n\t<tr><td>Anz. der oberird. Geschosse:</td><td>".$row["anzahlderoberirdischengeschosse"]."</td></tr>"; //
+			}				
+			if (!$row["grundflaeche"] == "") {
+				echo "\n\t<tr><td>Grundfl&auml;che:</td><td>".$row["grundflaeche"]."</td></tr>"; // integer
+			}
+			if (!$row["individualname"] == "") {			
+				echo "\n\t<tr><td>Individualname:</td><td>".$row["individualname"]."</td></tr>"; // char(7)
+			}
+			if (!$row["zustand"] == "") {
+				echo "\n\t<tr><td>Zustand:</td><td>".$row["zustand"]."</td></tr>"; // integer
+			}		
+		echo "\n</table>";
+	}
+}
+
+?>
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
+		<input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
+		<input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
+	</div>
+</form>
+
+<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "&amp;ltyp=".$ltyp ); ?>
+
+</body>
+</html>
+
