Changeset 377 for trunk


Ignore:
Timestamp:
12/05/16 10:57:00 (3 years ago)
Author:
frank.jaeger
Message:

ALKIS-Auskunft: in info/alkis/ den Stand 372 wieder hergestellt (Versionen aus "alkisn" versehendlich dort hoch geladen).
In info/alkisn/ Nachbesserungen an Gebäude-Name und Nutzungsart.

Location:
trunk/info/info
Files:
32 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkis/alkis_conf_location.php

    r376 r377  
    22/*      ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    33        Pfad zur Konfigurationsdatei der ALKIS-Auskunft. 
    4         Die Conf-Datei sollte aus Sicherheitsgruenden nicht unterhalb des Web-Root-Verzeichnisses liegen. 
     4        Die Conf-Datei sollte aus SicherheitsgrÃŒnden nicht unterhalb des Web-Root-Verzeichnisses liegen. 
    55 
    66        Version: 
    7         2016-02-23 Version fuer norGIS-ALKIS-Import, keine PostNAS-Versionsnummer im DB-Namen 
     7        14.12.2010 zentrale Anpassung des Pfades 
     8        25.07.2011 PostNAS  0.5/0.6 Versionen unterscheiden 
     9        04.11.2011 PostNAS  Datenbankname um "_neu" erweitert 
    810*/ 
    9 require_once("/opt/gdi/conf/alkisn_conf.php"); // Nicht unter Web-Root speichern 
     11# relativ: 
     12#       require_once(dirname(__FILE__)."/../../../../conf/alkis_www_conf.php"); 
     13# 
     14# absolut: 
     15#  Hier: Entwicklungs-Version 
     16        require_once("/data/conf/alkis_entw_conf.php"); 
     17        $dbname = $dbpre.$dbvers.$gkz;                  // Prefix + Konverter-Version + Mandant 
     18//      $dbname = $dbpre.$dbvers.$gkz."_neu";   // Prefix + Konverter-Version + Mandant  ENTWICKLUNG aus neuem Schema 
    1019?> 
  • trunk/info/info/alkis/alkisausk.php

    r376 r377  
    55        Dies Programm wird aus dem Mapserver-Template (FeatureInfo) aufgerufen. 
    66        Parameter: &gkz, &gml_id (optional &id) 
    7         Dies Programm gibt einen kurzen Überblick zum FlurstÃŒck, z.B. Eigentuemer ohne Adresse 
    8         FÃŒr detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt. 
     7        Dies Programm gibt einen kurzen Ueberblick zum Flurstueck. 
     8        Eigentuemer ohne Adresse. 
     9        Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt. 
    910        Siehe auch alkisinlayausk.php - eine Variante fÃŒr den Einbau in einen iFrame 
    1011 
    1112        Version: 
    12         2016-02-24 Version fuer norGIS-ALKIS-Import 
    13         2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Berechtigung fÃŒr Gemeinde prÃŒfen) 
    14         Hinweis: Dies Modul wird beim Entwickler nicht mehr produktiv eingesetzt. 
    15                 Statt dessen wird "alkisinlayauk.php" verwendet um von einer WMS-FeatureInfo in ein Fenster ÃŒberzuleiten. 
    16                 Mangels Praxis bleiben Fehler möglicherweise unerkannt. 
     13        2011-11-17 Link FS-Historie, Parameter der Functions geÀndert 
     14        2011-11-30 import_request_variables 
     15        2013-04-08 deprecated "import_request_variables" ersetzt 
     16        2014-01-28 Link zu alkisstrasse.php 
     17        2014-09-15 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     18        2014-09-30 RÃŒckbau substring(gml_id) 
     19        2015-12-09 Austausch .ico durch .png 
    1720*/ 
    1821session_start(); 
     
    2124if ($auth == "mapbender") {require_once($mapbender);} 
    2225include("alkisfkt.php"); 
     26if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    2327$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    2428if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    2529echo <<<END 
    26 <!doctype html> 
    27 <html lang="de"> 
     30<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     31<html> 
    2832<head> 
    29         <meta charset="utf-8"> 
     33        <meta name="author" content="b600352" > 
     34        <meta http-equiv="cache-control" content="no-cache"> 
     35        <meta http-equiv="pragma" content="no-cache"> 
     36        <meta http-equiv="expires" content="0"> 
     37        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    3038        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    3139        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
     
    3745<body> 
    3846END; 
    39 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisausk.php'"); 
     47$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    4048if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";} 
    4149 
    4250// *** F L U R S T U E C K *** 
    43 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde 
     51$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung  
    4452FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
    4553WHERE f.gml_id= $1 AND f.endet IS NULL;"; 
     
    6270        $flae=$row["amtlicheflaeche"]; 
    6371        $flae=number_format($flae,0,",",".") . " m&#178;"; 
    64         $fsreg=$row["regierungsbezirk"]; // Filter ZustÀndigkeit 
    65         $fskrs=$row["kreis"]; 
    66         $fsgem=$row["gemeinde"]; 
    6772} else { 
    6873        echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; 
     
    7277echo "\n<p class='fsausk'>ALKIS-Auskunft Flurst&uuml;ck-&Uuml;bersicht ".$gmkgnr."-".$flurnummer."-".$flstnummer."</p>"; 
    7378 
    74 // PrÃŒfung der Gebiets-Berechtigung bei gemeinsam genutzten Datenbanken (Kreis und Gemeinde) 
    75 // FÃŒr das gkz (z.B. aus dem Mapfile-Namen) wird in der Konfiguration ein Filter gesetzt. 
    76 if ( ($filtkreis != '' and $filtkreis != $fskrs) or ($filtgem != '' and $filtgem != $fsgem) ) { 
    77         // Einer der gesetzten Filter passt nicht 
    78         if ($debug > 2) { 
    79                 echo "<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>"; 
    80                 echo "<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
    81         } 
    82         echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p> 
    83         \n<br><p class='stop2'>Dies Flurst&uuml;ck liegt ausserhalb der zust&auml;ndigen Stadt oder Gemeinde.</p>\n</body>\n</html>"; 
    84         pg_free_result($res); 
    85         exit; 
    86 } 
    87  
    8879echo "\n<table class='outer'>\n<tr><td>"; 
    8980        // linke Seite 
    90         echo "\n<h1>ALKIS-Auskunft</h1>" 
    91         ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>"; 
     81        echo "\n<h1>ALKIS-Auskunft</h1>"; 
     82        echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>"; 
    9283echo "</td><td align='right'>"; 
    9384        // rechte Seite 
    94         echo "<img src='pic/AAA.gif' alt=''>" 
    95 ."</td></tr></table>"; 
    96  
    97 echo "\n<table class='outer'>\n<tr>\n<td>" 
    98         ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" 
    99         ."\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>" 
    100         ."\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
    101         if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
    102         echo $gemkname."</td>" 
    103         . "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    104         ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
    105         ."\n\t</table>" 
    106 ."\n</td>\n<td>" 
    107 ."\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
     85        echo "<img src='pic/AAA.gif' alt=''>"; 
     86echo "</td></tr></table>"; 
     87 
     88echo "\n<table class='outer'>\n<tr>\n<td>"; 
     89        echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>"; 
     90        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>"; 
     91        echo "\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
     92   if ($showkey) { 
     93                echo "<span class='key'>".$gmkgnr."</span><br>"; 
     94        } 
     95        echo $gemkname."</td>"; 
     96        echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 
     97        echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>"; 
     98        echo "\n\t</table>"; 
     99echo "\n</td>\n<td>"; 
     100if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); } 
     101echo "\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
    108102 
    109103// Flurstuecksnachweis (o. Eigent.) 
    110104echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n"; 
    111         if ($showkey) {echo "&amp;showkey=j";} 
    112         echo "' title='Flurst&uuml;cksnachweis, alle Flurst&uuml;cksdaten'>Flurst&uuml;ck " 
    113         ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    114 ."</a><br>"; 
     105        if ($idanzeige) {echo "&amp;id=j";} 
     106        if ($showkey)   {echo "&amp;showkey=j";} 
     107        echo "' title='Flurst&uuml;cksnachweis, alle Flurst&uuml;cksdaten'>Flurst&uuml;ck "; 
     108        echo "<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; 
     109echo "</a><br>"; 
    115110 
    116111// FS- u. Eigent.-NW 
    117112echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j"; 
    118         if ($showkey) {echo "&amp;showkey=j";} 
    119         echo "' title='Flurst&uuml;ck mit Eigent&uuml;mer'>Flurst&uuml;ck mit Eigent&uuml;mer " 
    120         ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    121 ."</a><br>"; 
     113        if ($idanzeige) {echo "&amp;id=j";} 
     114        if ($showkey)   {echo "&amp;showkey=j";} 
     115        echo "' title='Flurst&uuml;ck mit Eigent&uuml;mer'>Flurst&uuml;ck mit Eigent&uuml;mer "; 
     116        echo "<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; 
     117echo "</a><br>"; 
    122118 
    123119// FS-Historie 
    124120echo "\n\t\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    125         if ($showkey) {echo "&amp;showkey=j";} 
    126         echo "' title='Vorg&auml;nger des Flurst&uuml;cks'>Historie " 
    127         ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 
    128 ."</a><br>"; 
     121        if ($idanzeige) {echo "&amp;id=j";} 
     122        if ($showkey)   {echo "&amp;showkey=j";} 
     123        echo "' title='Vorg&auml;nger des Flurst&uuml;cks'>Historie "; 
     124        echo "<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>"; 
     125echo "</a><br>"; 
    129126 
    130127// Gebaeude-NW 
    131128echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    132         if ($showkey) {echo "&amp;showkey=j";} 
    133         echo "' title='Geb&auml;udenachweis'>Geb&auml;ude " 
    134         ."<img src='ico/Haus.png' width='16' height='16' alt=''>" 
    135 ."</a>" 
    136 . "\n\t</p>\n</td>"; 
     129        if ($idanzeige) {echo "&amp;id=j";} 
     130        if ($showkey)   {echo "&amp;showkey=j";} 
     131        echo "' title='Geb&auml;udenachweis'>Geb&auml;ude "; 
     132        echo "<img src='ico/Haus.png' width='16' height='16' alt=''>"; 
     133echo "</a>"; 
     134 
     135echo "\n\t</p>\n</td>"; 
    137136 
    138137// Lagebezeichnung MIT Hausnummer (Adresse) 
     
    152151while($row = pg_fetch_array($res)) { 
    153152        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
    154         echo "\n<tr>\n\t" 
    155                 ."\n\t<td class='lr'>".$sname."&nbsp;".$row["hausnummer"]."</td>" 
    156                 ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
    157                         ."\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage " 
    158                         ."<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;" 
    159                         ."\n\t\t\t<a href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"] 
    160                         ."' title='Stra&szlig;e'>Stra&szlig;e <img src='ico/Strassen.png' width='16' height='16' alt=''></a>" 
    161                 ."\n\t\t</p>\n\t</td>" 
    162         ."\n</tr>"; 
     153        echo "\n<tr>\n\t"; 
     154                echo "\n\t<td class='lr'>".$sname."&nbsp;".$row["hausnummer"]."</td>"; 
     155                echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     156                        echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage "; 
     157                        echo "<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;"; 
     158 
     159                        echo "\n\t\t\t<a href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]; // Katalog GML-ID 
     160                        echo "' title='Stra&szlig;e'>Stra&szlig;e <img src='ico/Strassen.png' width='16' height='16' alt=''></a>"; 
     161                echo "\n\t\t</p>\n\t</td>"; 
     162        echo "\n</tr>"; 
    163163        $j++; 
    164164} 
     
    171171echo "\n<h2><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundbuch</h2>"; 
    172172// ALKIS: FS >istgebucht> GS >istBestandteilVon> GB. 
    173 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, wa.v AS blattartv,  
    174 s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, wb.v AS bart  
    175 FROM ax_flurstueck f  
    176 JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
     173$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart,  
     174s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, a.bezeichner AS bart  
     175FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
    177176JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id  
    178177LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
    179 LEFT JOIN alkis_wertearten wa ON cast(b.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart' 
    180 LEFT JOIN alkis_wertearten wb ON cast(s.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' 
     178LEFT JOIN v_bs_buchungsart a ON s.buchungsart = a.wert  
    181179WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL  
    182180ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
     
    193191while($rowg = pg_fetch_array($resg)) { 
    194192        $beznam=$rowg["bezeichnung"]; 
    195         echo "\n<table class='outer'>\n<tr>\n<td>"; 
     193        echo "\n<hr>\n<table class='outer'>"; 
     194        echo "\n<tr>"; 
     195        echo "\n<td>"; 
     196 
    196197                $blattkey=$rowg["blattart"]; 
    197                 $blattart=$rowg["blattartv"]; 
     198                $blattart=blattart($blattkey); 
    198199                if ($blattkey == 1000) { 
    199200                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     
    201202                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    202203                } 
    203                         echo "\n\t<tr>" 
    204                                 ."\n\t\t<td class='head'>Bezirk</td>" 
    205                                 ."\n\t\t<td class='head'>".$blattart."</td>" 
    206                                 ."\n\t\t<td class='head'>Lfd-Nr.</td>" 
    207                                 ."\n\t\t<td class='head'>Buchungsart</td>" 
    208                         ."\n\t</tr>"; 
    209                         echo "\n\t<tr>" 
    210                                 ."\n\t\t<td title='Grundbuchbezirk'>"; 
    211                                         if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span><br>";} 
    212                                 echo $beznam."</td>" 
    213                                 ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>" 
    214                                 ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>" 
    215                                 ."\n\t\t<td title='Buchungsart'>"; 
    216                                         if ($showkey) {echo "<span class='key'>".$rowg["buchungsart"]."</span><br>";} 
    217                                         echo $rowg["bart"] 
    218                                 ."</td>" 
    219                         ."\n\t</tr>" 
    220                 ."\n\t</table>"; 
     204                        echo "\n\t<tr>"; 
     205                                echo "\n\t\t<td class='head'>Bezirk</td>"; 
     206                                echo "\n\t\t<td class='head'>".$blattart."</td>"; 
     207                                echo "\n\t\t<td class='head'>Lfd-Nr.</td>"; 
     208                                echo "\n\t\t<td class='head'>Buchungsart</td>"; 
     209                        echo "\n\t</tr>"; 
     210                        echo "\n\t<tr>"; 
     211                                echo "\n\t\t<td title='Grundbuchbezirk'>"; 
     212                                        if ($showkey) { 
     213                                                echo "<span class='key'>".$rowg["bezirk"]."</span><br>"; 
     214                                        } 
     215                                echo $beznam."</td>"; 
     216                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>"; 
     217                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>"; 
     218                                echo "\n\t\t<td title='Buchungsart'>"; 
     219                                        if ($showkey) { 
     220                                                echo "<span class='key'>".$rowg["buchungsart"]."</span><br>"; 
     221                                        } 
     222                                        echo $rowg["bart"]; 
     223                                echo "</td>"; 
     224                        echo "\n\t</tr>"; 
     225                echo "\n\t</table>"; 
    221226 
    222227                if ($rowg["zaehler"] <> "") { 
    223228                        echo "\n<p class='ant'>".$rowg["zaehler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    224229                } 
    225                 echo "\n</td>\n<td>" 
    226                 ."\n\t<p class='nwlink'>weitere Auskunft:<br>" 
    227                         ."\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]; 
    228                                 if ($showkey) {echo "&amp;showkey=j";} 
    229                                 echo "' title='Grundbuchnachweis'>".$blattart." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
    230                         ."</a>" 
    231                 ."\n\t</p>" 
    232         ."\n</td>\n</tr>\n</table>"; 
     230                echo "\n</td>\n<td>"; 
     231                if ($idanzeige) {linkgml($gkz, $rowg["gml_id"], "Buchungsblatt", "");} 
     232                echo "\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
     233                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg["gml_id"]; 
     234                                if ($idanzeige) {echo "&amp;id=j";} 
     235                                if ($showkey)   {echo "&amp;showkey=j";} 
     236                                echo "' title='Grundbuchnachweis'>"; 
     237                                echo $blattart; 
     238                                echo " <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>"; 
     239                        echo "</a>"; 
     240                echo "\n\t</p>"; 
     241        echo "\n</td>"; 
     242        echo "\n</tr>"; 
     243        echo "\n</table>"; 
    233244 
    234245        // E I G E N T U E M E R 
    235         if ($blattkey == 5000) { // SchlÃŒssel Blatt-Art 
    236                 echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n" 
    237                 ."\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n"; 
    238         } else { // kein Eigent. bei fiktiv. Blatt 
    239                 echo "\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 
     246        if ($blattkey == 5000) { // Schluessel Blattart 
     247                echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n"; 
     248                echo "\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n"; 
     249        } else {// kein Eigent. bei fiktiv. Blatt 
     250                echo "\n<hr>\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 
    240251 
    241252                // Ausgabe Name in Function 
    242                 $n = eigentuemer($con, $rowg["gml_id"], false, "imFenster"); // ohne Adressen 
     253                $n = eigentuemer($con, $rowg["gml_id"], false); // ohne Adr. 
    243254 
    244255                if ($n == 0) { // keine NamNum, kein Eigent. 
    245                         echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>" 
    246                         ."\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>"; 
     256                        echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>"; 
     257                        echo "\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>"; 
     258                        linkgml($gkz, $gmlid, "Buchungsblatt", ""); 
    247259                } 
    248260        } 
    249261        $j++; 
    250262} 
    251 if ($j == 0) {echo "\n<p class='err'>Keine Buchungen gefunden.</p>";} 
     263if ($j == 0) { // Entwicklungshilfe 
     264        echo "\n<p class='err'>Keine Buchungen gefunden.</p>"; 
     265        echo "\n<p><a target='_blank' href=alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid.">Beziehungen des Flurst&uuml;cks</a></p>"; 
     266        //echo "<p>".$sql."</p>"; // TEST 
     267} 
    252268echo "\n<hr>"; 
    253269 
  • trunk/info/info/alkis/alkisauszug.css

    r376 r377  
    11/*      Modul: alkisauszug.css 
    2         S t y l e s  zur ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
     2        S t y l e s zur ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    33 
    44        Version: 
     
    1111        2013-06-27      p.recht 
    1212        2014-01-27      strasse, hsnr, Print-Balken 
    13         2014-09-15      PostNAS 0.8: p.cnt 
     13        2014-09-15  PostNAS 0.8: p.cnt 
    1414        2014-12-30      Neu: td.fsnr 
    15         2016-02-24      Umstellung norBIT-Struktur 
    16         2016-12-01      Stop-Meldung bei BerechtigungsprÃŒfung, Sortierspalten 
    1715*/ 
    1816body    {background-color: #FDFFFD;} 
     
    2422p.fsausk        {background-color: teal; color: silver;}        /* Uebersichts-Seite Flurstuecks-Auskunft */ 
    2523p.fskennz,p.fsei{background-color: navy; color: silver;}        /* Flurstuecks-Nachweis */ 
     24/* p.fsei       {background-color: olive; color: silver;}*/     /* Flurstuecks- und Eigentuemer-Nachweis */ 
    2625p.fshis         {background-color: gray; color: white;}         /* Flurstuecks-Historie */ 
    2726p.gbkennz       {background-color: green; color: silver;}       /* Bestandsnachweis */ 
     
    3332 
    3433/* Format nach Inhalt */ 
    35 /* p.bezieh     {text-align: right; background: olive;  color: silver;} */ /* Beziehungen */ 
     34p.bezieh        {text-align: right; background: olive;  color: silver;} /* Beziehungen */ 
    3635p.fsd           {margin-left: 170px;}   /* Flst-Flaeche */ 
    3736p.gbl           {position: relative; left: 60px;}       /* Nam: Buchungsstelle*/ 
     
    9089td.lr   {color: black;} /* Liste Rechts */ 
    9190td.ph   {color: gray;}  /* Platzhalter, vorlaeufig, spaeter loschen */ 
    92 td.erkl {color: silver; font-size: 8pt;}        /* ErklÀrungen, nur klein (Haus) */ 
    9391 
    9492td.fla  {width: 110px; padding-right: 4px; text-align: right;} /* Flaechen rechtsbuendig (stellengerecht) */ 
     
    10199td.sond, p.sond {font-size: 9pt; font-style: italic; background-color: white; 
    102100                border: 1px dotted silver; padding: 6px;}       /* Sondereigentumsbeschreibung */ 
     101 
    103102td.nrap, p.nrap {font-size: 9pt; font-style: italic; background-color: white;}  /* Nummer im Aufteilungsplan */ 
     103 
    104104td.fett {font-weight: bold;} 
    105 td.nwlink {width: 80px;}        /* Link zum Nachweis */ 
    106  
    107 /* Kopfzeile, Spaltenueberschrift */ 
    108 td.head, td.heads{font-style: italic; padding-top: 2px;}         
    109 td.head {border-bottom: 1px solid gray;}         
    110 td.heads        {border-bottom: 1px solid black;}       /* Kopf Sortierspalte(n) */ 
    111  
     105td.head {border-bottom: 1px solid gray; font-style: italic; padding-top: 2px;}  /* Kopfzeile, Spaltenueberschrift */ 
    112106td.sum {border-top: 2px dotted maroon;  border-bottom:3px solid maroon; 
    113107        border-left:0px dotted maroon;  border-right:0px dotted maroon; font-weight: bold;}     /* unter dem Strich = Summenzeile */ 
     
    116110td.nam  {font-weight: bold;} 
    117111td.gbl  {border-bottom: 1px dotted green;}      /* Name: GB-Liste */ 
    118 /* Inlay analog WMS-Feature-Info Template: linke Tabellenspalte - Feldname */ 
     112/* Inlay analog Template: linke Tabellenspalte - Feldname */ 
    119113td.li, td.gr {color:gray; padding-left: 8px; padding-right:8px; border-bottom: 0px; vertical-align:top;} 
    120114/* dienendes GB in FS-Tab im Best-NW  */ 
    121115td.dien {font-size: 9pt; font-style: italic; color: purple; border-bottom: 1px solid silver;} 
    122116td.hsnr {width: 70px; padding-right: 4px; text-align: right;} /* Hausnummer in Straße */ 
    123  
    124 /* Fallunterscheidung bei GebÀude auf FlurstÃŒck: */ 
    125 td.gin {color: rgb(0,50,0);}    /* GebÀude in FS */ 
    126 td.gtl {color: rgb(140,140,100);}       /* GebÀude teilweise auf FS */ 
    127 td.gan {color: rgb(210,170,170);}       /* GebÀude angrenzend an FS*/ 
    128117 
    129118/* Ueberschriften */ 
     
    134123h4 {    color: black;   font-size: 11pt;} 
    135124h5 {    color: black;   font-size: 10pt;} 
    136 h6 {    color: black;   font-size:  9pt; margin-top: 2pt; margin: 0pt;} /* FS in Best-NW */ 
     125h6 {    color: black;   font-size:  9pt; margin-top: 2pt; margin: 0pt}  /* FS in Best-NW */ 
    137126 
    138127img     {border: 0px; margin: 0px;} /* Icons */ 
    139128 
    140129iframe.inlay {border:0px; width: 100%;} /* height: 400px; */ 
    141  
    142 /* Abbruch, Fehler der Berechtigung */ 
    143 p.stop1, p.stop2  {text-align: center; color: red;} 
    144 p.stop1 {font-size: 14pt; margin: 4pt;} 
    145 p.stop2 {font-size: 10pt;} 
    146130 
    147131/* Seitenfuss */ 
  • trunk/info/info/alkis/alkisbaurecht.php

    r376 r377  
    44 
    55        Version: 
    6         2016-02-24 Version fuer norGIS-ALKIS-Import 
    7         2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
     6        2013-06-27Neu als Variante von alkis*inlay*baurecht.ph (mit Footer, Balken und Umschaltung Key) 
     7        2014-09-15 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     8        2015-12-09 Austausch .ico durch .png 
     9 
     10        ToDo: id-Anzeige hinzufÃŒgen fÃŒr Baurecht und FlurstÃŒck 
    811*/ 
    912session_start(); 
     
    1215if ($auth == "mapbender") {require_once($mapbender);} 
    1316include("alkisfkt.php"); // f. Footer 
     17if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    1418$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    1519if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    16 echo <<<END 
    17 <!doctype html> 
    18 <html lang="de"> 
     20 
     21?> 
     22<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     23<html> 
    1924<head> 
    20         <meta charset="utf-8"> 
     25        <meta name="author" content="b600352" > 
     26        <meta http-equiv="cache-control" content="no-cache"> 
     27        <meta http-equiv="pragma" content="no-cache"> 
     28        <meta http-equiv="expires" content="0"> 
     29        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    2130        <title>ALKIS Bau-, Raum- oder Bodenordnungsrecht</title> 
    2231        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    2433</head> 
    2534<body> 
    26 END; 
    2735 
    28  
    29 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbaurecht.php'"); 
     36<?php 
     37$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    3038if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    3139 
    32 // Spalte "a.d" ist immer leer 
    33 $sql ="SELECT r.ogc_fid, r.artderfestlegung as adfkey, r.name, r.stelle, r.bezeichnung AS rechtbez,  
    34 a.v AS adfbez, d.bezeichnung AS stellbez, d.stellenart, wd.v, wd.d, round(st_area(r.wkb_geometry)::numeric,0) AS flae  
     40// wie View "baurecht" 
     41$sql ="SELECT r.ogc_fid, r.artderfestlegung as adfkey, r.name, r.stelle, r.bezeichnung AS rechtbez, a.bezeichner AS adfbez, d.bezeichnung AS stellbez, d.stellenart, round(st_area(r.wkb_geometry)::numeric,0) AS flae  
    3542FROM ax_bauraumoderbodenordnungsrecht r  
    36 LEFT JOIN alkis_wertearten a ON cast(r.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung' 
    37 LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle  
    38 LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
    39 WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; 
     43LEFT JOIN v_baurecht_adf a ON r.artderfestlegung=a.wert  
     44LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; 
    4045 
    4146$v = array($gmlid); 
    4247$res = pg_prepare("", $sql); 
    4348$res = pg_execute("", $v); 
     49 
    4450if (!$res) { 
    4551        echo "\n<p class='err'>Fehler bei Baurecht.</p>\n"; 
    46         if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
     52        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
    4753} 
     54 
    4855if ($row = pg_fetch_array($res)) { 
    4956        $artfest=$row["adfkey"];  // Art der Festlegung, Key 
    5057        $verfnr=$row["rechtbez"]; // Verfahrens-Nummer 
    5158        $enam=$row["name"]; 
     59        $stellk=$row["stelle"]; // LEFT JOIN ! 
    5260        $stellb=$row["stellbez"]; 
    5361        $stella=$row["stellenart"]; 
     
    5866        echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>\n"; 
    5967 
    60         echo "\n<table>" 
    61                 ."\n<tr>" 
    62                         ."\n\t<td class='li'>Art der Festlegung:</td>\n\t<td>"; 
    63                         if ($showkey) {echo "<span class='key'>(".$artfest.")</span> ";} 
    64                         echo "<span class='wichtig'>".$row["adfbez"]."</span></td>" 
    65                 ."\n</tr>"; 
     68        echo "\n<table>"; 
     69 
     70                echo "\n<tr>"; 
     71                        echo "\n\t<td class='li'>Art der Festlegung:</td>\n\t<td>"; 
     72                        if ($showkey) { 
     73                                echo "<span class='key'>(".$artfest.")</span> "; 
     74                        } 
     75                        echo "<span class='wichtig'>".$row["adfbez"]."</span></td>"; 
     76                echo "\n</tr>"; 
     77 
    6678                if ($enam != "") { 
    67                         echo "\n<tr>" 
    68                                 ."\n\t<td class='li'>Eigenname des Gebietes:</td>" 
    69                                 ."\n\t<td>".$enam."</td>" 
    70                         . "\n</tr>"; 
     79                        echo "\n<tr>"; 
     80                                echo "\n\t<td class='li'>Eigenname des Gebietes:</td>\n\t<td>".$enam."</td>"; 
     81                        echo "\n</tr>"; 
    7182                } 
     83 
    7284                if ($verfnr != "") { 
    73                         echo "\n<tr>" 
    74                                 ."\n\t<td class='li'>Verfahrensnummer:</td>" 
    75                                 ."\n\t<td>".$verfnr."</td>" 
    76                         ."\n</tr>"; 
     85                        echo "\n<tr>"; 
     86                                echo "\n\t<td class='li'>Verfahrensnummer:</td>"; 
     87                                echo "\n\t<td>".$verfnr."</td>"; 
     88                                // if ($idanzeige) {linkgml($gkz, $gmlid, "Verfahren", ""); } // KEINE Bez.! 
     89                        echo "\n</tr>"; 
    7790                } 
    78                 if ($stellb != "") { // z.B. Umlegung *mit* und Baulast *ohne* Dienststelle, darum bezirk testen 
    79                         echo "\n<tr>" 
    80                                 ."\n\t<td class='li'>Dienststelle:</td>\n\t<td>"; 
    81                                         if ($showkey) {echo "<span class='key'>(".$row["stelle"].")</span> ";} 
    82                                         echo $stellb 
    83                                 ."</td>" 
    84                         ."\n</tr>"; 
     91 
     92                if ($stellb != "") { // z.B. Umlegung mit und Baulast ohne Dienststelle 
     93                        echo "\n<tr>"; 
     94                                echo "\n\t<td class='li'>Dienststelle:</td>\n\t<td>"; 
     95                                        if ($showkey) {echo "<span class='key'>(".$stellk.")</span> ";} 
     96                                        echo $stellb; 
     97                                echo "</td>"; 
     98                        echo "\n</tr>"; 
    8599                        if ($stella != "") { 
    86                                 echo "\n<tr>" 
    87                                         ."\n\t<td class='li'>Art der Dienststelle:</td>" 
    88                                         ."\n\t<td>"; 
     100                                echo "\n<tr>"; 
     101                                        echo "\n\t<td class='li'>Art der Dienststelle:</td>"; 
     102                                        echo "\n\t<td>"; 
    89103                                                if ($showkey) {echo " <span class='key'>(".$stella.")</span>";} 
    90                                                 echo "<span title='".$row["d"]."'>".$row["v"]."</span>";  
    91                                         echo "</td>" 
    92                                 ."\n</tr>"; 
     104                                                // d.stellenart -- weiter entschluesseln 1000, 1200, 1300 
     105                                                // Dazu SchlÃŒsseltabelle aus GeoInfoDok erfassen 
     106                                                echo "&nbsp;"; // Platzhalter 
     107                                        echo "</td>"; 
     108                                echo "\n</tr>"; 
    93109                        } 
    94110                } 
    95                 echo "\n<tr>" 
    96                         ."\n\t<td class='li'>Fl&auml;che:</td>"; 
     111 
     112                echo "\n<tr>"; 
     113                        echo "\n\t<td class='li'>Fl&auml;che:</td>"; 
    97114                        $flae=number_format($row["flae"],0,",",".")." m&#178;"; 
    98                         echo "\n\t<td>".$flae."</td>" 
    99                 ."\n</tr>" 
    100         . "\n</table>"; 
     115                        echo "\n\t<td>".$flae."</td>"; 
     116                echo "\n</tr>"; 
     117 
     118        echo "\n</table>"; 
    101119} else { 
    102120        echo "\n<p class='err'>Fehler! Kein Treffer bei gml_id=".$gmlid."</p>"; 
    103121} 
    104122 
    105 echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> betroffene Flurst&uuml;cke</h2>\n" 
    106 ."\n<p>Ermittelt durch geometrische Verschneidung. Nach Gr&ouml;&szlig;e absteigend.</p>"; 
     123echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> betroffene Flurst&uuml;cke</h2>\n"; 
     124echo "\n<p>Ermittelt durch geometrische Verschneidung. Nach Gr&ouml;&szlig;e absteigend.</p>"; 
    107125 
    108126$sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, round(st_area(ST_Intersection(r.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae  
    109127FROM ax_flurstueck f, ax_bauraumoderbodenordnungsrecht r 
    110 WHERE r.gml_id= $1 AND f.endet IS NULL AND r.endet IS NULL "; 
    111 if ($filtgem == '' ) { // ungefiltert 
    112         $v=array($gmlid); 
    113 } else { 
    114         $sql.="AND f.kreis = $2 AND f.gemeinde = $3 "; // Zuständiges Gebiet 
    115         $v=array($gmlid, $filtkreis, $filtgem); 
    116 } 
    117 $sql.="AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true  
     128WHERE r.gml_id= $1 AND f.endet IS NULL AND r.endet IS NULL 
     129AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true  
    118130AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0.05  
    119 ORDER BY schnittflae DESC LIMIT 50;";  
     131ORDER BY schnittflae DESC LIMIT 40;";  
    120132// > 0.0 ist gemeint, Ungenauigkeit durch st_simplify 
    121133// Limit: Flurbereinig. kann gross werden! 
    122134// Trotz Limit lange Antwortzeit, wegen OrderBy -> intersection 
     135$v = array($gmlid); 
     136$res = pg_prepare("", $sql); 
     137$res = pg_execute("", $v); 
    123138 
    124 $res=pg_prepare("", $sql); 
    125 $res=pg_execute("", $v); 
    126139if (!$res) { 
    127140        echo "\n<p class='err'>Keine Flurst&uuml;cke ermittelt.<br>\nSQL=<br></p>\n"; 
    128 //      if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
     141        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
    129142} 
    130143 
    131 echo "\n<table class='fs'>" 
    132         ."\n<tr>" 
    133                 ."\n\t<td class='head' title='Flur- und Flurst&uuml;cksnummer'>Flurst&uuml;ck</td>" 
    134                 ."\n\t<td class='heads fla' title='geometrische Schnittfl&auml;che'><img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'>Fl&auml;che</td>" 
    135                 ."\n\t<td class='head fla' title='amtliche Flurst&uuml;cksfl&auml;che, Buchfl&auml;che'>von</td>" 
    136                 ."\n\t<td class='head nwlink' title='Link zum Flurst&uuml;ck'>weitere Auskunft</td>" 
    137         ."\n</tr>"; 
     144echo "\n<table class='fs'>"; 
     145        echo "\n<tr>"; // Header 
     146                echo "\n\t<td class='head' title='Flur- und Flurst&uuml;cksnummer'>Flurst&uuml;ck</td>"; 
     147                echo "\n\t<td class='head fla' title='geometrische Schnittfl&auml;che'>Fl&auml;che</td>"; 
     148                echo "\n\t<td class='head fla' title='amtliche Flurst&uuml;cksfl&auml;che, Buchfl&auml;che'>von</td>"; 
     149                echo "\n\t<td class='head nwlink' title='Link zum Flurst&uuml;ck'>weitere Auskunft</td>"; 
     150        echo "\n</tr>"; 
    138151 
    139152        $fscnt=0; 
    140153        while($row = pg_fetch_array($res)) { 
    141154                $fscnt++; 
    142                 echo "\n<tr>" 
    143                         ."\n\t<td>".$row["flurnummer"]."-<span class='wichtig'>".$row["zaehler"]; 
    144                                 $nen=$row["nenner"]; 
    145                                 if ($nen != "") {echo "/".$nen;} 
    146                         echo "</span></td>" 
    147                         ."\n\t<td class='fla'>".$row["schnittflae"]." m&#178;</td>" 
    148                         ."\n\t<td class='fla'>".$row["amtlicheflaeche"]." m&#178;</td>" 
    149                         ."\n\t<td class='nwlink noprint'>" 
    150                                 ."\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$row["gml_id"]."&amp;eig=n' " 
    151                                         ."title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
    152                                         ."\n\t\t\t<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    153                                 ."\n\t\t</a>" 
    154                         ."\n\t</td>" 
    155                 ."\n</tr>"; 
     155                echo "\n<tr>"; 
     156                        echo "\n\t<td>".$row["flurnummer"]."-<span class='wichtig'>".$row["zaehler"]; 
     157                        $nen=$row["nenner"]; 
     158                        if ($nen != "") { 
     159                                echo "/".$nen; 
     160                        } 
     161                        echo "</span></td>"; 
     162                        echo "\n\t<td class='fla'>".$row["schnittflae"]." m&#178;</td>";  
     163                        echo "\n\t<td class='fla'>".$row["amtlicheflaeche"]." m&#178;</td>"; 
     164                        echo "\n\t<td class='nwlink noprint'>"; 
     165                                echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$row["gml_id"]."&amp;eig=n' " ; 
     166                                        echo "title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck "; 
     167                                        echo "\n\t\t\t<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; 
     168                                echo "\n\t\t</a>"; 
     169                        echo "\n\t</td>"; 
     170                echo "\n</tr>"; 
    156171        } 
    157172echo "\n</table>"; 
    158173 
    159 if ($fscnt == 0) { // nicht gefunden 
    160         if ($filtgem == '' ) { // ungefiltert 
    161                 echo "<p class='err'>Kein Flurst&uuml;ck gefunden.</p>"; 
    162         } else { // Wahrscheinliche Ursache = Filter 
    163                 echo "<p class='err'>Kein Flurst&uuml;ck im berechtigten Bereich.</p>"; 
    164         //      if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid." $2 = ".$filtkreis." $3 = ".$filtgem."</p>\n";} 
    165         } 
    166 } elseif ($fscnt == 50) { 
    167         echo "<p>... und weitere Flurst&uuml;cke (Limit 50 erreicht).</p>"; 
     174if ($fscnt == 40) { 
     175        echo "<p>... und weitere Flurst&uuml;cke (Limit 40 erreicht).</p>"; 
    168176} 
    169177 
     
    171179echo <<<END 
    172180 
    173 <div class='buttonbereich noprint'> 
    174 <hr> 
    175         <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp; 
    176         <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken" /></a>&nbsp; 
    177 </div> 
     181<form action=''> 
     182        <div class='buttonbereich noprint'> 
     183        <hr> 
     184                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp; 
     185                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken" /></a>&nbsp; 
     186        </div> 
     187</form> 
    178188END; 
    179189 
  • trunk/info/info/alkis/alkisbestnw.php

    r376 r377  
    66 
    77        Version: 
    8         2016-02-24 Version fuer norGIS-ALKIS-Import 
    9         2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen, Markierung der Sortierung 
     8        2011-11-17 Parameter der Functions geÀndert 
     9        2011-11-22 Feldname land in ax_buchungsblattbezirk geÀndert 
     10        2011-11-30 import_request_variables 
     11        2012-07-24 Export CSV 
     12        2013-04-08 deprecated "import_request_variables" ersetzt 
     13        2014-09-10 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     14        2014-09-15 Bei Relationen den Timestamp abschneiden 
     15        2014-09-30 RÃŒckbau substring(gml_id) 
     16        2014-12-30 Berechtigte GB nach "an BVNR" dieses Bestandes sortieren 
     17        2015-12-09 Austausch .ico durch .png 
    1018*/ 
    1119session_start(); 
     
    1523if ($auth == "mapbender") {require_once($mapbender);} 
    1624include("alkisfkt.php"); 
     25if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    1726$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    1827if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
     28 
    1929?> 
    20 <!doctype html> 
    21 <html lang="de"> 
     30<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     31<html> 
    2232<head> 
    23         <meta charset="utf-8"> 
     33        <meta name="author" content="b600352" > 
     34        <meta http-equiv="cache-control" content="no-cache"> 
     35        <meta http-equiv="pragma" content="no-cache"> 
     36        <meta http-equiv="expires" content="0"> 
     37        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    2438        <title>ALKIS Bestandsnachweis</title> 
    2539        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    3650<body> 
    3751<?php 
    38 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbestnw.php'"); 
     52$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    3953if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    4054 
    4155// G R U N D B U C H 
    42 $sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, wb.v AS blattartv, wb.d AS blattartd,  
    43 b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd.v AS stellev  
    44 FROM ax_buchungsblatt g  
    45 LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk  
    46 LEFT JOIN ax_dienststelle d ON b.land=d.land AND b.stelle=d.stelle  
    47 LEFT JOIN alkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' 
    48 LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
    49 WHERE g.gml_id= $1 AND g.endet IS NULL AND d.endet IS NULL;"; 
    50 // .. AND d.stellenart=1000  
     56$sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart,  
     57b.gml_id, b.bezirk, b.bezeichnung AS beznam, a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart  
     58FROM ax_buchungsblatt g LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk  
     59LEFT JOIN ax_dienststelle a ON b.land=a.land AND b.stelle=a.stelle  
     60WHERE g.gml_id= $1 AND a.stellenart=1000 AND g.endet IS NULL AND a.endet IS NULL;"; 
    5161 
    5262$v = array($gmlid); 
    5363$res = pg_prepare("", $sql); 
    5464$res = pg_execute("", $v); 
     65 
    5566if (!$res) { 
    5667        echo "<p class='err'>Fehler bei Grundbuchdaten.</p>"; 
     
    5970if ($row = pg_fetch_array($res)) { 
    6071        $blattkey=$row["blattart"]; 
    61         $blattart=$row["blattartv"]; 
    62  
     72        $blattart=blattart($blattkey); 
    6373        echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n"; // Balken 
    64         echo "\n<h2><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Grundbuch</h2>" 
    65         ."\n<table class='outer'>\n<tr>\n\t<td>"; // Kennz. im Rahmen 
     74        echo "\n<h2><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Grundbuch</h2>"; 
     75        echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Kennz. im Rahmen 
    6676                if ($blattkey == 1000) { 
    6777                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     
    6979                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    7080                } 
    71                         echo "\n\t<tr>" 
    72                                 ."\n\t\t<td class='head'>"; // .d nicht gefÃŒllt 
    73                                 if ($showkey) {echo "<span class='key'>".$row["stellenart"]."&nbsp;</span>";} 
    74                                 echo $row["stellev"]."</td>"; 
    75                                 echo "\n\t\t<td class='head'>Bezirk</td>" 
    76                                 ."\n\t\t<td class='head' title='".htmlentities($row["blattartd"], ENT_QUOTES, "UTF-8")."'>"; 
    77                                 if ($showkey) {echo "<span class='key'>".$blattkey."&nbsp;</span>";} 
    78                                 echo $blattart."</td>" 
    79                         ."\n\t</tr>\n\t<tr>" 
    80                                 ."\n\t\t<td title='Amtsgerichtsbezirk'>"; 
    81                                 if ($showkey) {echo "<span class='key'>".$row["stelle"]."</span><br>";} 
    82                                 echo htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>" 
    83                                 ."\n\t\t<td title='Grundbuchbezirk'>"; 
    84                                 if ($showkey) {echo "<span class='key'>".$row["bezirk"]."</span><br>";} 
    85                                 echo htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>" 
    86                                 ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$row["nr"]."</span></td>" 
    87                         ."\n\t</tr>" 
    88                 ."\n\t</table>" 
    89                 ."\n\n\t</td>\n\t<td>" 
    90         ."\n\t</td>\n</tr>\n</table>"; 
     81                        echo "\n\t<tr>"; 
     82                                echo "\n\t\t<td class='head'>".dienststellenart($row["stellenart"])."</td>"; 
     83                                echo "\n\t\t<td class='head'>Bezirk</td>"; 
     84                                echo "\n\t\t<td class='head'>".$blattart."</td>"; 
     85                        echo "\n\t</tr>\n\t<tr>"; 
     86                                echo "\n\t\t<td title='Amtsgerichtsbezirk'>"; 
     87                                if ($showkey) { 
     88                                        echo "<span class='key'>".$row["stelle"]."</span><br>"; 
     89                                } 
     90                                echo htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>"; 
     91                                echo "\n\t\t<td title='Grundbuchbezirk'>"; 
     92                                if ($showkey) { 
     93                                        echo "<span class='key'>".$row["bezirk"]."</span><br>"; 
     94                                } 
     95                                echo htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>"; 
     96                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$row["nr"]."</span></td>"; 
     97                        echo "\n\t</tr>"; 
     98                echo "\n\t</table>"; 
     99 
     100                echo "\n\n\t</td>\n\t<td>"; 
     101                if ($idanzeige) {linkgml($gkz, $gmlid, "Buchungsblatt", "");} 
     102        echo "\n\t</td>\n</tr>\n</table>"; 
    91103} 
    92104 
     
    95107} else { 
    96108        // E I G E N T U E M E R 
    97         echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>"; 
     109        echo "\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 
    98110        $n = eigentuemer($con, $gmlid, true, ""); // MIT Adressen. 
    99111        if ($n == 0) { // keine NamensNr, kein Eigentuemer 
    100                 echo "\n<p class='err'>Keine Namensnummer gefunden.</p>" 
    101                 ."\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$blattkey." (".$blattart.")</p>"; 
     112                echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 
     113                echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$blattkey." (".$blattart.")</p>"; 
     114                linkgml($gkz, $gmlid, "Buchungsblatt", ""); 
    102115        } 
    103116} 
     
    120133} 
    121134if ($anz > 0) { 
    122         echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Rechte und Flurst&uuml;cke</h3>" 
    123         ."\n<table class='fs'>" 
    124         ."\n<tr>" // zus. Kopfz. 
    125                 ."\n\t<td>&nbsp;</td>" 
    126                 ."\n\t<td class='dien' title='herrschendes Grundst&uuml;ck'>herrschende Buchungsart</td>" 
    127                 ."\n\t<td>&nbsp;</td>" 
    128                 ."\n\t<td class='dien'>Bezirk</td>" 
    129                 ."\n\t<td class='dien'>Blatt</td>" 
    130                 ."\n\t<td class='dien'>BVNR</td>" 
    131                 ."\n\t<td class='dien' title='dienendes Grundst&uuml;ck'>Buchungsart</td>" 
    132                 ."\n\t<td>&nbsp;</td>" 
    133         ."\n</tr>"; 
     135        echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Rechte und Flurst&uuml;cke</h3>"; 
     136        echo "\n<table class='fs'>"; 
     137        echo "\n<tr>"; // zusÀtzliche Kopfzeile 
     138                echo "\n\t<td>&nbsp;</td>"; 
     139                echo "\n\t<td class='dien' title='herrschendes Grundst&uuml;ck'>herrschende Buchungsart</td>"; 
     140                echo "\n\t<td>&nbsp;</td>"; 
     141                echo "\n\t<td class='dien'>Bezirk</td>"; 
     142                echo "\n\t<td class='dien'>Blatt</td>"; 
     143                echo "\n\t<td class='dien'>BVNR</td>"; 
     144                echo "\n\t<td class='dien' title='dienendes Grundst&uuml;ck'>Buchungsart</td>"; 
     145                echo "\n\t<td>&nbsp;</td>"; 
     146        echo "\n</tr>"; 
    134147} else { 
    135         echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>" 
    136         ."\n<table class='fs'>"; 
    137 } // gemeinsame Kopfzeile 
    138 echo "\n<tr>" 
    139         ."\n\t<td class='heads' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'><span class='wichtig'>BVNR</span><img src='ico/sort.png' width='10' height='10' alt='' title='prim&auml;re Sortierung'></td>" 
    140         ."\n\t<td class='head'>Buchungsart</td>" 
    141         ."\n\t<td class='head'>Anteil</td>" 
    142         ."\n\t<td class='heads'>Gemarkung</td>" 
    143         ."\n\t<td class='heads'>Flur</td>" 
    144         ."\n\t<td class='heads fsnr' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>Flurst.</span></td>" 
    145         ."\n\t<td class='head fla'>Fl&auml;che</td>" 
    146         ."\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>" 
    147 ."\n</tr>"; 
     148        echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>"; 
     149        echo "\n<table class='fs'>"; 
     150} 
     151 
     152echo "\n<tr>"; // gemeinsame Kopfzeile 
     153        echo "\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'><span class='wichtig'>BVNR</span></td>"; 
     154        echo "\n\t<td class='head'>Buchungsart</td>"; 
     155        echo "\n\t<td class='head'>Anteil</td>"; 
     156        echo "\n\t<td class='head'>Gemarkung</td>"; 
     157        echo "\n\t<td class='head'>Flur</td>"; 
     158        echo "\n\t<td class='head fsnr' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>Flurst.</span></td>"; 
     159        echo "\n\t<td class='head fla'>Fl&auml;che</td>"; // 7 
     160        echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>"; 
     161echo "\n</tr>"; 
    148162 
    149163// Blatt ->  B u c h u n g s s t e l l e 
    150164// aktuelles ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle  
    151 $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, b.v as bart, b.d 
    152 FROM ax_buchungsstelle s LEFT JOIN alkis_wertearten b ON cast(s.buchungsart AS character varying)=b.k AND b.element='ax_buchungsstelle' and b.bezeichnung='buchungsart' 
     165$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, b.bezeichner as bart  
     166FROM ax_buchungsstelle s LEFT JOIN v_bs_buchungsart b ON s.buchungsart=b.wert  
    153167WHERE s.istbestandteilvon= $1 AND s.endet IS NULL ORDER BY cast(s.laufendenummer AS integer);"; 
    154168 
     
    167181        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    168182        $gml_bs= $row["gml_id"]; // id der buchungsstelle 
    169         $bartkey=$row["buchungsart"]; // SchlÃŒsselwert 
    170         $bart=$row["bart"]; // BuchungsART Text dazu 
    171         $bartstory=htmlentities($row["d"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 
     183        $ba=$row["bart"]; // Buchungsart aus Schluesseltabelle 
    172184 
    173185        if ($row["zaehler"] == "") { 
     
    177189        } 
    178190        // F l u r s t u e c k s d a t e n  zur direkten Buchungsstelle 
    179         $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $bart, $anteil, true, $bartkey, $bartstory); // return=Anzahl der FS 
     191        $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, true); // return=Anzahl der FS 
    180192        $fscnt=$fscnt + $j; 
    181193        if ($j == 0) { //  k e i n e  Flurstuecke gefunden (Miteigentumsnteil usw.) 
     
    188200                //  ax_buchungsstelle >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an) 
    189201                //  sh=herrschend          sd=dienend 
    190                 $sql ="SELECT sd.gml_id, sd.buchungsart, sd.laufendenummer AS lfd, sd.beschreibungdesumfangsderbuchung AS udb, sd.nummerimaufteilungsplan AS nrap, sd.beschreibungdessondereigentums AS sond, wb.v AS bart " 
    191                 ."FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (sd.gml_id=ANY(sh.an) OR sd.gml_id=ANY(sh.zu)) " 
    192                 ."LEFT JOIN alkis_wertearten wb ON cast(sd.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' " 
    193                 ."WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL ORDER BY sd.laufendenummer;"; 
     202                $sql ="SELECT sd.gml_id, sd.buchungsart, sd.laufendenummer AS lfd, sd.beschreibungdesumfangsderbuchung AS udb, sd.nummerimaufteilungsplan AS nrap, sd.beschreibungdessondereigentums AS sond, b.bezeichner AS bart  
     203        FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (sd.gml_id=ANY(sh.an) OR sd.gml_id=ANY(sh.zu))   
     204        LEFT JOIN v_bs_buchungsart b ON sd.buchungsart=b.wert  
     205        WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL ORDER BY sd.laufendenummer;"; 
    194206 
    195207                $v=array($gml_bs); 
     
    198210                if (!$resan) { 
    199211                        echo "<p class='err'>Fehler bei 'andere Buchungsstelle'.</p>\n"; 
    200                         //if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     212                        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    201213                } 
    202214                $a=0; // count 
    203215                $altbvnr=""; // Gruppenwechsel 
    204                 while($rowan= pg_fetch_array($resan)) { 
    205                         $lfdnran=$rowan["lfd"];         // BVNR an 
    206                         $gml_bsan=$rowan["gml_id"];     // id der buchungsstelle an 
    207                         $baan=$rowan["bart"];           // Buchungsart an, entschluesselt 
     216                while($rowan = pg_fetch_array($resan)) { 
     217                        $lfdnran = $rowan["lfd"];               // BVNR an 
     218                        $gml_bsan= $rowan["gml_id"];    // id der buchungsstelle an 
     219                        $baan= $rowan["bart"];                  // Buchungsart an, entschluesselt 
    208220 
    209221                        // a n d e r e s   B l a t t  (an dem das aktuelle Blatt Rechte hat) 
    210222                        // dienendes Grundbuch 
    211                         $sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, b.blattart, wb.v AS blattartv, z.bezeichnung AS beznam " 
    212                         ."FROM ax_buchungsblatt b JOIN ax_buchungsstelle s ON b.gml_id=s.istbestandteilvon " 
    213                         ."LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk " 
    214                         ."LEFT JOIN alkis_wertearten wb ON cast(b.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' " 
    215                         ."WHERE s.gml_id= $1 AND b.endet IS NULL ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
     223                        $sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, b.blattart, z.bezeichnung AS beznam  
     224        FROM ax_buchungsblatt b JOIN ax_buchungsstelle s ON b.gml_id=s.istbestandteilvon  
     225        LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk  
     226        WHERE s.gml_id= $1 AND b.endet IS NULL ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
    216227                        $v=array($gml_bsan); 
    217228                        $fbres=pg_prepare("", $sql); 
     
    223234                        $b=0; 
    224235                        while($fbrow = pg_fetch_array($fbres)) { // genau 1 
    225                                 $fbgml=$fbrow["gml_id"]; 
    226                                 $fbland=$fbrow["land"]; 
    227                                 $fbbez=$fbrow["bezirk"]; 
    228                                 $beznam=$fbrow["beznam"]; 
    229                                 $fbblatt=$fbrow["blatt"]; // Key 
    230                                 $fbbart=$fbrow["blattartv"]; // Value 
     236                                $fbgml  = $fbrow["gml_id"]; 
     237                                $fbland = $fbrow["land"]; 
     238                                $fbbez  = $fbrow["bezirk"]; 
     239                                $fbblatt = $fbrow["blatt"]; 
     240                                $fbbart = blattart($fbrow["blattart"]); 
     241                                $beznam = $fbrow["beznam"]; 
    231242                                $b++; 
    232243                        } 
    233                         if ($b != 1) { // Überwachen: genau 1? 
     244                        if ($b != 1) { 
    234245                                echo "<p class='err'>Anzahl fiktive Bl&auml;tter zu anderer Buchungstelle = ".$b."</p>"; 
    235246                        } 
    236247 
    237248                        // G r u n d b u c h d a t e n  zur  a n d e r e n  Buchungsstelle 
    238                         echo "\n<tr>" 
    239                                 ."\n\t<td>"; // Sp.1 Erbbau BVNR 
     249                        echo "\n<tr>"; 
     250                                echo"\n\t<td>"; 
    240251                                        if($bvnr == $altbvnr) { // gleiches Grundstueck 
    241                                                 echo "&nbsp;"; // dann Anzeige unterdruecken 
     252                                                echo "&nbsp;"; // Anzeige unterdruecken 
    242253                                        } else { 
    243                                                 echo "<a id='bvnr".$lfdnr."'></a>" // Sprungmarke 
    244                                                 ."<span class='wichtig'>".$bvnr."</span>";  
     254                                                echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke 
     255                                                echo "<span class='wichtig'>".$bvnr."</span>"; // Sp.1 Erbbau BVNR 
     256                                                if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");} 
    245257                                                $altbvnr = $bvnr; // Gruppenwechsel merken 
    246258                                        } 
    247                                 echo "</td>" 
    248                                 ."\n\t<td class='dien'>"; // Sp.2 Buchung 
    249                                         if ($showkey) {echo "<span class='key'>".$row["buchungsart"]."</span> ";} 
    250                                 echo $bart." an</td>" 
    251                                 ."\n\t<td>".$anteil."</td>" // Sp.3 Anteil 
    252                                 ."\n\t<td class='dien'>"; // Sp.4 Gemarkg., hier Bezirk 
    253                                         if ($showkey) {echo "<span class='key'>".$fbbez."</span> ";} 
    254                                         echo $beznam 
    255                                 ."</td>"; 
    256                                 echo "\n\t<td class='dien'>".$fbblatt."</td>" // Sp. 5 Blatt 
    257                                         ."\n\t<td class='dien'>".str_pad($lfdnran, 4, "0", STR_PAD_LEFT)."</td>" // Sp.6 BVNR 
    258                                         ."\n\t<td class='dien'>"; // Sp.7 Buchungsart 
    259                                         if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span> ";} 
    260                                         echo $baan." " 
    261                                 ."</td>" 
    262                                 ."\n\t<td>" // Sp.8 Link ("an" oder "zu"?) 
    263                                         ."<p class='nwlink noprint'>an/zu" 
    264                                         ." <a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$fbgml; 
    265                                                 if ($showkey) {echo "&amp;showkey=j";} 
    266                                                 echo "#bvnr".$lfdnran // Sprungmarke auf der Seite 
    267                                                 ."' title='Zum Grundbuchnachweis des dienenden Blattes'>"; 
    268                                                 if ($showkey) {echo "<span class='key'>".$rowan["blattart"]."</span> ";} 
    269                                                 echo $fbbart 
    270                                         ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a></p>" 
    271                                 ."</td>" 
    272                         ."\n</tr>";  
     259                                echo "</td>"; 
     260                                echo "\n\t<td class='dien'>"; // Sp.2 Buchung 
     261                                        if ($showkey) { 
     262                                                echo "<span class='key'>".$row["buchungsart"]."</span> "; 
     263                                        } 
     264                                echo $ba." an</td>"; 
     265                                echo "\n\t<td>".$anteil."</td>"; // Sp.3 Anteil 
     266                                echo "\n\t<td class='dien'>"; // Sp.4 Gemarkg. hier Bezirk 
     267                                        if ($showkey) { 
     268                                                echo "<span class='key'>".$fbbez."</span> "; 
     269                                        } 
     270                                        echo $beznam; 
     271                                echo "</td>"; // Sp.4 hier Bezirk 
     272                                echo "\n\t<td class='dien'>"; // Sp. 5 Blatt 
     273                                        echo $fbblatt; // Sp.6 BVNR 
     274                                        if ($idanzeige) { 
     275                                                linkgml($gkz, $fbgml, "Buchungsblatt", ""); 
     276                                        } 
     277                                echo "</td>"; 
     278                                echo "\n\t<td class='dien'>"; // BVNR 
     279                                        echo str_pad($lfdnran, 4, "0", STR_PAD_LEFT); 
     280                                        if ($idanzeige) { 
     281                                                linkgml($gkz, $gml_bsan, "Buchungsstelle", "ax_buchungsstelle"); 
     282                                        } 
     283 
     284                                echo "</td>";  
     285                                echo "\n\t<td class='dien'>"; // Sp.7 Buchungsart 
     286                                        if ($showkey) { 
     287                                                echo "<span class='key'>".$rowan["buchungsart"]."</span> "; 
     288                                        } 
     289                                        echo $baan." "; 
     290                                echo "</td>"; 
     291                                echo "\n\t<td>";  // Sp.8 Link ("an" oder "zu" ?) 
     292                                        echo "<p class='nwlink noprint'>an/zu"; //.$rowan["beziehungsart"] Feld gibt es nicht mehr 
     293                                        echo " <a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$fbgml; 
     294                                                if ($idanzeige) {echo "&amp;id=j";} 
     295                                                if ($showkey)   {echo "&amp;showkey=j";} 
     296                                                echo "#bvnr".$lfdnran; // Sprungmarke auf der Seite 
     297                                                echo "' title='Grundbuchnachweis des dienenden Blattes'>"; 
     298                                                echo $fbbart; 
     299                                        echo " <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a></p>"; 
     300                                echo "</td>"; 
     301                        echo "\n</tr>";  
    273302 
    274303                        // 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 
    275304                        // Buchungsart wird nur in erster Zeile ausgegeben, hier leer 
    276                         $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false, "", ""); // return=Anz.FS 
     305                        $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false); // return=Anz.FS 
    277306                        $fscnt=$fscnt + $aj; 
    278307                        // +++ Gibt es Sondereigentum beim fiktiven Blatt? 
    279308                        if ($rowan["nrap"] != "") { 
    280                                 echo "\n<tr>" 
    281                                         ."\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$rowan["nrap"]."</td>" 
    282                                 ."\n</tr>"; 
     309                                echo "\n<tr>"; 
     310                                        echo "\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$rowan["nrap"]."</td>"; 
     311                                echo "\n</tr>"; 
    283312                        } 
    284313                        if ($rowan["sond"] != "") { 
    285                                 echo "\n<tr>" 
    286                                         ."\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$rowan["sond"]."</td>" 
    287                                 ."\n</tr>"; 
     314                                echo "\n<tr>"; 
     315                                        echo "\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$rowan["sond"]."</td>"; 
     316                                echo "\n</tr>"; 
    288317                        } 
    289318                        $a++; 
    290319                } 
    291320                if ($a == 0) { 
    292                         echo "\n<tr>" 
    293                                 ."\n\t<td><span class='wichtig'>".$bvnr."</span></td>" 
    294                                 ."\n\t<td colspan=7>" 
    295                                         ."<p class='warn'>Keine Flurst&uuml;cke zu Buchung ".$bvnr." im berechtigten Bereich.</p>" 
    296                                 ."</td>" 
    297                         ."\n</tr>"; 
     321                        echo "\n<tr>"; 
     322                                echo "\n\t<td><span class='wichtig'>".$bvnr."</span>"; 
     323                                if ($idanzeige) { 
     324                                        linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle"); 
     325                                } 
     326                                echo "</td>"; 
     327                                echo "\n\t<td colspan=7>"; 
     328                                        echo "<p class='warn'>Flurst&uuml;cke zu ".$bvnr." nicht gefunden.</p>"; 
     329                                echo "</td>"; 
     330                        echo "\n</tr>"; 
    298331                } 
    299332        } 
    300333        $i++;  
    301334        if ($row["nrap"] != "") { // Nr im Auft.Plan 
    302                 echo "\n<tr>" 
    303                         ."\n\t<td class='nrap' colspan=8>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td>" 
    304                 ."\n</tr>"; 
     335                echo "\n<tr>"; 
     336                        echo "\n\t<td class='nrap' colspan=8>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td>"; 
     337                echo "\n</tr>"; 
    305338        } 
    306339        if ($row["sond"] != "") { // Sondereigentumsbeschreibung 
    307                 echo "\n<tr>" 
    308                         ."\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>" 
    309                 ."\n</tr>"; 
     340                echo "\n<tr>"; 
     341                        echo "\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>"; 
     342                echo "\n</tr>"; 
    310343        } // Ende Buchungsstelle/BVNR 
    311344} // Ende Loop 
     
    314347if ($i == 0) { 
    315348        echo "\n<p class='err'>Keine Buchung gefunden.</p>\n"; 
     349        linkgml($gkz, $gmlid, "Buchungsblatt", ""); 
    316350} else { 
    317351        if ($i > 5 and $fscnt > 5) { // nur wenn nicht auf einen Blick zu erkennen 
     
    325359// Blatt   <istBestandteilVon< Stelle  <an<  Stelle      >istBestandteilVon>  Blatt 
    326360// Fiktiv                      Fiktiv  <zu<  Berechtigt                       Berechtigt 
    327 $sql="SELECT sf.laufendenummer AS anlfdnr, bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, wa.v AS blattartv,  
    328 sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, wb.v AS bart, wb.d AS bartd, bz.bezeichnung AS beznam, d.bezeichnung, d.stelle, d.stellenart, wd.v AS stellev  
     361$sql="SELECT sf.laufendenummer AS anlfdnr, bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart,  
     362sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, ba.bezeichner AS bart, bz.bezeichnung AS beznam, ag.bezeichnung, ag.stelle, ag.stellenart  
    329363FROM ax_buchungsstelle sf JOIN ax_buchungsstelle sb ON (sf.gml_id=ANY(sb.an) OR sf.gml_id=ANY(sb.zu))  
    330364JOIN ax_buchungsblatt bb ON bb.gml_id=sb.istbestandteilvon  
    331365LEFT JOIN ax_buchungsblattbezirk bz ON bb.land=bz.land AND bb.bezirk=bz.bezirk  
    332 LEFT JOIN ax_dienststelle d ON bz.land=d.land AND bz.stelle=d.stelle  
    333 LEFT JOIN alkis_wertearten wa ON cast(bb.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart' 
    334 LEFT JOIN alkis_wertearten wb ON cast(sb.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' 
    335 LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
     366LEFT JOIN ax_dienststelle ag ON bz.land=ag.land AND bz.stelle=ag.stelle  
     367LEFT JOIN v_bs_buchungsart ba ON sb.buchungsart=ba.wert  
    336368WHERE sf.istbestandteilvon = $1 AND sf.endet IS NULL AND sb.endet IS NULL AND bb.endet IS NULL  
    337 ORDER BY cast(sf.laufendenummer AS integer), bz.bezeichnung, bb.buchungsblattnummermitbuchstabenerweiterung, cast(sb.laufendenummer AS integer);"; 
     369ORDER BY cast(sf.laufendenummer AS integer), bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung, cast(sb.laufendenummer AS integer);"; 
     370// Änd. 2014-12-30: Sort. wie im ersten Teil 
    338371 
    339372$v = array($gmlid); 
     
    347380while($rowb = pg_fetch_array($resb)) { 
    348381        if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 
    349                 echo "\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n" 
    350                 ."\n<table class='outer'>" 
    351                 ."\n<tr>" 
    352                         ."\n\t<td class='heads' title='lfd. Nr. auf diesem Blatt, wie im Teil Flurst&uuml;cke'><span class='wichtig'>an BVNR</span><img src='ico/sort.png' width='10' height='10' alt='' title='prim&auml;re Sortierung'></td>" 
    353                 //      ."\n\t<td class='heads'>Land</td>" 
    354                         ."\n\t<td class='head'>Dienststelle</td>" 
    355                         ."\n\t<td class='heads'>Bezirk</td>" 
    356                         ."\n\t<td class='heads'><span class='wichtig'>Blatt</span></td>" 
    357                         ."\n\t<td class='heads'>BVNR</td>" 
    358                         ."\n\t<td class='head'>Buchungsart</td>" 
    359                         ."\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>" 
    360                 ."\n</tr>"; 
     382                echo "\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n"; 
     383                echo "\n<table class='outer'>"; 
     384                echo "\n<tr>"; // Tab Kopf 
     385                        echo "\n\t<td class='head' title='lfd. Nr. auf diesem Blatt, wie im Teil Flurst&uuml;cke'>an <span class='wichtig'>BVNR</span></td>"; // wie oben 
     386                        echo "\n\t<td class='head'>Land</td>"; 
     387                        echo "\n\t<td class='head'>Dienststelle</td>"; 
     388                        echo "\n\t<td class='head'>Bezirk</td>"; 
     389                        echo "\n\t<td class='head'><span class='wichtig'>Blatt</span></td>"; 
     390                        echo "\n\t<td class='head'>BVNR</td>"; 
     391                        echo "\n\t<td class='head'>Buchungsart</td>"; 
     392                        echo "\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>"; 
     393                echo "\n</tr>"; 
    361394        } 
    362395 
     
    366399        $gml_s=$rowb["gml_s"]; // id der ber. B-Stelle 
    367400        $blart=$rowb["blattart"]; 
    368  
    369401        $buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt 
    370402        $bart=$rowb["bart"]; // BA entschl. 
     
    372404        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    373405 
    374         echo "\n<tr>"; // Der Teil "berechtigte GrundbÃŒcher" ist sortiert wie oberer Teil "FlurstÃŒcke" 
     406        echo "\n<tr>"; 
     407                // Teil berechtigte GrundbÃŒcher ist sortiert wie oberer Teil "FlurstÃŒcke" 
    375408                echo "\n\t<td><span class='wichtig'>".$anlfdnr0."</span>"; 
    376  
    377                 echo "</td>" 
    378                 //."\n\t<td>".$rowb["land"]."</td>" 
    379                 ."\n\t<td>"; // Amtsgericht,Grundbuchamt 
    380                         echo $rowb["stellev"]." "; 
    381                         if ($showkey) {echo "<span class='key'>".$rowb["stelle"]."</span> ";} 
    382                         echo $rowb["bezeichnung"] 
    383                 ."</td>" 
    384                 ."\n\t<td>"; 
    385                         if ($showkey) {echo "<span class='key'>".$rowb["bezirk"]."</span> ";} 
    386                         echo $rowb["beznam"] 
    387                 ."</td>" 
    388                 ."\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span></td>" 
    389                 ."\n\t<td>".$bvnr."</td>" 
    390                 ."\n\t<td title='".htmlentities($rowb["bartd"], ENT_QUOTES, "UTF-8")."'>"; 
    391                         if ($showkey) {echo "<span class='key'>".$buch."</span> ";} 
    392                         echo $bart 
    393                 ."</td>" 
    394                 ."\n\t<td>" 
    395                         ."\n\t\t<p class='nwlink noprint'>" 
    396                         ."\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b."#bvnr".$lfdnr; 
    397                                 if ($showkey) {echo "&amp;showkey=j";} 
    398                                 echo "' title='Nachweis des berechtigten Blattes an ".$blattart."'>".$rowb["blattartv"]; // oder "zu" statt "an" 
    399                                 echo " \n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>" 
    400                         ."\n\t\t</p>" 
    401                 ."</td>" 
    402         ."\n</tr>"; 
     409                // Link "nach oben" - bringt das Nutzen? Nur bei ganz langen BestÀnden. 
     410/*                      echo "\n\t\t<p class='noprint'>&nbsp;"; 
     411                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."#bvnr".$anlfdnr; 
     412                                if ($idanzeige) {echo "&amp;id=j";} 
     413                                if ($showkey)   {echo "&amp;showkey=j";} 
     414                                echo "' title='Sprung nach oben zum Grundst&uuml;ck'>hoch</a>"; 
     415                        echo "\n\t\t</p>"; 
     416        ++ <p> auflösen, sonst 2 Zeilen im <td> ++ 
     417*/ 
     418                echo "</td>"; 
     419                echo "\n\t<td>".$rowb["land"]."</td>"; 
     420                echo "\n\t<td>"; // Amtsgericht 
     421                        echo dienststellenart($rowb["stellenart"])." "; 
     422                        if ($showkey) { 
     423                                echo "<span class='key'>".$rowb["stelle"]."</span> "; 
     424                        } 
     425                        echo $rowb["bezeichnung"]; 
     426                echo "</td>"; 
     427                echo "\n\t<td>"; 
     428                        if ($showkey) { 
     429                                echo "<span class='key'>".$rowb["bezirk"]."</span> "; 
     430                        } 
     431                        echo $rowb["beznam"]; 
     432                echo "</td>"; 
     433                echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>"; 
     434                        if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt", "");} 
     435                echo "</td>"; 
     436                echo "\n\t<td>".$bvnr; 
     437                        if ($idanzeige) {linkgml($gkz, $gml_s, "Buchungsstelle", "ax_buchungssstelle");} 
     438                echo "</td>"; 
     439                echo "\n\t<td>"; 
     440                        if ($showkey) { 
     441                                echo "<span class='key'>".$buch."</span> "; 
     442                        } 
     443                        echo $bart; 
     444                echo "</td>"; 
     445                echo "\n\t<td>"; 
     446                        echo "\n\t\t<p class='nwlink noprint'>"; 
     447                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b."#bvnr".$lfdnr; 
     448                                if ($idanzeige) {echo "&amp;id=j";} 
     449                                if ($showkey)   {echo "&amp;showkey=j";} 
     450                                echo "' title='Nachweis des berechtigten Blattes an ".$blattart."'>"; // oder "zu" statt "an" 
     451                                echo blattart($blart); 
     452                                echo " \n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>"; 
     453                        echo "\n\t\t</p>"; 
     454                echo "</td>"; 
     455        echo "\n</tr>"; 
    403456        $b++; 
    404457} 
     
    415468?> 
    416469 
    417 <div class='buttonbereich noprint'> 
    418 <hr> 
    419         <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    420         <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
    421         <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_gb.png" width="32" height="16" alt="Export"></a>&nbsp; 
    422 </div> 
     470<form action=''> 
     471        <div class='buttonbereich noprint'> 
     472        <hr> 
     473                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
     474                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
     475                <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_gb.png" width="32" height="16" alt="Export"></a>&nbsp; 
     476        </div> 
     477</form> 
     478 
    423479<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
     480 
    424481</body> 
    425482</html> 
  • trunk/info/info/alkis/alkisexport.php

    r376 r377  
    66        Der View verkettet Flurstueck - Buchungsstelle - Grundbuch - Eigentuemer 
    77        Die Lagebezeichnung des FlurstÃŒcks wird in ein Feld komprimiert. 
    8         Parameter Beispiele:  
    9                 ?gkz=mandant&tabtyp=flurstueck/grundbuch/person&gmlid=DE... 
    10                 ?gkz=270&tabtyp=gemarkung&gemarkung=2662    
    11                 ?gkz=270&gemarkung=2662 
    12         Parameter Beispiele fÃŒr Fehler: 
    13                 ?gkz=270&tabtyp=gemarkung&gmlid=2662 
    14                 ?gkz=270&tabtyp=flurstueck&gemarkung=2662 
    15                 ?gkz=270&tabtyp=flurstueck 
    16                 ?gkz=270&gmlid=2662 
     8        Parameter: gkz=mandant&gmlid=DE...&tabtyp=flurstueck/grundbuch/person 
    179 
    18         Version 
    19         2016-02-23 Version fuer norGIS-ALKIS-Import 
    20         2016-10-18 Export einer ganzen Gemarkung zulassen (Sonderfall bei den Parametern) 
    21         2016-11-29 Gemeinsam genutzte Datenbanken ermöglichen 
    22  
    23 ++ ToDo: SQL "exp_csv_str" und "exp_csv_str" optimieren 
     10        2014-01-17 krz f.j. 
     11        2014-01-20 weitere Spalten und verbesserte Formatierung 
     12        2014-01-21 Der View liefert "Rechtsgemeinschaft" nun als Feld in allen Personen-SÀtzen  
     13                        eines GB-Blattes statt als eigenen "Satz ohne Person". 
     14        2014-01-27 Erweiterung auf Filter "strasse" ("gml_id" aus "ax_lagebezeichnungkatalogeintrag") 
     15        2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     16        2014-09-10 Bei Relationen den Timestamp abschneiden 
     17        2014-09-30 RÃŒckbau substring(gml_id) 
     18        2015-12-09 LATIN1 in '' 
    2419*/ 
    2520 
     
    3631        $res=pg_prepare("", $sql); 
    3732        $res=pg_execute("", $v); 
    38         if (!$res) {return "** Fehler bei Lagebezeichnung **";} 
     33        if (!$res) { 
     34                return "** Fehler bei Lagebezeichnung **"; //.$sql; 
     35        } 
    3936        $j=0; 
    4037        $lagehsnr=""; 
     
    5754// HIER START // 
    5855 
    59 $gkz=''; $tabtyp = ''; $gemarkung=''; $gmlid=''; // erwartete Parameter initialisieren 
    60 $cntget = extract($_GET); // aktuelle Parameter aus URL auslesen 
    61 require_once("alkis_conf_location.php"); // Konfiguration laden 
    62 include("alkisfkt.php"); // Funktionen der ALKIS-Auskunft laden 
    63  
    64 if ($tabtyp == '') { // Parameter (-kombinationen) pruefen 
    65         if ($gemarkung == '') { // Beim Wert "gmlid" MUSS man die Tabelle dazu nennen 
    66                 exit ("Fehler: Art des Suchfilters nicht angeben."); 
    67         } else {  // Art des Wertes bestimmt eindeutig den Filter 
    68                 $tabtyp = 'gemarkung'; 
    69         } 
    70 } elseif ($tabtyp == 'gemarkung') { 
    71         if ($gemarkung == '') { 
    72                 exit ("Fehler: Gemarkungsnummer nicht angeben."); 
    73         } 
    74 } 
    75 if ($gmlid == '') { 
    76         if ($gemarkung == '') { 
    77                 exit ("Fehler: Kein Wert fuer die Suche angegeben."); 
    78         } else { // Wert fÃŒr Gemarkungsnummer angegeben 
    79                 if ($tabtyp != 'gemarkung') { 
    80                         exit ("Fehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Wert fuer Gemarkungsnummer."); 
    81                 } 
    82                 $filename='alkis_'.$tabtyp.'_'.$gemarkung.'.csv'; 
    83         } 
    84 } else { // alles gut 
    85         $filename='alkis_'.$tabtyp.'_'.$gmlid.'.csv'; 
    86 } 
    87  
    88 // DOWNLOAD der CSV-Datei vorbereiten (statt HTML-Ausgabe) 
     56$cntget = extract($_GET); // Parameter aus URL lesen 
    8957header('Content-type: application/octet-stream'); 
    90 header('Content-Disposition: attachment; filename="'.$filename.'"'); 
     58header('Content-Disposition: attachment; filename="alkis_'.$tabtyp.'_'.$gmlid.'.csv"'); 
     59require_once("alkis_conf_location.php"); 
     60include("alkisfkt.php"); 
    9161 
    9262// CSV-Ausgabe: Kopfzeile mit Feldnamen 
     
    9464 
    9565// Datenbank-Verbindung 
    96 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisexport.php'"); 
    97 if (!$con) {exit("Fehler beim Verbinden der DB");} 
     66$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     67if (!$con) { 
     68        exit("Fehler beim Verbinden der DB"); 
     69} 
    9870pg_set_client_encoding($con, 'LATIN1'); // FÃŒr Excel kein UTF8 ausgeben 
    99  
    100 $viewname="exp_csv"; // Standard-View, ist in der Datenbank gespeichert 
    101 $v=array($gmlid); // Standard-Filter-Feld 
    10271 
    10372// Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv". 
    10473switch ($tabtyp) { // zulaessige Werte fuer &tabtyp= 
    105         case 'flurstueck': // ax_flurstueck.gml_id 
    106                 $filter = "fsgml"; 
    107                 break; 
    108         case 'grundbuch': // ax_buchungsblatt.gml_id 
    109                 $filter = "gbgml"; 
    110                 break; 
    111         case 'person': // ax_person.gml_id 
    112                 $filter = "psgml"; 
    113                 break; 
    114         case 'strasse': // ax_lagebezeichnungkatalogeintrag.gml_id = Straße-GML-ID 
    115                 $filter = "stgml"; 
    116                 $viewname="exp_csv_str"; // alternativer View mit "_str", ist in der Datenbank gespeichert   
    117                 break; 
    118         case 'gemarkung': // SONDERfall als Parameter wird "Gemarkungsnummer" und nicht "gml_id" geliefert 
    119                 $filter = "gemarkungsnummer"; 
    120                 $v=array($gemarkung); // anderes Filter-Feld, anderer Parameter 
    121                 break; 
    122         default: 
    123                 exit("Falscher Parameter '".$tabtyp."'"); 
    124                 break; 
     74        case 'flurstueck': $filter = "fsgml"; break; // ax_flurstueck.gml_id 
     75        case 'grundbuch':  $filter = "gbgml"; break; // ax_buchungsblatt.gml_id 
     76        case 'person':     $filter = "psgml"; break; // ax_person.gml_id 
     77        case 'strasse':    $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = Straße-GML-ID 
     78        default: exit("Falscher Parameter '".$tabtyp."'"); break; 
    12579} 
    12680 
    12781// Daten aus gespeichertem View, zusaetzlich Filter: "feld"='wert' mitgeben 
    128 $sql="SELECT * FROM ".$viewname." WHERE ".$filter." = $1 "; 
     82if ($tabtyp == 'strasse') { // Sonderversion 
     83        $sql="SELECT * FROM exp_csv_str WHERE ".$filter." = $1 "; 
     84} else { 
     85        $sql="SELECT * FROM exp_csv WHERE ".$filter." = $1 "; 
     86} 
    12987 
     88$v=array($gmlid); 
    13089$res=pg_prepare("", $sql); 
    13190$res=pg_execute("", $v); 
     
    147106        $flstnummer=$row["zaehler"]; 
    148107        $nenner=$row["nenner"]; 
    149         // Bruchnummer kann in Excel als Datum interpretiert werden. In '' setzen. 
    150         if ($nenner > 0) {$flstnummer="'".$flstnummer."/".$nenner."'";} // BruchNr 
     108        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr 
    151109        $fs_flae=$row["fs_flae"]; // amtliche Fl. aus DB-Feld 
    152110 
     
    182140                        $rechtsg=$row["nam_bes"]; // Beschrieb der Rechtsgemeinschaft 
    183141                } else { 
    184                 //      $rechtsg=rechtsgemeinschaft($nam_adr); // EntschlÃŒsseln 
    185                         $rechtsg=$row["nam_adrv"]; // Art der Rechtsgemeischaft (Value zum Key) 
     142                        $rechtsg=rechtsgemeinschaft($nam_adr); // EntschlÃŒsseln 
    186143                } 
    187144        } 
     
    191148        $nana=$row["nachnameoderfirma"]; 
    192149        $namteil=$row["namensbestandteil"]; 
    193         //$name=anrede($row["anrede"]);   
    194         $name=$row["anrv"]; // Anrede (Value zum Key) 
     150        $name=anrede($row["anrede"]); 
    195151        if ($name != "") {$name.=" ";} // Trenner 
    196152        if ($namteil != "") {$name.=$namteil." ";} // von und zu 
  • trunk/info/info/alkis/alkisfkt.php

    r376 r377  
    11<?php 
    22/*      Modul: alkisfkt.php 
    3  
    43        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    54        Functions 
    65 
    76        Version: 
    8         2016-02-24 Version fuer norGIS-ALKIS-Import, "function linkgml" raus. Case-EntschlÃŒsselung raus. 
    9         2016-03-03 Hinweis auf Datenfehler wenn "ax_person" fehlt in function "eigentuemer" 
    10         2016-03-14 Kleine Korrekturen 
    11         2016-11-29 Gemeinsam genutzte Datenbanken ermöglichen (Filter Gemeinde) 
     7        2010-12-17 Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
     8        2011-11-01 *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
     9        2011-11-02 Parameter debug in function eigentuemer 
     10        2011-11-17 Variable ($debug, $idanzeige, $showkey) von Parameter nach global. Die heißen in allen Programmteilen gleich. 
     11        2014-01-22 Eigentuemerart: Mehr Werte und Zugriff auf DB-SchlÃŒssel-Tabelle 
     12        2014-02-06 Korrektur EigentÃŒmerart 
     13        2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     14        2014-09-15 Bei Relationen den Timestamp abschneiden 
     15        2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 
     16        2014-12-30 class='fsnr' 
     17        2015-12-09 Austausch .ico durch .png 
    1218*/ 
    1319 
    1420function footer($gmlid, $link, $append) { 
    1521        // Einen Seitenfuss ausgeben. 
     22        // Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen. 
    1623        // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor 
    17         // Den URL-Parameter "&showkey=j/n" umschalten lassen. 
    18         // $append wird angehaengt wenn gefuellt. Anwendung: &eig=j bei FS-NW, &ltyp=m/p/o bei Lage 
    19         global $gkz, $showkey, $hilfeurl, $auth; 
    20  
    21         echo "\n<div class='confbereich noprint'>" 
    22         ."\n<table class='outer'>\n<tr>"; 
     24 
     25        // Der Parameter $append wird angehaengt wenn gefuellt 
     26        //  Anwendung: &eig=j bei FS-NW, &ltyp=m/p/o bei Lage 
     27        global $gkz, $idumschalter, $idanzeige, $showkey, $hilfeurl; 
     28 
     29        $customer=$_SESSION["mb_user_name"]; 
     30        echo "\n<div class='confbereich noprint'>"; 
     31        echo "\n<table class='outer'>\n<tr>"; 
    2332 
    2433        // Spalte 1: Info Benutzerkennung 
    25         if ($auth == "mapbender") { 
    26                 $customer=$_SESSION["mb_user_name"]; 
    27                 echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>"; 
    28         } else { 
    29                 echo "\n\t<td>&nbsp;</td>"; 
    30         } 
     34        echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>"; 
    3135 
    3236        // Spalte 2: Umschalter 
    3337        echo "\n\t<td title='Konfiguration'>"; 
    3438                $mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append; 
    35  
    36                 if ($showkey) { // Umschalten SchlÃŒssel ein/aus 
    37                         echo $mylink."&amp;showkey=n' title='Verschl&uuml;sselungen ausblenden'>Schl&uuml;ssel aus</a>"; 
     39                if ($showkey) {$mykey = "&amp;showkey=j";} else {$mykey = "&amp;showkey=n";} 
     40                if ($idumschalter) { // fuer Entwicklung ODER Test 
     41                        if ($idanzeige) {$myid = "&amp;id=j";} else {$myid = "&amp;id=n";} 
     42 
     43                        // Umschalter nur ausgeben, wenn in conf gesetzt 
     44                        if ($idanzeige) { // Umschalten ID ein/aus 
     45                                echo $mylink.$mykey."&amp;id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>"; 
     46                                echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''> ID aus</a>"; 
     47                        } else { 
     48                                echo $mylink.$mykey."&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>"; 
     49                                echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''> ID ein</a>"; 
     50                        } 
     51                        echo " | "; 
     52                } else { // keinen ID-Umschalter 
     53                        $myid = ""; 
     54                } 
     55 
     56                if ($showkey) { // // Umschalten SchlÃŒssel ein/aus 
     57                        echo $mylink.$myid."&amp;showkey=n' title='Verschl&uuml;sselungen ausblenden'>Schl&uuml;ssel aus</a>"; 
    3858                } else { 
    39                         echo $mylink."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>"; 
     59                        echo $mylink.$myid."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>"; 
    4060                } 
    4161        echo "\n\t</td>"; 
    4262 
    4363        // Spalte 3 
    44         echo "\n\t<td title='Hilfe'>" 
    45         ."\n\t\t<p class='nwlink'>\n\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t</p>\n\t</td>" 
    46         ."\n</tr>\n</table>\n</div>\n"; 
     64        echo "\n\t<td title='Hilfe'>"; 
     65        echo "\n\t\t<p class='nwlink'>\n\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t</p>\n\t</td>"; 
     66        echo "\n</tr>\n</table>\n</div>\n"; 
    4767        return 0; 
    4868} 
    4969 
    50 function ber_bs_hinw($gmls) { 
    51         // Unter einem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen 
    52         // In FS-Nachweis wird nur der EigentÃŒmer des direkt gebuchten GrundstÃŒcks angezeigt. 
    53         // Den Erbbauberechtigten sieht man erst in der Grundbuch-Auskunft. 
    54         global $debug, $showkey; 
    55  
    56         // Buchungstelle dien. >an> Buchungstelle herr. 
    57         $sql ="SELECT count(sh.gml_id) AS anz, sh.buchungsart, a.v " 
    58         ."FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) "  
    59         ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) "  
    60         ."WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " 
    61         ."GROUP BY sh.buchungsart, a.v;"; 
    62  
    63         $v = array($gmls); // id dienende BS 
    64         $resan = pg_prepare("", $sql); 
    65         $resan = pg_execute("", $v); 
    66         if (!$resan) { 
    67                 echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>\n"; 
    68                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 
    69         } 
    70         $an=0; 
    71         while($rowan = pg_fetch_array($resan)) { 
    72                 $an++; 
    73                 if ($an == 1) {echo "\n\t<br>\n\t<p class='nwlink' title='Andere Grundst&uuml;cke mit Rechten an diesem.'>Berechtigte Buchungen:<br><b>";} 
    74                 if ($an > 1) {echo",<br>";} // kann es gemischste Buchungsarten geben? 
    75                 echo $rowan["anz"]." ".htmlentities($rowan["v"], ENT_QUOTES, "UTF-8"); 
    76                 if ($showkey) {echo " <span class='key'>(".$rowan["buchungsart"].")</span>";} 
    77         } 
    78         if ($an == 0) { 
    79                 echo "<br><p class='nwlink' title='Kein anderes Grundst&uuml;ck hat ein Recht an diesem.'>Keine berechtigte Buchung</p>"; 
    80         } else { 
    81                 echo "</b></p>"; 
    82         } 
    83         pg_free_result($resan); 
     70function linkgml($gkz, $gml, $typ, $tabelle)  { 
     71        // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php 
     72        // tabelle = nur angeben fÃŒr Tabellen, die Relationen-Spalten besitzen, sonst leer 
     73        $kurzid=substr($gml, 12, 4); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich 
     74        // PostNAS 0.8: Timestamp abschneiden 
     75        echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' "; 
     76        echo "href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gml."&amp;otyp=".$typ."&amp;tabelle=".$tabelle."'>"; 
     77        echo "<img src='ico/Beziehung_link.png' width='16' height='16' alt=''>".$kurzid."</a>"; 
     78        return 0; 
    8479} 
    8580 
     
    9085        $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang 
    9186        $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe 
    92         $kurz=rtrim($kurz); // Leerzeichen hinten 
    93         // echo "/n<p class='dbg'> lang='".$lang."'</p>/n<p class='dbg'> kurz='".$kurz."'</p>"; 
    9487        return $kurz; 
    9588} 
    9689 
    97 function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus, $bartkey, $bartstory) { 
     90function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) { 
    9891/*      Bestandsnachweis - Flurstuecksdaten 
    9992        Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. 
    10093        Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). 
    10194        Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. 
    102         Table-Tag und Tabellenkopf werden im aufrufenden Programm ausgegeben. */ 
    103         global $debug, $gkz, $showkey, $filtkreis, $filtgem; 
     95        Table-Tag und Kopfzeile im aufrufenden Programm. */ 
     96        global $debug, $gkz, $idanzeige, $showkey; 
    10497 
    10598        // F L U R S T U E C K 
     
    107100        FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
    108101        LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    109         WHERE f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL AND s.gml_id= $1 "; 
    110         if ($filtgem == '' ) { // ungefiltert 
    111                 $v=array($gml_bs); 
    112         } else { 
    113                 $sql.="AND f.kreis = $2 AND f.gemeinde = $3 "; // ZustÀndiges Gebiet 
    114                 $v=array($gml_bs, $filtkreis, $filtgem); 
    115         } 
    116         $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     102        WHERE s.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     103 
     104        $v = array($gml_bs); 
    117105        $resf = pg_prepare("", $sql); 
    118106        $resf = pg_execute("", $v); 
     
    121109        if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben 
    122110                $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    123         } else { 
    124                 $bvnr=""; 
    125111        } 
    126112        $altlfdnr=""; 
     
    137123                echo "\n<tr>"; // eine Zeile je Flurstueck 
    138124                        // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS 
    139                         if($lfdnr == $altlfdnr) { // gleiches Grundstueck 
    140                                 echo "\n\t<td>&nbsp;</td>" 
    141                                 ."\n\t<td>&nbsp;</td>" 
    142                                 ."\n\t<td>&nbsp;</td>"; 
    143                         } else { // Sprungmarke, BVNR 
    144                                 echo "\n\t<td>" 
    145                                         ."<a id='bvnr".$lfdnr."'></a><span class='wichtig'>".$bvnr."</span>" /// ++++ FEHLER?? $bvnr 
    146                                 ."</td>"; 
    147  
    148                                 echo "\n\t<td title ='".$bartstory."'>"; // Buchungsart  
    149                                         if ($showkey) {echo "<span class='key'>".$bartkey."</span>&nbsp;";} // Schluessel 
     125                        if($lfdnr == $altlfdnr) {       // gleiches Grundstueck 
     126                                echo "\n\t<td>&nbsp;</td>"; 
     127                                echo "\n\t<td>&nbsp;</td>"; 
     128                                echo "\n\t<td>&nbsp;</td>"; 
     129                        } else { 
     130                                echo "\n\t<td>"; 
     131                                        echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke 
     132                                        echo "<span class='wichtig'>".$bvnr."</span>";  // BVNR 
     133                                        if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");} 
     134                                echo "</td>"; 
     135 
     136                                echo "\n\t<td>"; // Buchungsart  
     137                                        //      if ($showkey) {echo "<span class='key'>".$???."</span>&nbsp;";} // Schluessel 
    150138                                        echo $ba; // entschluesselt 
    151                                 echo "</td>" 
    152                                 ."\n\t<td>&nbsp;</td>"; // Anteil 
     139                                echo "</td>";  
     140                                echo "\n\t<td>&nbsp;</td>"; // Anteil 
    153141                                $altlfdnr=$lfdnr; 
    154142                        } 
    155143                        //Sp. 4-7 aus Flurstueck 
    156144                        echo "\n\t<td>"; 
    157                         if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";} 
    158                         echo $rowf["bezeichnung"]."</td>" 
    159                         ."\n\t<td>".$flur."</td>" 
    160                         ."\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span>" 
    161                         ."</td>" 
    162                         ."\n\t<td class='fla'>".$flae."</td>"; 
    163  
    164                         echo "\n\t<td><p class='nwlink noprint'>" 
    165                                 ."<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
     145                        if ($showkey) { 
     146                                echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> "; 
     147                        } 
     148                        echo $rowf["bezeichnung"]."</td>"; 
     149                        echo "\n\t<td>".$flur."</td>"; 
     150                        echo "\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span>"; 
     151                                if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck", "ax_flurstueck");} 
     152                        echo "</td>"; 
     153                        echo "\n\t<td class='fla'>".$flae."</td>"; 
     154 
     155                        echo "\n\t<td><p class='nwlink noprint'>"; 
     156                                echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
     157                                        if ($idanzeige) {echo "&amp;id=j";} 
    166158                                        if ($showkey)   {echo "&amp;showkey=j";} 
    167                                         echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
    168                                         ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    169                                 ."</a>" 
    170                         ."</p></td>" 
    171                 ."\n</tr>"; 
     159                                        echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck "; 
     160                                        echo "<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; 
     161                                echo "</a>"; 
     162                        echo "</p></td>"; 
     163                echo "\n</tr>"; 
    172164 
    173165                $j++; 
     
    178170                if ($debug > 2) {echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>";} 
    179171        } */ 
     172 
    180173        pg_free_result($resf); 
    181174        return $j; 
     
    192185        // Schleife 1: N a m e n s n u m m e r 
    193186        // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 
    194         global $debug, $gkz, $showkey; 
     187        global $debug, $gkz, $idanzeige, $showkey; 
    195188 
    196189        // Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal) 
     
    203196        } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; 
    204197 
    205         $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass, n.benennt, wn.v AS adrv, we.v AS eiartv 
    206 FROM ax_namensnummer n  
    207 LEFT JOIN alkis_wertearten wn ON cast(n.artderrechtsgemeinschaft AS character varying)=wn.k AND wn.element='ax_namensnummer' AND wn.bezeichnung='artderrechtsgemeinschaft'  
    208 LEFT JOIN alkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart' 
    209 WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
     198        $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 
     199        $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
    210200 
    211201        $v = array($gmlid); // 16 Stellen bei Relationen 
     
    214204 
    215205        if (!$resn) { 
    216                 echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>\n"; 
     206                echo "<p class='err'>Fehler bei Eigent&uuml;mer</p>\n"; 
    217207                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
    218208        } 
    219209 
    220         echo "\n<table class='eig'>"; 
     210        echo "\n\n<table class='eig'>"; 
    221211        $n=0; // Z.NamNum. 
    222212 
    223213        while($rown = pg_fetch_array($resn)) { 
    224214                $gmlnn=$rown["gml_id"]; 
    225                 $namnum=kurz_namnr($rown["lfd"]); 
    226                 $rechtsg=$rown["adr"]; 
    227                 echo "\n<tr>" 
    228                         ."\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>" // Sp. 1 
    229                                 .$namnum."&nbsp;" // VOR die Tabelle: "EigentÃŒmer" 
    230                         ."</p>\n\t</td>" 
    231                         . "\n\t<td>"; // Sp. 2 
     215                echo "\n<tr>"; 
     216                        echo "\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>"; // Sp. 1 
     217                                // VOR die Tabelle: "EigentÃŒmer" 
     218                                $namnum=kurz_namnr($rown["lfd"]); 
     219                                echo $namnum."&nbsp;"; 
     220                                if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer", "ax_namensnummer");} 
     221                        echo "</p>\n\t</td>"; 
     222 
     223                        echo "\n\t<td>"; // Sp. 2 
     224                        $rechtsg=$rown["adr"]; 
    232225                        if ($rechtsg != "" ) { 
    233226                                if ($rechtsg == 9999) { // sonstiges 
    234227                                        echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 
    235228                                } else { 
    236                                         echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."</p>"; 
     229                                        echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; 
    237230                                } 
    238231                        } 
     
    247240                        // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 
    248241 
     242 
    249243                // Schleife 2: P e r s o n 
    250244                // Beziehung: ax_person  <benennt<  ax_namensnummer 
    251  
    252         //      $sqlp="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad " 
    253         //      ."FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=p.gml_id WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 
    254         //      $v = array($gmlnn); 
    255  
    256         // 03.03.16: 
    257                 $sqlp="SELECT gml_id, nachnameoderfirma, vorname, geburtsname, geburtsdatum, namensbestandteil, akademischergrad " 
    258                 ."FROM ax_person WHERE gml_id= $1 AND endet IS NULL;"; 
    259                 $gmlpers=$rown["benennt"]; 
    260                 $v = array($gmlpers); // gml_id von ax_person 
     245                $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 
     246                $sqlp.="FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=p.gml_id WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 
     247 
     248                $v = array($gmlnn); 
    261249                $resp = pg_prepare("", $sqlp); 
    262250                $resp = pg_execute("", $v); 
     251 
    263252                if (!$resp) { 
    264253                        echo "\n\t<p class='err'>Fehler bei Person</p>\n"; 
    265                         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlpers."'</p>";} 
     254                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";} 
    266255                } 
    267256 
    268257                $i=0; // cnt Person 
    269                 while($rowp = pg_fetch_array($resp)) { // Schleife weglassen? nn >benennt> Person ist KEIN Array! 
    270                         $diePerson=""; //++ Anrede? 
     258                while($rowp = pg_fetch_array($resp)) {  // ++ Schleife? nn >benennt> Person ist kein Array! 
     259                        $diePerson=""; 
    271260                        if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} 
    272261                        $diePerson.=$rowp["nachnameoderfirma"]; 
     
    277266                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 
    278267 
    279                         if ($i > 0) { // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 
     268                        // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 
     269                        if ($i > 0) { 
    280270                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>"; 
    281271                        } 
    282272                        // Spalte 2 = Angaben 
    283                         $eiartkey=$rown["eigentuemerart"]; // Key 
    284                         $eiart=$rown["eiartv"]; // Value 
     273                        $eiartkey=$rown["eigentuemerart"]; 
     274                        $eiart=eigentuemerart($eiartkey); 
    285275                        echo "\n\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t</td>"; 
    286276 
    287277                        // Spalte 3 = Link 
    288278                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     279                                if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo "&nbsp";} 
    289280                                if ($showkey AND $eiartkey != '') { // oft leer 
    290281                                                echo "<span class='key'>(".$eiartkey.")</span> "; 
    291282                                } 
    292                                 echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0]; 
     283                                echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp["gml_id"]; 
     284                                if ($idanzeige) {echo "&amp;id=j";} 
    293285                                if ($showkey)   {echo "&amp;showkey=j";} 
    294                                 echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart 
    295                                 ." <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>" 
    296                         ."\n\t</td>\n</tr>"; 
     286                                echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart; 
     287                                echo " <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>"; 
     288                        echo "\n\t</td>\n</tr>"; 
    297289 
    298290                        if ($mitadresse) { 
    299291                                // Schleife 3:  A d r e s s e  (OPTIONAL) 
    300                                 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland " 
    301                                 ."FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL LIMIT 2;"; 
     292                                $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland  
     293                                FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL LIMIT 2;"; 
    302294                                $gmlp=$rowp["gml_id"]; // Person 
    303295                                $v = array($gmlp); 
     
    327319                                                echo "\n<tr>\n\t<td>&nbsp;</td>"; //Sp. 1 
    328320                                                echo "\n\t<td><p class='gadr'>"; //Sp. 2 
    329                                                 if ($str.$hsnr != "") {echo $str." ".$hsnr."<br>";} 
    330                                                 if ($plz.$ort != "") {echo $plz." ".$ort;} 
    331                                                 if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} 
    332                                                 echo "</p></td>\n\t<td>"; // Sp. 3 
    333                                                 echo "&nbsp;</td>\n</tr>"; 
     321                                                if ($str.$hsnr != "") { 
     322                                                        echo $str." ".$hsnr."<br>"; 
     323                                                } 
     324                                                if ($plz.$ort != "") { 
     325                                                        echo $plz." ".$ort; 
     326                                                } 
     327                                                if ($land != "" and $land != "DEUTSCHLAND") { 
     328                                                        echo ", ".$land; 
     329                                                } 
     330                                                echo "</p></td>"; 
     331                                                echo "\n\t<td>"; // Sp. 3 
     332                                                if ($idanzeige) { 
     333                                                        echo "<p class='nwlink noprint'>"; 
     334                                                        linkgml($gkz, $gmla, "Adresse", "ax_adresse"); 
     335                                                        echo "</p>"; 
     336                                                } else {  
     337                                                        echo "&nbsp;"; 
     338                                                } 
     339                                                echo "</td>\n</tr>"; 
    334340                                        } else { // manchmal dopplete Angaben (_straße / _str.) 
    335341                                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>\n\t<td>&nbsp;</td>\n</tr>"; 
     
    348354                                $nenner=str_replace(".", ",", $rown["nenner"]); 
    349355                                $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundst&uuml;ck oder Recht)."; 
    350                                 echo "\n<tr>\n\t<td>&nbsp;</td>" // Sp. 1 
    351                                 ."\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>" 
    352                                 ."\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3 
     356                                echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1 
     357                                echo "\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>"; 
     358                                echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3 
    353359                        } 
    354360                } // End Loop Person 
    355                 if ($i == 0) { // Kine Parson. Kommt vor hinter Zeile "Erbengemeinschaft", ist dann KEIN Fehler 
    356                         if ($rechtsg != 9999) { 
    357                                 echo "\n<p class='err'>(Die Person mit der ID '".$gmlpers."' fehlt im Datenbestand)</p>"; 
    358                         } else { 
    359                                 if ($debug > 1) { // nur bei Entwicklung 
    360                                         echo "\n\t\t<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>"; 
     361                if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann KEIN Fehler 
     362                        if ($debug > 1) { // nur bei Entwicklung 
     363                                echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>"; 
     364                                if ($rechtsg != 9999) { 
     365                                        echo "\n<p class='dbg'>Fehler: Keine Person zur Namensnummer ".$namnum."</p>"; 
     366                                //      if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";} 
    361367                                } 
    362368                        } 
    363                         echo "</td>\n\t<td>&nbsp;</td>\n</tr>"; 
     369                        echo "</td>\n\t<td>&nbsp;</td>\n<tr>"; 
    364370                } 
    365371                $n++; // cnt NamNum 
    366372        } // End Loop NamNum 
    367         echo "\n</table>"; 
     373        echo "\n</table>\n"; 
    368374        if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler  
    369                 if ($debug > 1) { 
    370                         echo "\n<p class='dbg'>keine Namensnummern zum Blatt</p>"; 
    371                         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 
    372                 } 
     375                if ($debug > 1) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 
     376        //      if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 
    373377        } 
    374378        pg_free_result($resn); 
    375379        return $n;  
    376 } // End function eigentuemer 
    377  
     380} // End Function eigentuemer 
     381 
     382// **  Functions  zum   E n t s c h l u e s s e l n  ** 
     383 
     384// Entschluesslung ax_person.anrede 
     385function anrede($key) { 
     386        switch ($key) { 
     387                case 1000: $wert = "Frau"; break; 
     388                case 2000: $wert = "Herr"; break; 
     389                case 3000: $wert = "Firma"; break; 
     390                default:   $wert = ""; break; 
     391        } 
     392        return $wert; 
     393} 
     394 
     395// Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft 
     396function rechtsgemeinschaft($key) { 
     397        switch ($key) { 
     398                case 1000: $wert = "Erbengemeinschaft"; break; 
     399                case 2000: $wert = "GÃŒtergemeinschaft"; break; 
     400                case 3000: $wert = "BGB-Gesellschaft"; break; 
     401                case 9999: $wert = "Sonstiges"; break;  // dann: beschriebDerRechtsgemeinschaft 
     402                default:   $wert = ""; break; 
     403        } 
     404        return $wert; 
     405} 
     406 
     407// Entschluesslung AX_Namensnummer.eigentuemerart 
     408function eigentuemerart($key) { 
     409        // Die hÀufigsten Werte direkt aus den Programmcode liefern, ggf. angepasst. 
     410        // FÃŒr seltene Werte in der Datenbank nachschlagen. 
     411        // SchlÃŒsseltabelle dazu ist vorhanden seit 2014-01-22. 
     412        // Hier Verwendung fÃŒr Text zum Link. 
     413        // FÃŒr korrekte Wiedergabe der amtlichen Werte einen Join auf Tabelle verwenden statt dieser Function.  
     414        global $debug; 
     415        switch ($key) { 
     416                case 1000: $wert = "Nat&uuml;rliche Person"; break; // singular fuer Link-Text 
     417                case 2000: $wert = "Juristische Person"; break; // singl. 
     418                case 3000: $wert = "Körperschaft"; break; // singl. 
     419                case 4000: $wert = "Kirchliches Eigentum"; break; 
     420                case 4100: $wert = "Evangelische Kirche"; break; 
     421                case 4200: $wert = "Katholische Kirche"; break; 
     422                case 5100: $wert = "Bundesrepublik Deutschland"; break; 
     423                case 5400: $wert = "Kreis"; break; 
     424                case 5500: $wert = "Gemeinde"; break; 
     425                case 5920: $wert = "Land"; break; // "Eigenes Bundesland" 
     426                case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt 
     427                default: // Datenbank-Abfrage 
     428                        $sql="SELECT bezeichner FROM v_namnum_eigart WHERE wert= $1 ;"; 
     429                        $v=array($key); 
     430                        $res=pg_prepare("", $sql); 
     431                        $res=pg_execute("", $v); 
     432                        if ($res) { 
     433                                $row=pg_fetch_array($res); 
     434                                $wert=htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8"); 
     435                                if ($wert == "") {$wert="** Eigent&uuml;merart '".$key."' nicht gefunden **";} 
     436                        } else { 
     437                                echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf EigentÃŒmerart.</p>\n"; 
     438                                $wert="** Unbekannte Eigent&uuml;merart '".$key."' **"; 
     439                        } 
     440                        pg_free_result($res); 
     441                        break; 
     442        } 
     443        return $wert; 
     444} 
     445 
     446// Entschluesslung ax_buchungsblatt.blattart 
     447function blattart($key) { 
     448        switch ($key) { 
     449                case 1000: $wert = "Grundbuchblatt"; break; 
     450                // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt. 
     451                case 2000: $wert = "Katasterblatt"; break; 
     452                // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt. 
     453                case 3000: $wert = "Pseudoblatt"; break; 
     454                // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt  
     455                // (z.B. Übernahme von Flurbereinigungsverfahren, Umlegungsverfahren). 
     456                case 5000: $wert = "Fiktives Blatt"; break; 
     457                // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes.  
     458                // Es bildet um die Miteigentumsanteile eine fachliche Klammer. 
     459                default: $wert = "** Unbekannter Wert '".$key."'"; break; 
     460        } 
     461        return $wert; 
     462} 
     463// Entschluesslung ax_dienststelle.stellenart 
     464function dienststellenart($key) { 
     465        switch ($key) { 
     466                case 1000: $wert = "Grundbuchamt"; break; 
     467                case 1100: $wert = "Katasteramt"; break; 
     468                case 1200: $wert = "Finanzamt"; break; 
     469                case 1300: $wert = "Flurbereinigungsbeh&ouml;rde"; break; 
     470                case 1400: $wert = "Forstamt"; break; 
     471                case 1500: $wert = "Wasserwirtschaftsamt"; break; 
     472                case 1600: $wert = "Straßenbauamt"; break; 
     473                case 1700: $wert = "Gemeindeamt"; break; 
     474                case 1900: $wert = "Kreis- oder Stadtverwaltung"; break; 
     475                case 2000: $wert = "Wasser- und Bodenverband"; break; 
     476                case 2100: $wert = "Umlegungsstelle"; break; 
     477                case 2200: $wert = "Landesvermessungsverwaltung"; break; 
     478                case 2300: $wert = "&Ouml;bVI"; break; 
     479                case 2400: $wert = "Bundeseisenbahnverm&ouml;gen"; break; 
     480                case 2500: $wert = "Landwirtschaftskammer"; break; 
     481                default: $wert = "** Unbekannter Wert '".$key."'"; break; 
     482        } 
     483        return $wert; 
     484} 
    378485?> 
  • trunk/info/info/alkis/alkisfshist.php

    r376 r377  
    55        Flurstuecks-Historie fuer ein Flurstueckskennzeichen aus ALKIS PostNAS 
    66        Version: 
    7         2016-02-24 Version fuer norGIS-ALKIS-Import 
    8         2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Filter Gemeinde) 
     7        2011-11-16 Zum aktuellen FS die VorgÀnger suchen 
     8        2011-11-17 Parameter der Functions geÀndert 
     9        2011-11-30 import_request_variables 
     10        2012-11-27 Function split deprecated: explode 
     11        2013-04-08 deprecated "import_request_variables" ersetzt 
     12        2014-09-15 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     13        2015-12-09 Austausch .ico durch .png 
    914*/ 
    1015 
     
    2631function vornach($dbarr) { 
    2732// Datenbank-Array-Feld zeilenweise ausgeben als Selbst-Link 
    28         global $gkz, $showkey; 
     33        global $gkz, $idanzeige, $showkey; 
    2934        if ($dbarr == "") { 
    3035                echo "(keine)"; 
    3136        } else { 
    3237                $stri=trim($dbarr, "{}"); 
     38                //$arr = split(",",$stri); 
    3339                $arr = explode(",",$stri); 
    3440                foreach($arr AS $val){ 
    3541                        echo "Flurst&uuml;ck <a title=' zur Flurst&uuml;ck Historie' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;fskennz=".$val; 
     42                        if ($idanzeige) {echo "&amp;id=j";} 
    3643                        if ($showkey)   {echo "&amp;showkey=j";} 
    3744                        echo "'>".fzerleg($val)."</a><br>"; 
     
    4249 
    4350function gemkg_name($gkey) { 
    44 //      Schluessel wird ÃŒbergeben, Name dazu in der DB nachschlagen 
     51// Schluessel wird uebergeben, Name in DB nachschlagen 
    4552        global $con; 
    46         $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 AND g.endet IS NULL LIMIT 1;"; 
     53        $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;"; 
    4754        $v=array($gkey); 
    4855        $res=pg_prepare("", $sql); 
     
    6572// Akt. FS hat keine Verweise auf Vorgaenger. Darum in den Nachfolger-Verweisen von Hist.-FS suchen. 
    6673// Problem: Dies sind Arrays, die nicht performant durchsucht werden koennen. 
    67         global $gkz, $con, $debug, $showkey, $filtkreis, $filtgem; 
     74        global $gkz, $con, $debug; 
    6875 
    6976        $wherecl="WHERE $1 = ANY (nachfolgerflurstueckskennzeichen) "; 
     
    93100                $vfsk=$rowv["flurstueckskennzeichen"]; 
    94101                echo "Flurst&uuml;ck <a title='Historie des Vorg&auml;ngerflurst&uuml;cks' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;fskennz=".$vfsk."&amp;gmlid=".$gmlv; 
    95                         if ($showkey) {echo "&amp;showkey=j";} 
     102                if ($idanzeige) {echo "&amp;id=j";} 
     103                        if ($showkey)   {echo "&amp;showkey=j";} 
    96104                echo "'>".fzerleg($vfsk)."</a><br>"; 
    97105                $zv++; 
     
    108116if ($auth == "mapbender") {require_once($mapbender);} 
    109117include("alkisfkt.php"); 
     118if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    110119$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    111120if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    112121?> 
    113 <!doctype html> 
    114 <html lang="de"> 
     122<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     123<html> 
    115124<head> 
    116         <meta charset="utf-8"> 
     125        <meta name="author" content="b600352" > 
     126        <meta http-equiv="cache-control" content="no-cache"> 
     127        <meta http-equiv="pragma" content="no-cache"> 
     128        <meta http-equiv="expires" content="0"> 
     129        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    117130        <title>ALKIS Flurst&uuml;cks-Historie</title> 
    118131        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    124137<body> 
    125138<?php 
    126 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfshist.php'"); 
     139$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    127140if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     141// if ($debug > 1) {echo "<p class='err'>DB=".$dbname.", user=".$dbuser."</p>";} 
    128142 
    129143// Such-Parameter bekommen? Welche? 
     
    133147        $whereclause="WHERE gml_id= $1 "; 
    134148        $v = array($gmlid); 
    135 } elseif ($fskennz != "") { // Alternativ: Flurst.-Kennz. uebergeben 
     149} else {        // Alternativ: Flurst.-Kennz. uebergeben 
     150        if ($fskennz != "") { 
    136151                $parmtyp="Flurst&uuml;ckskennzeichen"; 
    137152                $parmval=$fskennz; 
    138153                $whereclause="WHERE flurstueckskennzeichen= $1 "; // hinten auffuellen mit _ auf 20 Stellen 
    139154                $v = array($fskennz); 
    140 } else { // Pfui! 
     155        } else { // Pfui! 
    141156                $parmtyp=""; 
    142157                echo "<p class='err'>Parameter 'gmlid' oder 'fskennz' fehlt.</p>"; 
     158        } 
    143159} 
    144160 
    145161if ($parmtyp != "") { // einer der beiden erlaubten FÀlle 
    146         // UNION-Abfrage auf 3Àhnliche Tabellen, darin aber immer nur 1 Treffer. 
    147         // norGIS: unterschiedliche Formate der gleichen Spalten, Typumwandlung "cast" verwenden. 
    148  
    149         $felder="gml_id, flurnummer, cast(zaehler AS character varying), cast(nenner AS character varying), flurstueckskennzeichen, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, "; 
    150  
    151         if ($filtgem == '') { // Filter Gemeinde ? 
    152                 $wheref=''; 
    153                 $whereh=''; 
    154                 $whereo=''; 
    155         } else { // ZusÀtze zur WHERE-Clausel 
    156                 $wheref=" AND f.kreis = '".$filtkreis."' AND f.gemeinde = '".$filtgem."' "; 
    157                 $whereh=" AND h.kreis = '".$filtkreis."' AND h.gemeinde = '".$filtgem."' "; 
    158                 $whereo=" AND o.gemeinde = '".$filtgem."' "; 
    159         } 
    160  
    161         $sqlu ="SELECT 'a' AS ftyp, ".$felder."null AS nach, null AS vor, null AS \"name\" FROM ax_flurstueck f ".$whereclause.$wheref." AND f.endet IS NULL " 
    162         ."UNION SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueck h ".$whereclause.$whereh." AND h.endet IS NULL " 
    163         ."UNION SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueckohneraumbezug o ".$whereclause.$whereo." AND o.endet IS NULL;"; 
     162        // UNION-Abfrage auf 3 Àhnliche Tabellen, darin aber immer nur 1 Treffer. 
     163 
     164        $felder="gml_id, flurnummer, zaehler, nenner, flurstueckskennzeichen, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, "; 
     165 
     166        $sqlu ="SELECT 'a' AS ftyp, ".$felder."null AS nach, null AS vor, null AS \"name\" FROM ax_flurstueck f ".$whereclause." AND f.endet IS NULL " 
     167        ."UNION SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueck h ".$whereclause." AND h.endet IS NULL " 
     168        ."UNION SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueckohneraumbezug o ".$whereclause." AND o.endet IS NULL;"; 
    164169 
    165170        $resu = pg_prepare("", $sqlu); 
     
    183188                if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // fuer selbst-link-Umschalter ueber footer 
    184189        } else { 
    185                 if ($debug > 1) { 
    186                         echo "<br><p class='err'>Fehler! Kein Treffer f&uuml;r ".$parmtyp." = '".$parmval."'</p><br>"; 
    187                         if ($debug > 2) { 
    188                                 echo "<p class='dbg'>SQL=<br>".$sqlu."<br>$1=".$parmtyp." = '".$parmval."'</p>"; 
    189                         } 
    190                 } 
     190                if ($debug > 1) {echo "<br><p class='err'>Fehler! Kein Treffer f&uuml;r ".$parmtyp." = '".$parmval."'</p><br>";} 
     191                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlu."<br>$1=".$parmtyp." = '".$parmval."'</p>";} 
    191192        } 
    192193} 
     
    221222echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite 
    222223        // darin Tabelle Kennzeichen 
    223         echo "\n\t<table class='".$cls."' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" 
    224                 ."\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>" 
    225                 ."\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
     224        echo "\n\t<table class='".$cls."' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>"; 
     225                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>"; 
     226                echo "\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
    226227                if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
    227                 echo $gemkname."&nbsp;</td>" 
    228                 ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    229                 ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
    230         ."\n\t</table>" 
    231 ."\n\t</td>\n\t<td>"; // rechte Seite 
     228                echo $gemkname."&nbsp;</td>"; 
     229                echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 
     230                echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>"; 
     231        echo "\n\t</table>"; 
     232echo "\n\t</td>\n\t<td>"; // rechte Seite 
    232233        // FS-Daten 2 Spalten 
    233         echo "\n\t<table class='fsd'>" 
    234                 ."\n\t<tr>\n\t\t<td>Entstehung</td>" 
    235                         ."\n\t\t<td>".$entsteh."</td>" 
    236                 ."\n\t</tr>\n\t<tr>" 
    237                         ."\n\t\t<td>letz. Fortf</td>" 
    238                         ."\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
     234        echo "\n\t<table class='fsd'>"; 
     235                echo "\n\t<tr>\n\t\t<td>Entstehung</td>"; 
     236                        echo "\n\t\t<td>".$entsteh."</td>"; 
     237                echo "\n\t</tr>"; 
     238                echo "\n\t<tr>"; 
     239                        echo "\n\t\t<td>letz. Fortf</td>"; 
     240                        echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
    239241                                foreach($arrn AS $val) { // Zeile f. jedes Element 
    240242                                        echo trim($val, '"')."<br>"; 
    241243                                } 
    242                         echo "</td>" 
    243                 ."\n\t</tr>" 
    244         ."\n\t</table>" 
    245 ."\n\t</td>\n</tr>\n</table>"; 
     244                        echo "</td>"; 
     245                echo "\n\t</tr>"; 
     246        echo "\n\t</table>"; 
     247        if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); } 
     248echo "\n\t</td>\n</tr>\n</table>"; 
    246249 
    247250if ($ftyp == "a") { // Aktuell -> Historie 
    248         echo "\n<p class='nwlink noprint'>weitere Auskunft: " 
    249                 ."<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n"; 
     251        echo "\n<p class='nwlink noprint'>weitere Auskunft: "; 
     252                echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n"; 
     253                        if ($idanzeige) {echo "&amp;id=j";} 
    250254                        if ($showkey)   {echo "&amp;showkey=j";} 
    251                         echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
    252                         ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    253                 ."</a>"; 
    254 } 
    255 echo "\n<hr>" 
    256 ."<table class='outer'>" 
    257         ."\n<tr> 
     255                        echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck "; 
     256                        echo "<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; 
     257                echo "</a>"; 
     258} 
     259echo "\n<hr>"; 
     260 
     261echo "<table class='outer'>"; 
     262        echo "\n<tr> 
    258263                <td class='head'>Flurst&uuml;ck</td> 
    259264                <td class='head'>Vorg&auml;nger</td> 
     
    262267         
    263268        // Spalte 1: F l u r s t ÃŒ c k 
    264         echo "\n<tr>\n\t<td>" 
    265                 ."<img src='ico/".$ico."' width='16' height='16' alt=''> ".$wert 
    266                 ."<br>Fl&auml;che <span class='flae'>".$flae."</span>" 
    267         ."</td>"; 
     269        echo "\n<tr>\n\t<td>"; 
     270                echo "<img src='ico/".$ico."' width='16' height='16' alt=''> ".$wert; 
     271                echo "<br>Fl&auml;che <span class='flae'>".$flae."</span>"; 
     272        echo "</td>"; 
    268273 
    269274        // Spalte 2: V o r g À n g e r 
     
    289294        echo "\n\t<td>"; 
    290295                vornach($nach); 
    291         echo "</td>\n</tr>" 
    292 ."\n</table>"; 
     296        echo "</td>\n</tr>"; 
     297echo "\n</table>"; 
    293298 
    294299if ($debug > 1) { 
     
    302307?> 
    303308 
    304 <div class='buttonbereich noprint'> 
    305 <hr> 
    306         <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    307         <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
    308 </div> 
     309<form action=''> 
     310        <div class='buttonbereich noprint'> 
     311                <hr> 
     312                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
     313                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
     314        </div> 
     315</form> 
    309316 
    310317<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
  • trunk/info/info/alkis/alkisfsnw.php

    r376 r377  
    66 
    77        Version: 
    8         2016-02-24 Version fuer norGIS-ALKIS-Import 
    9         2016-03-14 Korrekturen 
    10         2016-12-01 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
     8        2011-11-16 Neuer Style class='dbg', Link Historie 
     9        2011-11-17 Parameter der Functions geÀndert 
     10        2011-11-30 import_request_variables, $dbvers PostNAS 0.5 entfernt 
     11        2011-12-01 Summe der AbschnittsflÀchen (NUA) an amtl. BuchflÀche des FS angleichen  
     12        2011-12-16 Zeilenumbruch in Nutzungsart, Spaltenbreite Link 
     13        2012-07-24 Export als CSV, pg_free_result(), pg_close() 
     14        2012-11-27 split deprecated, besser: explode 
     15        2013-01-17 FS-Kennzeichen (ALB-Format) als Parameter statt gmlid möglich 
     16        2013-04-08 deprecated "import_request_variables" ersetzt 
     17        2013-04-11 ID-Links (im Testmodus) auch an Lagebezeichnung (mit/ohne HsNr) und an Nutzungs-Abschnitt 
     18        2013-06-24 Unna: Bodenneuordnung, strittige Grenze 
     19        2013-06-27 Bodenneuordnung u. stritt.Gr. in Tabellen-Struktur, Link zur Bodenerneuerung (neues Modul) 
     20        2014-01-30 Korrektur Nutzungsart (z.B. Friedhof mit class=funktion=0 hatte Anzeige "unbekannt") 
     21        2014-02-06 Korrektur 
     22        2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     23        2014-09-15 Bei Relationen den Timestamp abschneiden 
     24        2014-09-23 Korrektur "IS NULL" 
     25        2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 
     26        2014-12-16 Zum Grundbuch einen Hinweis anzeigen, wenn es dazu berechtigte Buchungen gibt. 
     27        2015-12-09 Austausch .ico durch .png 
    1128 
    1229        ToDo: 
    1330        - BodenschÀtzung anzeigen 
    14         - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen) 
     31        - EntschlÃŒsseln "Bahnkategorie" bei Bahnverkehr, "OberflÀchenmaterial" bei Unland 
     32          Dazu evtl. diese Felder ins Classfld verschieben (Meta-Tabellen!) 
    1533*/ 
    1634session_start(); 
    1735$id="n"; 
    18 $eig="n"; 
    1936$cntget = extract($_GET); 
    2037require_once("alkis_conf_location.php"); 
    2138if ($auth == "mapbender") {require_once($mapbender);} 
    2239include("alkisfkt.php"); 
     40if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    2341$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    2442if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    2543?> 
    26 <!doctype html> 
    27 <html lang="de"> 
     44 
     45<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     46<html> 
    2847<head> 
    29         <meta charset="utf-8"> 
     48        <meta name="author" content="b600352" > 
     49        <meta http-equiv="cache-control" content="no-cache"> 
     50        <meta http-equiv="pragma" content="no-cache"> 
     51        <meta http-equiv="expires" content="0"> 
     52        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    3053        <title>ALKIS Flurst&uuml;cksnachweis</title> 
    3154        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    4164</head> 
    4265<body> 
     66 
    4367<?php 
     68 
     69function ber_bs_hinw($gmls) { 
     70        // Unter einem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen 
     71        // In FS-Nachweis wird nur der EigentÃŒmer des direkt gebuchten GrundstÃŒcks angezeigt. 
     72        // Den Erbbauberechtigten sieht man erst in der Grundbuch-Auskunft. 
     73        global $debug, $showkey; 
     74 
     75        // Buchungstelle dien. >an> Buchungstelle herr. 
     76        $sql ="SELECT count(sh.gml_id) AS anz, sh.buchungsart, a.bezeichner 
     77        FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an)  
     78        LEFT JOIN v_bs_buchungsart a ON sh.buchungsart=a.wert  
     79        WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL GROUP BY sh.buchungsart, a.bezeichner;"; 
     80 
     81        $v = array($gmls); // id dienende BS 
     82        $resan = pg_prepare("", $sql); 
     83        $resan = pg_execute("", $v); 
     84        if (!$resan) { 
     85                echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>\n"; 
     86                //if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 
     87        } 
     88        $an=0; 
     89        while($rowan = pg_fetch_array($resan)) { 
     90                $an++; 
     91                if ($an == 1) {echo "\n\t<br>\n\t<p class='nwlink' title='Andere Grundst&uuml;cke mit Rechten an diesem.'>Berechtigte Buchungen:<br><b>";} 
     92                if ($an > 1) {echo",<br>";} // kann es gemischste Buchungsarten geben? 
     93                echo $rowan["anz"]." ".htmlentities($rowan["bezeichner"], ENT_QUOTES, "UTF-8"); 
     94                if ($showkey) { 
     95                        echo " <span class='key'>(".$rowan["buchungsart"].")</span>"; 
     96                } 
     97        } 
     98        if ($an == 0) { 
     99                echo "<br><p class='nwlink' title='Kein anderes Grundst&uuml;ck hat ein Recht an diesem.'>Keine berechtigte Buchung</p>"; 
     100        } else { 
     101                echo "</b></p>"; 
     102        } 
     103        pg_free_result($resan); 
     104} 
     105 
    44106// S t a r t 
    45 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfsnw.php'"); 
     107$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    46108if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    47109 
     
    59121                        $zgemkg=substr($zgemkg, 2, 4); 
    60122                } else { // kein schöner Land .. 
    61                         $land=$defland; // Default-Land aus config 
     123                        $land='05'; // NRW, ToDo: Default-Land aus config 
    62124                } 
    63125                $zflur=str_pad($arr[1], 3 , "0", STR_PAD_LEFT); // Flur-Nr 
     
    75137                $fskzdb=$land.$zgemkg.$zflur.$zzaehler.$znenner.'__'; // FS-Kennz. Format Datenbank 
    76138        } 
    77         // Spalte "flurstueckskennzeichen" ist in DB indiziert 
     139        // Feld flurstueckskennzeichen ist in DB indiziert 
    78140        // Format z.B.'052647002001910013__' oder '05264700200012______' 
    79141        $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 AND endet IS NULL ;"; 
     
    110172        $gemeinde=$row["gemeinde"]; 
    111173        $flurnummer=$row["flurnummer"]; 
    112         $zaehler=$row["zaehler"]; 
     174        $flstnummer=$row["zaehler"]; 
    113175        $nenner=$row["nenner"]; 
    114         $flstnummer=$zaehler; 
    115176        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr 
    116177        $fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld 
     
    128189} 
    129190pg_free_result($res); 
    130  
    131191// Balken 
    132192if ($eig=="j") { 
    133         echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n" 
    134         ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n"; 
     193        echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n"; 
     194        echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n"; 
    135195} else { 
    136         echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n" 
    137         ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n"; 
    138 } 
    139  
    140 // PrÃŒfung der Gebiets-Berechtigung bei gemeinsam genutzten Datenbanken (Kreis und Gemeinde) 
    141 // FÃŒr das gkz (z.B. aus dem Mapfile-Namen) wird in der Konfiguration ein Filter gesetzt. 
    142 if ( ($filtkreis != '' and $filtkreis != $kreis) or ($filtgem != '' and $filtgem != $gemeinde) ) { 
    143         // Einer der gesetzten Filter passt nicht 
    144         if ($debug > 2) { 
    145 //++ Schönes Bild? Stop-Zeichen? 
    146                 echo "<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>" 
    147                 ."<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
    148         } 
    149         echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p>" 
    150         ."\n<br><p class='stop2'>Dies Flurst&uuml;ck liegt ausserhalb der zust&auml;ndigen Stadt oder Gemeinde.</p>\n</body>\n</html>"; 
    151         exit; 
    152 } 
    153  
    154 echo "\n<table class='outer'>\n<tr>\n\t<td>" // linke Seite 
    155         ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" // darin Tabelle Kennzeichen 
    156                 ."\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>" 
    157                 ."\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
     196        echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n"; 
     197        echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n"; 
     198} 
     199echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite 
     200        // darin Tabelle Kennzeichen 
     201        echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>"; 
     202                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>"; 
     203                echo "\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
    158204                if ($showkey) { 
    159205                        echo "<span class='key'>".$gmkgnr."</span><br>"; 
    160206                } 
    161                 echo $gemkname."&nbsp;</td>" 
    162                 ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    163                 ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
    164         ."\n\t</table>" 
    165 ."\n\t</td>\n\t<td>" // rechte Seite 
    166         ."\n\t<table class='fsd'>" // FS-Daten 2 Spalten 
    167                 ."\n\t<tr>\n\t\t<td>Entstehung</td>" 
    168                 ."\n\t\t<td>".$entsteh."</td>\n\t</tr>" 
    169                 ."\n\t<tr>" 
    170                         ."\n\t\t<td>letz. Fortf</td>" 
    171                         ."\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
     207                echo $gemkname."&nbsp;</td>"; 
     208                echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 
     209                echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>"; 
     210        echo "\n\t</table>"; 
     211echo "\n\t</td>\n\t<td>"; // rechte Seite 
     212        // FS-Daten 2 Spalten 
     213        echo "\n\t<table class='fsd'>"; 
     214                echo "\n\t<tr>\n\t\t<td>Entstehung</td>"; 
     215                echo "\n\t\t<td>".$entsteh."</td>\n\t</tr>"; 
     216                echo "\n\t<tr>"; 
     217                        echo "\n\t\t<td>letz. Fortf</td>"; 
     218                        echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
    172219                                foreach($arrn AS $val) { // Zeile f. jedes Element des Array 
    173220                                        echo trim($val, '"')."<br>"; 
    174221                                } 
    175                         echo "</td>" 
    176                 ."\n\t</tr>" 
    177         ."\n\t</table>" 
    178 ."\n\t</td>\n</tr>\n</table>"; 
     222                        echo "</td>"; 
     223                echo "\n\t</tr>"; 
     224 
     225        echo "\n\t</table>"; 
     226        if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); } 
     227echo "\n\t</td>\n</tr>\n</table>"; 
    179228//      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>"; 
    180229// Ende Seitenkopf 
    181230 
    182 echo "\n<hr>" 
    183 ."\n<p class='nwlink noprint'>weitere Auskunft:</p>" // oben rechts von der Tabelle 
    184 ."\n<table class='fs'>"; 
     231echo "\n<hr>"; 
     232echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle 
     233echo "\n<table class='fs'>"; 
    185234 
    186235// ** G e b i e t s z u g e h o e r i g k e i t ** 
     
    205254        echo "<span class='key'>(".$gemeinde.")</span> "; 
    206255} 
    207 // Link zur FS-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft") 
    208 echo $gnam."</td><td class='nwlink'>" 
    209         ."\n<p class='nwlink noprint'>" 
    210                 ."\n\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    211                         if ($showkey)   {echo "&amp;showkey=j";} 
    212                         echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie " 
    213                         ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 
    214                 ."</a>" 
    215         ."\n</p>" 
    216 . "</td></tr>"; 
     256echo $gnam."</td><td width='80'>";  // Mindest-Breite der Spalte fuer die Links  
     257        // Link zur FlurstÃŒcks-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft") 
     258        echo "\n<p class='nwlink noprint'>"; 
     259                echo "\n\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     260                                if ($idanzeige) {echo "&amp;id=j";} 
     261                                if ($showkey)   {echo "&amp;showkey=j";} 
     262                        echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie "; 
     263                        echo "<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>"; 
     264                echo "</a>"; 
     265        echo "\n</p>"; 
     266echo "</td></tr>"; 
    217267pg_free_result($res); 
    218268 
     
    285335                                echo "<td>&nbsp;</td>"; 
    286336                        } 
    287                         echo "\n\t<td>&nbsp;</td>" 
    288                         ."\n\t<td class='lr'>"; 
     337                        echo "\n\t<td>&nbsp;</td>"; 
     338                        echo "\n\t<td class='lr'>"; 
    289339                        if ($showkey) { 
    290340                                echo "<span class='key' title='Straßenschl&uuml;ssel'>(".$row["lage"].")</span>&nbsp;"; 
    291341                        } 
    292                         echo $sname."&nbsp;".$row["hausnummer"]."</td>" 
    293                         ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
    294                                 ."\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]; 
     342                        echo $sname."&nbsp;".$row["hausnummer"]; 
     343                        if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Lagebezeichnung mit Hausnummer", "ax_lagebezeichnungmithausnummer");} 
     344                        echo "</td>"; 
     345                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     346                                echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]; 
    295347                                if ($showkey) {echo "&amp;showkey=j";} 
    296                                 echo "'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>" 
    297                         ."\n\t\t</p>\n\t</td>" 
    298                 ."\n</tr>"; 
     348                                echo "'>Lage "; 
     349                                echo "<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>"; 
     350                        echo "\n\t\t</p>\n\t</td>"; 
     351                echo "\n</tr>"; 
    299352                $j++; 
    300353        } 
    301         $cnt_adressen=$j; 
    302354        pg_free_result($res); 
    303355} 
    304 // +++ Verbesserung: mehrere HsNr zur gleichen Straße als Liste? 
     356// Verbesserung: mehrere HsNr zur gleichen Straße als Liste? 
    305357 
    306358// Lagebezeichnung OHNE Hausnummer  (Gewanne oder nur Strasse) 
     
    326378        $lgml=$row["gml_id"]; // key der Lage 
    327379        if (!$gewann == "") { 
    328                 echo "\n<tr>" 
    329                         ."\n\t<td class='ll' title='Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>" 
    330                         ."\n\t<td></td>" 
    331                         ."\n\t<td class='lr'>".$gewann."</td>" 
    332                         ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
    333                                 ."\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
     380                echo "\n<tr>"; 
     381                        echo "\n\t<td class='ll' title='Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>"; 
     382                        echo "\n\t<td></td>"; 
     383                        echo "\n\t<td class='lr'>".$gewann."</td>"; 
     384                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     385                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
    334386                                if ($showkey) {echo "&amp;showkey=j";}                           
    335                                 echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>" 
    336                         ."\n\t\t</p>\n\t</td>" 
    337                 ."\n</tr>"; 
     387                                echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>"; 
     388                        echo "\n\t\t</p>\n\t</td>"; 
     389                echo "\n</tr>"; 
    338390        } 
    339391        // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link 
    340392        if ($skey > 0) { 
    341                 echo "\n<tr>" 
    342                         ."\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>" 
    343                         ."\n\t<td></td>" 
    344                         ."\n\t<td class='lr'>"; 
     393                echo "\n<tr>"; 
     394                        echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>"; 
     395                        echo "\n\t<td></td>"; 
     396                        echo "\n\t<td class='lr'>"; 
    345397                        if ($showkey) { 
    346398                                echo "<span class='key'>(".$skey.")</span>&nbsp;"; 
    347399                        } 
    348                         echo $row["bezeichnung"]."</td>" 
    349                         ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
    350                                 ."\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
     400                        echo $row["bezeichnung"]; 
     401                        if ($idanzeige) {linkgml($gkz, $lgml, "Lagebezeichnung o. HsNr.", "ax_lagebezeichnungohnehausnummer");} 
     402                        echo "</td>"; 
     403                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     404                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
    351405                                if ($showkey) {echo "&amp;showkey=j";}                           
    352                                 echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>" 
    353                         ."\n\t\t</p>\n\t</td>" 
    354                 ."\n</tr>"; 
     406                                echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>"; 
     407                        echo "\n\t\t</p>\n\t</td>"; 
     408                echo "\n</tr>"; 
    355409        } 
    356410        $j++; 
     
    361415// ** N U T Z U N G ** Gemeinsame FlÀche von NUA und FS 
    362416// Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben 
    363  
    364 /* N U T Z U N G   C l a s s i c (alt) 
    365417$sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe,  
    366418st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla  
     
    435487                                } 
    436488                        } 
     489 
    437490                        if ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?) 
    438491                                echo ", ".$fldinfo."=".$info; 
     
    452505                        if ($nam != "") {echo "<br>Name: ".$nam;} 
    453506                        if ($bez != "") {echo "<br>Bezeichnung: ".$bez;} 
     507                        if ($idanzeige) {linkgml($gkz, $gml, "Nutzungs-Abschnitt", "");} 
    454508 
    455509                echo "</td>"; 
     
    468522        $j++; 
    469523} 
    470   E N D E   N U T Z U N G   C l a s s i c  */ 
    471  
    472 /* Status "Nutzung": 
    473  
    474  Die Classic-Tabelle "nutzung" ist eine Zusammenfassung aller Tabellen mit Nutzungs-FlÀchen 
    475  Die Classic-Tabelle "nutzung_meta" zeigt die Kategorie und Gruppe des Nutzungs-Abschnitts an. 
    476  
    477  Aus der norGIS-Struktur wird ersatzweise VORLÄUFIG die Tabelle "nutz_21" verwendet, 
    478  die das alte ALB-Format der Nutzungs-Abschnitte von FlurstÃŒcken simuliert. 
    479  Hier finden sich bereits verschnittene FlÀchen, aber die gml_id fehlt. 
    480  
    481  Die EntschlÃŒsselung der Nutzungsart in den verschiedenen ALKIS-Varianten ist darin unterentwickelt. 
    482  Diese ist eigentlich fÃŒr jede der getrennten Tabellen der Gruppe Nutzungsrt individuell. 
    483  Die Classic-Lösung mit 2 Zusatzfeldern war schon sehr pauschalisiert, aber  
    484  durch die RÃŒck-Konvertierung in ALB-Strukturen in der norGIS-Version ist das zu stark vereinfacht. 
    485  z.B. wird "WohnbauflÀche" mit der Zusatzeigenschaft "Art der Bebauung": 'Offen' 
    486  nun zur Nutzungsart "Offen". 
    487  Durch JOIN auf die "alkis_elemente" mit einem Teil des SchlÃŒssels wird das zur "WohnbauflÀche, Offen". 
    488  Es sollte eine Tabellen-Struktur bereit gestellt werden, die auch aussagt, dass der Wert "Offen" zur 
    489  Zusatz-Eigenschaft "Art der Bebauung" gehört. Dazu muss das PostProcessing erweitert werden. */ 
    490  
    491  
    492 $sql="SELECT e.definition, trim(both FROM n.nutzsl) AS nutzsl, trim(both FROM n.fl) AS fl, trim(both FROM s.nutzung) AS nutzung 
    493  FROM nutz_21 n JOIN nutz_shl s ON n.nutzsl = s.nutzshl 
    494  JOIN alkis_elemente e ON e.kennung = substring(n.nutzsl from 1 for 5) 
    495 WHERE n.flsnr = $1 ORDER BY cast(n.fl AS integer) DESC;"; 
    496 // Flurstueckskennzeichen mit Trennzeichen im ALB-Format wie 'llgggg-fff-zzzzz/nnn' 
    497 // Alternativ könnte auch der VIEW "ax_tatsaechlichenutzungsschluessel" fÃŒr den Text zur Nutzungsart verwendet werden. 
    498  
    499 $fskennzalb=$defland.$gmkgnr."-".str_pad($flurnummer,3,"0",STR_PAD_LEFT)."-".str_pad($zaehler,5,"0",STR_PAD_LEFT)."/".str_pad($nenner,3,"0",STR_PAD_LEFT); 
    500 // echo "<p class='err'>Kennz ALB='".$fskennzalb."'</p>"; 
    501  
    502 $v = array($fskennzalb); 
    503 $res = pg_prepare("", $sql); 
    504 $res = pg_execute("", $v); 
    505 if (!$res) { 
    506         echo "<p class='err'>Fehler bei Suche tats. Nutzung</p>\n"; 
    507         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = FS-Kennz = '".$fskennzalb."'</p>";} 
    508 } 
    509  
    510 $j=0; 
    511 while($row = pg_fetch_array($res)) { 
    512         $flae=$row["fl"]; // BuchflÀche 
    513         $nutzsl=$row["nutzsl"]; // SchlÃŒssel 
    514         $nutzung=$row["nutzung"]; // Bezeichnung aus ALB-Tabelle, "fein" 
    515         $defi=$row["definition"]; // Langer Text mit Beschreibung 
    516         $title=htmlentities($defi, ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 
    517  
    518         // Aus der Definition den String zwischen den ersten '' ausschneiden 
    519         $pos = strpos($defi, "'") + 1; 
    520         $len = strpos($defi, "'", $pos) - $pos; 
    521         $nutztab=substr($defi, $pos, $len); // Nutzungart Kategorie aus der Beschreibung ausschneiden 
    522  
    523         echo "\n<tr>\n\t"; 
    524                 if ($j == 0) { 
    525                         echo "<td class='ll' title='Abschnitt der tats&auml;chlichen Nutzung'><img src='ico/Abschnitt.png' width='16' height='16' alt=''> Nutzung:</td>"; 
    526                 } else { 
    527                         echo "<td>&nbsp;</td>"; 
    528                 } 
    529                 $absflaebuch = number_format($flae,0,",",".") . " m&#178;"; // Formatierte Abschnitts-Buch-FlÀche 
    530                 echo "\n\t<td class='fla' title='Buchfl&auml;che des Abschnitts'>".$absflaebuch."</td>"; 
    531  
    532                 echo "\n\t<td class='lr' title='".$title."'>"; 
    533                         if ($showkey) {echo "<span class='key'>(".$nutzsl.")</span> ";} 
    534                         echo $nutztab.", ".$nutzung 
    535                 ."</td>" 
    536                 ."\n\t<td>"; 
    537 /*              //      Derzeit ist keine Gruppe zugeordnet 
    538                         switch ($grupp) { // Icon nach 4 Objektartengruppen 
    539                                 case "Siedlung":   $ico = "Abschnitt.png"; break; 
    540                                 case "Verkehr":    $ico = "Strassen_Klassifikation.png"; break; 
    541                                 case "Vegetation": $ico = "Wald.png"; break; 
    542                                 case "GewÀsser":   $ico = "Wasser.png";        break; 
    543                                 default:        $ico = "Abschnitt.png"; break; 
    544                         } 
    545                         // Icon ist auch im Druck sichtbar, class='noprint' ?            
    546                         echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>"; 
    547 */ 
    548                 echo "</td>" 
    549         ."\n</tr>"; 
    550         $j++; 
    551 } 
    552524pg_free_result($res); 
    553525// ENDE  N U T Z U N G 
    554526 
    555 echo "\n<tr>" // Summenzeile 
    556         ."\n\t<td class='ll' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>" 
    557         ."\n\t<td class='fla sum'>" 
    558         ."<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>"; 
     527echo "\n<tr>"; // Summenzeile 
     528        echo "\n\t<td class='ll' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>"; 
     529        echo "\n\t<td class='fla sum'>"; 
     530        echo "<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>"; 
    559531 
    560532        // Flaeche und Link auf GebÀude-Auswertung 
    561         echo "\n\t<td>&nbsp;</td>\n\t<td>" 
    562                 ."\n\t\t<p class='nwlink noprint'>" // Gebaeude-Verschneidung 
    563                         ."\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     533        echo "\n\t<td>&nbsp;</td>\n\t<td>"; 
     534                echo "\n\t\t<p class='nwlink noprint'>"; // Gebaeude-Verschneidung 
     535                        echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     536                        if ($idanzeige) {echo "&amp;id=j";} 
    564537                        if ($showkey) {echo "&amp;showkey=j";} 
    565                         if ($cnt_adressen > 0) { // wenn Adresse vorgekommen ist 
    566                                 echo "' title='Geb&auml;udenachweis'>Geb&auml;ude "; 
    567                         } else { // GebÀude mit Adresse gibt es NICHT, das ist klar 
    568                                 echo "' title='Suche Geb&auml;ude ohne Adresse auf dem Flurst&uuml;ck oder angrenzende Geb&auml;ude'>Suche "; 
    569                         } 
    570                         echo "<img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
    571                 ."\n\t\t</p>" 
    572         ."\n\t</td>" 
    573 ."\n</tr>"; 
     538                        echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.png' width='16' height='16' alt=''></a>"; 
     539                echo "\n\t\t</p>"; 
     540        echo "\n\t</td>"; 
     541echo "\n</tr>"; 
    574542 
    575543// H i n w e i s  auf Bodenneuordnung oder eine strittige Grenze 
    576544// b.name, b.artderfestlegung,  
    577545 
    578 $sql_boden ="SELECT a.k AS wert, a.v AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
     546$sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
    579547b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key  
    580 FROM ax_bauraumoderbodenordnungsrecht b  
    581 LEFT JOIN alkis_wertearten a ON cast(b.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung' 
     548FROM ax_bauraumoderbodenordnungsrecht b JOIN v_baurecht_adf a ON a.wert=b.artderfestlegung  
    582549LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle  
    583550WHERE b.endet IS NULL AND d.endet IS NULL   
    584 AND (ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL ), wkb_geometry) 
    585  OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL), wkb_geometry));"; 
     551AND (ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL ), wkb_geometry)  
     552 OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL), wkb_geometry))"; 
    586553 
    587554pg_prepare($con, "bodeneuordnung", $sql_boden); 
    588555$res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid)); 
    589 if (!$res_bodeneuordnung) { 
    590         echo "<p class='err'>Fehler bei Bau-, Raum- oder Bodenordnungsrecht</p>\n"; 
    591         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql_boden."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    592 } 
    593  
    594 $sql_str="SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze)  
     556 
     557$sql_str="SELECT gml_id  
     558FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze)  
    595559AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL),wkb_geometry);"; 
    596560 
    597561pg_prepare($con, "strittigeGrenze", $sql_str); 
    598562$res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid)); 
    599 if (!$res_strittigeGrenze) { 
    600         echo "<p class='err'>Fehler bei strittige Grenze</p>\n"; 
    601         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql_str."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    602 } 
    603563 
    604564if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) { 
    605         echo "\n<tr>" 
    606         ."\n\t<td title='Hinweise zum Flurst&uuml;ck'><h6><img src='ico/Hinweis.png' width='16' height='16' alt=''> " 
    607         ."Hinweise:</h6></td>\n\t<td colspan=3>&nbsp;</td>" 
    608         ."\n</tr>"; 
     565        echo "\n<tr>"; 
     566        echo "\n\t<td title='Hinweise zum Flurst&uuml;ck'><h6><img src='ico/Hinweis.png' width='16' height='16' alt=''> "; 
     567        echo "Hinweise:</td></h6>\n\t<td colspan=3>&nbsp;</td>"; 
     568        echo "\n</tr>"; 
    609569 
    610570        if (pg_num_rows($res_bodeneuordnung) > 0) { 
     
    613573 
    614574                        // Zeile 1 - kommt immer, darum hier den Link 
    615                         echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>" 
    616                                 ."\n\t<td>Bodenrecht:</td>" 
    617                                 ."\n\t<td>Festlegung</td>" // "Art der Festlegung" zu lang 
    618                                 ."\n\t<td>"; 
     575                        echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>"; 
     576                                echo "\n\t<td>Bodenrecht:</td>"; 
     577                                echo "\n\t<td>Festlegung</td>"; // "Art der Festlegung" zu lang 
     578                                echo "\n\t<td>"; 
    619579                                        if ($showkey) {echo "<span class='key'>(".$row['wert'].")</span> ";} 
    620                                         echo $row['art_verf'] 
    621                                 ."</td>\n\t<td>"; 
     580                                        echo $row['art_verf']; 
     581                                echo "</td>"; 
     582                                echo "\n\t<td>"; 
    622583                                // LINK: 
    623                                 echo "\n\t\t<p class='nwlink noprint'>" 
    624                                         ."\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml']; 
     584                                echo "\n\t\t<p class='nwlink noprint'>"; 
     585                                        echo "\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml']; 
     586                                        if ($idanzeige) {echo "&amp;id=j";} 
    625587                                        if ($showkey) {echo "&amp;showkey=j";} 
    626                                         echo "' title='Bau-, Raum- oder Bodenordnungsrecht'>Recht <img src='ico/Gericht.png' width='16' height='16' alt=''></a>" 
    627                                 ."\n\t\t</p>"            
    628                                 ."</td>" 
    629                         ."\n</tr>"; 
     588                                        echo "' title='Bau-, Raum- oder Bodenordnungsrecht'>Recht <img src='ico/Gericht.png' width='16' height='16' alt=''></a>"; 
     589                                echo "\n\t\t</p>";                       
     590                                echo "</td>"; 
     591                        echo "\n</tr>"; 
    630592 
    631593                        // Zeile 2 
    632                         $dstell=$row['stelle_key']; 
     594                        $dstell=$row['stelle_key']; // LEFT JOIN 
    633595                        if ($dstell != "") { // Kann auch leer sein 
    634                                 echo "\n<tr title='Flurbereinigungsbeh&ouml;rde'>" 
    635                                         ."\n\t<td>&nbsp;</td>" 
    636                                         ."\n\t<td>Dienststelle</td>" 
    637                                         ."\n\t<td>"; 
     596                                echo "\n<tr title='Flurbereinigungsbeh&ouml;rde'>"; 
     597                                        echo "\n\t<td>&nbsp;</td>"; 
     598                                        echo "\n\t<td>Dienststelle</td>"; 
     599                                        echo "\n\t<td>"; 
    638600                                                if ($showkey) {echo "<span class='key'>(".$dstell.")</span> ";} 
    639                                                 echo $row['stelle_bez'] 
    640                                         ."</td>" 
    641                                         ."\n\t<td>&nbsp;</td>" 
    642                                 ."\n</tr>"; 
     601                                                echo $row['stelle_bez']; 
     602                                        echo "</td>"; 
     603                                        echo "\n\t<td>&nbsp;</td>"; 
     604                                echo "\n</tr>"; 
    643605                        } 
    644606 
     
    647609                        $vnam=$row['verf_name']; // noch seltener 
    648610                        if ($vbez != "") { 
    649                                 echo "\n<tr title='Verfahrensbezeichnung'>" 
    650                                         ."\n\t<td>&nbsp;</td>\n\t<td>Verfahren</td>" 
    651                                         ."\n\t<td>"; 
     611                                echo "\n<tr title='Verfahrensbezeichnung'>"; 
     612                                        echo "\n\t<td>&nbsp;</td>\n\t<td>Verfahren</td>"; 
     613                                        echo "\n\t<td>"; 
    652614                                                if ($vnam == "") { 
    653615                                                        echo $vbez; // nur die Nummer 
     
    656618                                                        echo $vnam; 
    657619                                                } 
    658                                         echo "</td>" 
    659                                         ."\n\t<td>&nbsp;</td>" 
    660                                 ."\n</tr>"; 
     620                                        echo "</td>"; 
     621                                        echo "\n\t<td>&nbsp;</td>"; 
     622                                echo "\n</tr>"; 
    661623                        } 
    662624                } 
    663625        } 
     626 
    664627        if (pg_num_rows($res_strittigeGrenze) > 0) { // 1 Zeile 
    665                 echo "\n<tr>\n<td>Strittige Grenze:</td>" 
    666                 ."<td colspan=2>Mindestens eine Flurst&uuml;cksgrenze ist als <b>strittig</b> zu bezeichnen. Sie kann nicht festgestellt werden, weil die Beteiligten sich nicht &uuml;ber den Verlauf einigen. Nach sachverst&auml;ndigem Ermessen der Katasterbeh&ouml;rde ist anzunehmen, dass das Liegenschaftskataster nicht die rechtm&auml;&szlig;ige Grenze nachweist.</td>" 
    667                 ."\n<td>&nbsp;</td>\n</tr>"; 
    668         } 
    669 } 
     628                echo "\n<tr>"; 
     629                echo "\n<td>Strittige Grenze:</td>"; 
     630                echo "<td colspan=2>Mindestens eine Flurst&uuml;cksgrenze ist als <b>strittig</b> zu bezeichnen. Sie kann nicht festgestellt werden, weil die Beteiligten sich nicht &uuml;ber den Verlauf einigen. Nach sachverst&auml;ndigem Ermessen der Katasterbeh&ouml;rde ist anzunehmen, dass das Liegenschaftskataster nicht die rechtm&auml;&szlig;ige Grenze nachweist.</td>"; 
     631                echo "\n<td>&nbsp;</td>"; 
     632                echo "\n</tr>"; 
     633        } 
     634} 
     635 
    670636echo "\n</table>"; 
    671637 
    672638// G R U N D B U C H 
    673 echo "\n<table class='outer'>" 
    674         ."\n<tr>" 
    675                 ."\n\t<td>" 
    676                         ."\n\t\t<a id='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>" 
    677                 ."\n\t</td>" 
    678                 ."\n\t<td>" 
    679                         ."\n\t\t<p class='nwlink noprint'>" 
    680                                 ."\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    681                                 if ($showkey) {echo "&amp;showkey=j";} 
    682  
     639echo "\n<table class='outer'>"; 
     640        echo "\n<tr>"; 
     641                echo "\n\t<td>"; 
     642                        echo "\n\t\t<a name='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>"; 
     643                echo "\n\t</td>"; 
     644                echo "\n\t<td>"; 
     645                        echo "\n\t\t<p class='nwlink noprint'>"; 
     646                                echo "\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     647                                if ($idanzeige) { echo "&amp;id=j";} 
     648                                if ($showkey)   {echo "&amp;showkey=j";} 
    683649                                // Umschalter: FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb 
    684650                                if ($eig=="j") { 
    685651                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>"; 
    686                                 } else { // ++ könnte man sich sparen, wenn unten nur ein "fiktives Blatt" kommt 
    687                                         echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer " 
    688                                         ."<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>"; 
    689                                 } 
    690                         echo "\n\t\t</p>" 
    691                 ."\n\t</td>" 
    692         ."\n</tr>" 
    693 ."\n</table>\n"; 
     652                                } else { 
     653                                        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer "; 
     654                                        echo "<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>"; 
     655                                } 
     656                        echo "\n\t\t</p>"; 
     657                echo "\n\t</td>"; 
     658        echo "\n</tr>"; 
     659echo "\n</table>\n"; 
    694660 
    695661// B U C H U N G S S T E L L E N  zum FS (istGebucht) 
    696 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.v AS bart, b.d AS barttitle 
     662$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart  
    697663FROM ax_flurstueck f JOIN ax_buchungsstelle s ON s.gml_id=f.istgebucht  
    698 LEFT JOIN alkis_wertearten b ON cast(s.buchungsart AS character varying)=b.k AND b.element='ax_buchungsstelle' AND b.bezeichnung='buchungsart' 
     664LEFT JOIN v_bs_buchungsart b ON s.buchungsart=b.wert  
    699665WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL ORDER BY s.laufendenummer;"; 
    700666 
     
    704670if (!$ress) { 
    705671        echo "\n<p class='err'>Keine Buchungsstelle.</p>\n"; 
    706         if ($debug > 1) { 
    707                 echo "<p class='dbg'>Fehler:".pg_result_error($ress)."</p>"; 
    708                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    709         } 
    710 } 
    711 $bs=0; // Z.BuchungsStelle 
     672        //if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($ress)."</p>";} 
     673        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     674} 
     675$bs=0; // Z.Buchungsstelle 
    712676while($rows = pg_fetch_array($ress)) { 
    713677        $gmls=$rows["gml_id"]; // gml b-Stelle 
    714678        $lfd=$rows["lfd"]; // BVNR 
    715         $barttitle=htmlentities($rows["barttitle"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 
    716679 
    717680        // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon) 
    718         $sql="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, wb.v AS blattartv, wb.d AS blattartd, z.bezeichnung  
     681        $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung  
    719682        FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON b.gml_id=s.istbestandteilvon  
    720683        LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
    721         LEFT JOIN alkis_wertearten wb ON cast(b.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart'  
    722684        WHERE s.gml_id = $1 AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 
    723685        ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 
    724686 
    725         $v=array($gmls); 
    726         $resg=pg_prepare("", $sql); 
    727         $resg=pg_execute("", $v); 
     687        $v = array($gmls); 
     688        $resg = pg_prepare("", $sql); 
     689        $resg = pg_execute("", $v); 
    728690        if (!$resg) { 
    729691                echo "\n<p class='err'>Kein Buchungsblatt.</p>\n"; 
     
    734696                $gmlg=$rowg["gml_id"]; 
    735697                $beznam=$rowg["bezeichnung"]; 
    736                 $blattkeyg=$rowg["blattart"]; // Key 
    737                 $blattartg=$rowg["blattartv"]; // Value 
    738                 echo "\n<hr>" 
    739                 ."\n<table class='outer'>" 
    740                 ."\n<tr>"; // 1 row only 
     698                $blattkeyg=$rowg["blattart"]; 
     699                $blattartg=blattart($blattkeyg); 
     700 
     701                echo "\n<hr>"; 
     702                echo "\n<table class='outer'>"; 
     703                echo "\n<tr>"; // 1 row only 
    741704                        echo "\n\t<td>"; // Outer linke Spalte: 
    742705 
     
    747710                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    748711                                } 
    749                                         echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>" 
    750                                                 ."\n\t\t<td class='head' title='".$rowg["blattartd"]."'>"; 
    751                                                 if ($showkey) {echo "<span class='key'>".$blattkeyg."</span>&nbsp;";} 
    752                                                 echo $blattartg."</td>" 
    753                                                 ."\n\t\t<td class='head'>Lfd-Nr.</td>" 
    754                                                 ."\n\t\t<td class='head'>Buchungsart</td>" 
    755                                         ."\n\t</tr>" 
    756                                         ."\n\t<tr>" 
    757                                                 ."\n\t\t<td title='Grundbuchbezirk'>"; 
    758                                                         if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span><br>";} 
    759                                                 echo $beznam."&nbsp;</td>" 
    760                                                 ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>" 
    761                                                 ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>" 
    762                                                 ."\n\t\t<td title='".$barttitle."'>"; 
    763                                                 if ($showkey) {echo "<span class='key'>".$rows["buchungsart"]."</span><br>";} 
    764                                                 echo $rows["bart"]."</td>" 
    765                                         ."\n\t</tr>" 
    766                                 ."\n\t</table>"; 
     712                                        echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>"; 
     713                                                echo "\n\t\t<td class='head'>".$blattartg."</td>"; 
     714                                                echo "\n\t\t<td class='head'>Lfd-Nr.</td>"; 
     715                                                echo "\n\t\t<td class='head'>Buchungsart</td>"; 
     716                                        echo "\n\t</tr>"; 
     717                                        echo "\n\t<tr>"; 
     718                                                echo "\n\t\t<td title='Grundbuchbezirk'>"; 
     719                                                        if ($showkey) { 
     720                                                                echo "<span class='key'>".$rowg["bezirk"]."</span><br>"; 
     721                                                        } 
     722                                                echo $beznam."&nbsp;</td>"; 
     723 
     724                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>"; 
     725 
     726                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>"; 
     727 
     728                                                echo "\n\t\t<td title='Buchungsart'>"; 
     729                                                        if ($showkey) { 
     730                                                                echo "<span class='key'>".$rows["buchungsart"]."</span><br>"; 
     731                                                        } 
     732                                                echo $rows["bart"]."</td>"; 
     733                                        echo "\n\t</tr>"; 
     734                                echo "\n\t</table>"; 
    767735 
    768736                                // Miteigentumsanteil 
     
    770738                                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    771739                                } 
    772                         echo "\n</td>\n<td>"; // Outer rechte Spalte: NW-Links 
    773                                 echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>" 
    774                                         ."\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd; 
     740                        echo "\n</td>"; 
     741 
     742                        echo "\n<td>"; // Outer rechte Spalte: NW-Links 
     743                                if ($idanzeige) { 
     744                                        linkgml($gkz, $gmls, "Buchungsstelle", "ax_buchungsstelle"); 
     745                                        echo "<br>"; 
     746                                        linkgml($gkz, $gmlg, "Buchungsblatt", ""); // ax_buchungsblatt keine Relationen 
     747                                } 
     748                                echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>"; 
     749                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd; 
     750                                                if ($idanzeige) {echo "&amp;id=j";} 
    775751                                                if ($showkey)   {echo "&amp;showkey=j";} 
    776752                                                if ($blattkeyg == 1000) { 
     
    779755                                                        echo "' title='Grundbuchnachweis'>"; 
    780756                                                } 
    781                                                 echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
    782                                         ."</a>" 
    783                                 ."\n\t</p>"; 
     757                                                echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>"; 
     758                                        echo "</a>"; 
     759                                echo "\n\t</p>"; 
    784760 
    785761                                ber_bs_hinw($gmls); // berechtigte Buchungstellen Hinweis 
    786762 
    787                         echo "\n</td>" 
    788                 ."\n</tr>" 
    789                 ."\n</table>"; 
     763                        echo "\n</td>"; 
     764                echo "\n</tr>"; 
     765                echo "\n</table>"; 
    790766 
    791767                // +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung 
     
    805781                                if ($blattkeyg == 1000) { 
    806782                                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 
     783                                        linkgml($gkz, $gmlg, "Buchungsblatt", ""); 
    807784                                } else { 
    808785                                        echo "\n<p>ohne Eigent&uuml;mer.</p>"; 
     
    812789                $bl++; 
    813790        } 
    814         if ($bl == 0) {echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";} 
     791        if ($bl == 0) { 
     792                echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>"; 
     793                echo "\n<p class='err'>Parameter: gml_id= ".$gmls.", Beziehung='istBestandteilVon'</p>"; 
     794                linkgml($gkz, $gmls, "Buchungstelle", "ax_buchungsstelle"); 
     795        } 
     796 
     797 
     798/* ++ Diese Teil wird deaktiviert, weil das nicht vorkommen kann. SpÀter komplett löschen ++ 
     799 
     800// Dienende Buchungsstellen ausgeben - Beginn 
     801 
     802        // Buchungstelle herr. >an> Buchungstelle dien. >istBestandteilVon> BLATT -> Bezirk 
     803        $sql ="SELECT sd.gml_id AS s_gml, sd.buchungsart, sd.laufendenummer as lfd, sd.zaehler, sd.nenner, sd.nummerimaufteilungsplan as nrpl, sd.beschreibungdessondereigentums as sond,  
     804        b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.bezeichner AS bart  
     805        FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON sd.gml_id=ANY(sh.an)  
     806        JOIN ax_buchungsblatt b ON b.gml_id=sd.istbestandteilvon  
     807        LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
     808        LEFT JOIN v_bs_buchungsart a ON sd.buchungsart=a.wert  
     809        WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL  
     810        ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
     811 
     812        $v = array($gmls); // id herrschende Buchungsstelle 
     813        $resan = pg_prepare("", $sql); 
     814        $resan = pg_execute("", $v); 
     815        if (!$resan) { 
     816                echo "\n<p class='err'>Fehler bei 'weitere Buchungsstellen'.</p>\n"; 
     817                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 
     818        } 
     819 
     820        $an=0; // Stelle >Recht an> Stelle 
     821        while($rowan = pg_fetch_array($resan)) { 
     822                $beznam=$rowan["bezeichnung"]; 
     823                $blattkeyan=$rowan["blattart"]; // Schluessel von Blattart 
     824                $blattartan=blattart($blattkeyan); 
     825                echo "\n<hr>\n<table class='outer'>"; 
     826                echo "\n<tr>"; // 1 row only 
     827                        echo "\n<td>"; // outer linke Spalte 
     828                                // Rahmen mit Kennzeichen GB 
     829                                if ($blattkeyan == 1000) { 
     830                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     831                                } else { 
     832                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
     833                                } 
     834                                        echo "\n\t<tr>"; 
     835                                                echo "\n\t\t<td class='head'>Bezirk</td>"; 
     836                                                echo "\n\t\t<td class='head'>".$blattartan."</td>"; 
     837                                                echo "\n\t\t<td class='head'>Lfd-Nr,</td>"; 
     838                                                echo "\n\t\t<td class='head'>Buchungsart</td>"; 
     839                                        echo "\n\t</tr>"; 
     840                                        echo "\n\t<tr>"; 
     841                                                echo "\n\t\t<td title='Grundbuchbezirk'>"; 
     842                                                if ($showkey) {echo "<span class='key'>".$rowan["bezirk"]."</span><br>";} 
     843                                                echo $beznam."</td>"; 
     844 
     845                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>"; 
     846 
     847                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>"; 
     848 
     849                                                echo "\n\t\t<td title='Buchungsart'>"; 
     850                                                        if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";} 
     851                                                        echo $rowan["bart"]; 
     852                                                echo "</td>"; 
     853                                        echo "\n\t</tr>"; 
     854                                echo "\n\t</table>"; 
     855                                if ($rowan["zaehler"] <> "") { 
     856                                        echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
     857                                } 
     858                        echo "\n</td>"; 
     859                        echo "\n<td>"; // outer rechte Spalte 
     860                                if ($idanzeige) { 
     861                                        linkgml($gkz, $rowan["s_gml"], "Buchungsstelle", "ax_buchungsstelle"); 
     862                                        echo "<br>"; 
     863                                        linkgml($gkz, $rowan["g_gml"], "Buchungsblatt", ""); 
     864                                } 
     865                                echo "\n<br>"; 
     866                                echo "\n\t<p class='nwlink'>"; 
     867                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"]; 
     868                                                if ($idanzeige) {echo "&amp;id=j";} 
     869                                                if ($showkey)   {echo "&amp;showkey=j";} 
     870                                                echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>"; 
     871                                                echo $blattartan; 
     872                                                echo " <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>"; 
     873                                        echo "</a>"; 
     874                                echo "\n\t</p>"; 
     875                        echo "\n\t</td>"; 
     876                echo "\n</tr>"; 
     877                echo "\n</table>"; 
     878 
     879                if ($blattkeyan != 1000) { 
     880                        echo "\n<p>Blattart: ".$blattartan." (".$blattkeyan.").<br>\n";  
     881                } 
     882                if ($rowan["nrpl"] != "") { 
     883                        echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rowan["nrpl"]."</span> im Aufteilungsplan.</p>"; 
     884                } 
     885                if ($rowan["sond"] != "") { 
     886                        echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rowan["sond"]."</p>"; 
     887                } 
     888                if ($eig == "j") { 
     889                        $n = eigentuemer($con, $rowan["g_gml"], false, ""); // ohne Adresse 
     890                } 
     891                $an++;   
     892        } 
     893        pg_free_result($resan); 
     894// Dienende Buchungsstellen ausgeben - Ende 
     895*/ 
     896 
    815897        $bs++; 
    816898} 
    817899pg_free_result($resg); 
    818 if ($bs == 0) {echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";} 
     900if ($bs == 0) { 
     901        echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>"; 
     902        linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); 
     903} 
    819904pg_close($con); 
    820905echo <<<END 
    821906 
    822 <div class='buttonbereich noprint'> 
    823 <hr> 
    824         <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    825         <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
    826         <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_fs.png" width="32" height="16" alt="Export"></a>&nbsp; 
    827 </div> 
     907<form action=''> 
     908        <div class='buttonbereich noprint'> 
     909        <hr> 
     910                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
     911                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
     912                <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_fs.png" width="32" height="16" alt="Export"></a>&nbsp; 
     913        </div> 
     914</form> 
    828915END; 
     916 
    829917footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig); 
     918 
    830919?> 
     920 
    831921</body> 
    832922</html> 
  • trunk/info/info/alkis/alkisgebaeudenw.php

    r376 r377  
    44 
    55        Version: 
    6         2016-02-24 Version fuer norGIS-ALKIS-Import 
    7         2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
     6        2011-11-22 Feld ax_gebaeude.description ist entfallen, neue Spalte Zustand 
     7        2011-11-30 Fehlerkorrektur Gebaeude mit mehreren Adressen nicht mehrfach 
     8        2013-04-08 deprecated "import_request_variables" ersetzt 
     9    2014-01-30 pg_free_result 
     10        2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     11        2014-09-10 Bei Relationen den Timestamp abschneiden 
     12        2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 
     13        2015-12-09 Austausch .ico durch .png 
     14        2015-12-16 area -> st_area 
    815*/ 
    916session_start(); 
     
    1320if ($auth == "mapbender") {require_once($mapbender);} 
    1421include("alkisfkt.php"); 
     22if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    1523$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    1624if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    1725?> 
    18 <!doctype html> 
    19 <html lang="de"> 
     26<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     27<html> 
    2028<head> 
    21         <meta charset="utf-8"> 
     29        <meta name="author" content="b600352" > 
     30        <meta http-equiv="cache-control" content="no-cache"> 
     31        <meta http-equiv="pragma" content="no-cache"> 
     32        <meta http-equiv="expires" content="0"> 
     33        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    2234        <title>ALKIS Geb&auml;udenachweis</title> 
    2335        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    2941<body> 
    3042<?php 
    31 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisgebaeudenw.php'"); 
     43$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    3244if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    3345 
     
    6476 
    6577// Kennzeichen in Rahmen 
    66 echo "\n<table class='outer'>\n<tr>\n<td>" 
    67         ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>" 
    68     ."\n\t<tr>" 
    69         ."\n\t\t<td class='head'>Gmkg</td>" 
    70         ."\n\t\t<td class='head'>Flur</td>" 
    71         ."\n\t\t<td class='head'>Flurst-Nr.</td>" 
    72     ."\n\t</tr>\n\t<tr>" 
    73         ."\n\t\t<td title='Gemarkung'>"; 
     78echo "\n<table class='outer'>\n<tr>\n<td>"; 
     79        echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>"; 
     80    echo "\n\t<tr>"; 
     81        echo "\n\t\t<td class='head'>Gmkg</td>"; 
     82        echo "\n\t\t<td class='head'>Flur</td>"; 
     83        echo "\n\t\t<td class='head'>Flurst-Nr.</td>"; 
     84    echo "\n\t</tr>\n\t<tr>"; 
     85        echo "\n\t\t<td title='Gemarkung'>"; 
    7486        if  ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
    75         echo $gemkname."&nbsp;</td>" 
    76         ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    77         ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>" 
    78     ."\n\t</tr>" 
    79         ."\n\t</table>" 
    80 ."\n</td>\n<td>"; 
    81  
    82 // Links zu anderem Nachweis 
    83 echo "\n\t<p class='nwlink noprint'>" 
    84         ."\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    85         if ($showkey) {echo "&amp;showkey=j";} 
    86         echo "&amp;eig=n' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
    87 ."\n\t</p>" 
    88 ."\n\t</td>\n</tr>\n</table>"; 
     87        echo $gemkname."&nbsp;</td>"; 
     88        echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 
     89        echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>"; 
     90    echo "\n\t</tr>"; 
     91        echo "\n\t</table>"; 
     92echo "\n</td>\n<td>"; 
     93 
     94// Links zu anderen Nachweisen 
     95echo "\n\t<p class='nwlink noprint'>"; 
     96        echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     97        if ($idanzeige) {echo "&amp;id=j";} 
     98        if ($showkey)   {echo "&amp;showkey=j";} 
     99        echo "&amp;eig=n' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>"; 
     100echo "\n\t</p>"; 
     101if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); } 
     102echo "\n\t</td>\n</tr>\n</table>"; 
    89103// Ende Seitenkopf 
    90104 
     
    92106pg_free_result($resf); 
    93107 
    94 echo "\n\n<h3><img src='ico/Haus.png' width='16' height='16' alt=''> Geb&auml;ude</h3>" 
    95 ."\n<p>.. auf oder an dem Flurst&uuml;ck. Ermittelt durch Verschneidung der Geometrie.</p>"; 
     108echo "\n\n<h3><img src='ico/Haus.png' width='16' height='16' alt=''> Geb&auml;ude</h3>"; 
     109echo "\n<p>.. auf oder an dem Flurst&uuml;ck. Ermittelt durch Verschneidung der Geometrie.</p>"; 
    96110 
    97111// G e b a e u d e 
    98 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, h.v AS bauweise_beschreibung, u.v AS bezeichner, g.zustand, z.v AS bzustand,  
    99 round(st_area(g.wkb_geometry)::numeric,2) AS gebflae, "; // GEB-Flaeche komplett auch die Fl. ausserhalb des FS 
    100 $sqlg.="round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae, "; // wie viel vom GEB liegt im FS? 
    101 $sqlg.="st_within(g.wkb_geometry,f.wkb_geometry) as drin "; // liegt das GEB komplett im FS? 
    102 $sqlg.="FROM ax_flurstueck f, ax_gebaeude g  
    103 LEFT JOIN alkis_wertearten h ON cast(g.bauweise AS character varying) = h.k AND h.element='ax_gebaeude' and h.bezeichnung='bauweise' 
    104 LEFT JOIN alkis_wertearten u ON cast(g.gebaeudefunktion AS character varying) = u.k AND u.element='ax_gebaeude' and u.bezeichnung='gebaeudefunktion' 
    105 LEFT JOIN alkis_wertearten z ON cast(g.zustand AS character varying) = z.k AND z.element='ax_gebaeude' and z.bezeichnung='zustand' 
     112$sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, h.bauweise_beschreibung, u.bezeichner, g.zustand, z.bezeichner AS bzustand, "; 
     113 
     114// GEB-Flaeche komplett auch die Fl. ausserhalb des FS 
     115$sqlg.="round(st_area(g.wkb_geometry)::numeric,2) AS gebflae, "; 
     116 
     117// wie viel vom GEB liegt im FS? 
     118$sqlg.="round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae, "; 
     119 
     120// liegt das GEB komplett im FS? 
     121$sqlg.="st_within(g.wkb_geometry,f.wkb_geometry) as drin "; 
     122 
     123// FS und GEB geometrisch verschneiden 
     124$sqlg.="FROM ax_flurstueck f, ax_gebaeude g "; 
     125 
     126// Entschluesseln 
     127$sqlg.="LEFT JOIN v_geb_bauweise h ON g.bauweise=h.bauweise_id  
     128LEFT JOIN v_geb_funktion u ON g.gebaeudefunktion=u.wert  
     129LEFT JOIN v_geb_zustand z ON g.zustand=z.wert  
    106130WHERE f.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL "; // ID des akt. FS 
    107131 
    108 // "within" -> nur Geb., die komplett im FS liegen. "intersects" -> auch teil-ueberlappende Flst. 
     132// "within" -> nur Geb., die komplett im FS liegen 
     133// "intersects" -> auch teil-ueberlappende Flst. 
    109134$sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true "; 
    110135// RLP: keine Relationen zu NebengebÀuden. Auf Qualifizierung verzichten, sonst werden NebengebÀude nicht angezeigt 
     
    116141$resg=pg_execute("", $v); 
    117142if (!$resg) { 
    118         echo "\n<p class='err'>Fehler bei Geb&auml;ude-Verschneidung.</p>\n"; 
     143        echo "\n<p class='err'>Keine Geb&auml;ude ermittelt.</p>\n"; 
    119144        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    120145} 
     
    123148echo "\n<hr>\n<table class='geb'>"; 
    124149        // T-Header 
    125         echo "\n<tr>\n" 
    126                 ."\n\t<td class='head' title='ggf. Geb&auml;udename'>Name</td>" 
    127                 ."\n\t<td class='heads fla' title='Schnittsfl&auml;che'><img src='ico/sortd.png' width='10' height='10' alt='' title='Sortierung (absteigend)'>Fl&auml;che</td>" 
    128                 ."\n\t<td class='head' title='Geb&auml;udefl&auml;che'>&nbsp;</td>" 
    129                 ."\n\t<td class='head' title='Geb&auml;udefunktion ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'>Funktion</td>" 
    130                 ."\n\t<td class='head' title='Bauweise ist die Beschreibung der Art der Bauweise'>Bauweise</td>" 
    131                 ."\n\t<td class='head' title='Zustand beschreibt die Beschaffenheit oder die Betriebsbereitschaft von Geb&auml;ude. Diese Attributart wird nur dann optional gef&uuml;hrt, wenn der Zustand des Geb&auml;udes vom nutzungsf&auml;higen Zustand abweicht.'>Zustand</td>" 
    132                 ."\n\t<td class='head nwlink' title='Lagebezeichnung mit Stra&szlig;e und Hausnummer'>Lage</td>" 
    133                 ."\n\t<td class='head nwlink' title='Link zu den kompletten Hausdaten'>Haus</td>" 
    134         ."\n</tr>"; 
     150        echo "\n<tr>\n"; 
     151                echo "\n\t<td class='head' title='ggf. Geb&auml;udename'>Name</td>"; 
     152                echo "\n\t<td class='head fla' title='Schnittsfl&auml;che'>Fl&auml;che</td>"; 
     153                echo "\n\t<td class='head' title='Geb&auml;udefl&auml;che'>&nbsp;</td>"; 
     154                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>"; 
     155                echo "\n\t<td class='head' title='Bauweise (Schl&uuml;ssel und Beschreibung)'>Bauweise</td>"; 
     156                echo "\n\t<td class='head' title='Zustand (Schl&uuml;ssel und Beschreibung)'>Zustand</td>"; 
     157                echo "\n\t<td class='head nwlink' title='Lagebezeichnung mit Stra&szlig;e und Hausnummer'>Lage</td>"; 
     158                echo "\n\t<td class='head nwlink' title='Link zu den kompletten Hausdaten'>Haus</td>"; 
     159        echo "\n</tr>"; 
    135160        // T-Body 
    136161        while($rowg = pg_fetch_array($resg)) { 
    137162                $gebnr = $gebnr + 1; 
     163// ++ ToDo: Die Zeilen abwechselnd verschieden einfÀrben, Angrenzend anders einfÀrben  
    138164                $ggml=$rowg["gml_id"]; 
    139                 $gebflsum=$gebflsum + $rowg["schnittflae"]; 
     165                $gebflsum = $gebflsum + $rowg["schnittflae"]; 
     166        #       $skey=$rowg["lage"]; // Strassenschluessel               
    140167                $gnam=$rowg["name"]; 
    141168                $gzus=$rowg["zustand"]; 
    142169                $gzustand=$rowg["bzustand"]; 
    143170 
    144                 // 3 FÀlle unterscheiden: 
    145                 if ($rowg["drin"] == "t") { // GebÀude liegt komplett in FlurstÃŒck 
    146                         $f1=$rowg["schnittflae"]." m&#178;"; 
    147                         $f2="&nbsp;"; 
    148                         $gstyle="gin"; // siehe .css 
    149                 } else { 
    150                 if ($rowg["schnittflae"] == "0.00") { // GebÀude angrenzend (Grenzbebauung) 
    151                                 $gstyle="gan"; 
    152                                 $f1="&nbsp;"; 
    153                                 $f2="angrenzend"; 
    154                         } else { // Teile des GebÀudes stehen auf dem FlurstÃŒck 
    155                                 $gstyle="gtl"; 
    156                                 $f1=$rowg["schnittflae"]." m&#178;"; 
    157                                 $f2="(von ".$rowg["gebflae"]." m&#178;)"; 
     171                echo "\n<tr>"; 
     172                        echo "\n\t<td>"; 
     173                                if ($gnam != "") {echo "<span title='Geb&auml;udename'>".$gnam."</span><br>";} 
     174                        echo "\n\t</td>"; 
     175 
     176                        if ($rowg["drin"] == "t") { // 3 komplett enthalten 
     177                                echo "\n\t<td class='fla'>".$rowg["schnittflae"]." m&#178;</td>";  
     178                                echo "\n\t<td>&nbsp;</td>"; 
     179                        } else { 
     180                if ($rowg["schnittflae"] == "0.00") { // angrenzend 
     181                                        echo "\n\t<td class='fla'>&nbsp;</td>"; 
     182                                        echo "\n\t<td>angrenzend</td>"; 
     183                                } else { // Teile enthalten 
     184                                        echo "\n\t<td class='fla'>".$rowg["schnittflae"]." m&#178;</td>"; 
     185                                        echo "\n\t<td>(von ".$rowg["gebflae"]." m&#178;)</td>"; 
     186                                } 
    158187                        } 
    159                 } 
    160  
    161                 echo "\n<tr>" 
    162                         ."\n\t<td class='".$gstyle."'>"; 
    163                         if ($gnam != "") {echo "<span title='Geb&auml;udename'>".$gnam."</span><br>";} 
    164                         echo "\n\t</td>"; 
    165  
    166                         echo "\n\t<td class='fla'>".$f1."</td>" 
    167                         ."\n\t<td class='".$gstyle."'>".$f2."</td>"; // FlÀchenangaben 
    168  
    169                         echo "\n\t<td class='".$gstyle."'>"; 
     188                        echo "\n\t<td>"; 
    170189                        if ($showkey) {echo "<span class='key'>".$rowg["gebaeudefunktion"]."</span>&nbsp;";} 
    171190                        echo $rowg["bezeichner"]."</td>"; 
    172191 
    173                         echo "\n\t<td class='".$gstyle."'>"; 
     192                        echo "\n\t<td>"; 
    174193                        if ($showkey) {echo "<span class='key'>".$rowg["bauweise"]."</span>&nbsp;";} 
    175194                        echo $rowg["bauweise_beschreibung"]."&nbsp;</td>"; 
    176195 
    177                         echo "\n\t<td class='".$gstyle."'>"; 
     196                        echo "\n\t<td>"; 
    178197                        if ($showkey) {echo "<span class='key'>".$gzus."</span>&nbsp;";} 
    179198                        echo $gzustand."&nbsp;</td>"; 
     
    183202 
    184203                        // HAUPTgebÀude  Geb >zeigtAuf> lage (mehrere) 
    185                         $sqll="SELECT 'm' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer " 
    186                         ."FROM ax_gebaeude g JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf) " 
    187                         ."JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 
    188                         ."WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; 
     204                        $sqll ="SELECT 'm' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer "; 
     205                        $sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf) "; 
     206                        $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
     207                        $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; 
    189208 
    190209                        // oder NEBENgebÀude  Geb >hat> Pseudo 
    191                         $sqll.="UNION SELECT 'p' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer " 
    192                         ."FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat " 
    193                         ."JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 
    194                         ."WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; // ID des Hauses" 
     210                        $sqll.="UNION SELECT 'p' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer "; 
     211                        $sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat "; 
     212                        $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
     213                        $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; // ID des Hauses" 
    195214                 
    196215                        $sqll.="ORDER BY bezeichnung, hausnummer;"; 
     
    220239                                if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}                       
    221240                                echo "\n\t\t<a title='".$lagetitl."' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp; 
     241                                        if ($idanzeige) {echo "&amp;id=j";} 
    222242                                        if ($showkey)   {echo "&amp;showkey=j";} 
    223243                                echo "'>".$lagetxt."</a>"; 
     244                                if ($idanzeige) {linkgml($gkz, $gmllag, "Lage", ""); } 
    224245                                echo "<br>"; 
    225246                        } // Ende Loop Lage m.H. 
     
    227248                        echo "\n\t</td>"; 
    228249 
    229                         echo "\n\t<td class='nwlink noprint'>" 
    230                                 ."\n\t\t<a title='Daten zum Geb&auml;ude-Objekt' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml; 
    231                                 if ($showkey) {echo "&amp;showkey=j";} 
    232                                 echo "'><img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
    233                         ."\n\t</td>" 
    234                 ."\n</tr>"; 
     250                        echo "\n\t<td class='nwlink noprint'>"; 
     251                                echo "\n\t\t<a title='Daten zum Geb&auml;ude-Objekt' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml; 
     252                                if ($idanzeige) {echo "&amp;id=j";} 
     253                                if ($showkey)   {echo "&amp;showkey=j";} 
     254                                echo "'><img src='ico/Haus.png' width='16' height='16' alt=''></a>"; 
     255                        echo "\n\t</td>"; 
     256 
     257                echo "\n</tr>"; 
    235258        } 
    236259        // Footer 
    237260        if ($gebnr == 0) { 
    238                 echo "\n</table>" 
    239                 ."<p class='err'><br>Keine Geb&auml;ude auf diesem Flurst&uuml;ck.<br>&nbsp;</p>"; 
     261                echo "\n</table>"; 
     262                echo "<p class='err'><br>Keine Geb&auml;ude auf diesem Flurst&uuml;ck.<br>&nbsp;</p>"; 
    240263        } else { 
    241                 echo "\n<tr>" 
    242                         ."\n\t<td>Summe:</td>" 
    243                         ."\n\t<td class='fla sum' title='von Geb&auml;uden &uuml;berbaute Fl&auml;che des Flurst&uuml;cks'>".number_format($gebflsum,0,",",".")."&nbsp;&nbsp;&nbsp;&nbsp;m&#178;</td>" 
    244                         ."\n\t<td colspan='6'>&nbsp;</td>" 
    245                 ."\n</tr>" 
    246         ."\n</table>"; 
     264                echo "\n<tr>"; 
     265                        echo "\n\t<td>Summe:</td>"; // 1 
     266                        echo "\n\t<td class='fla sum'>".number_format($gebflsum,0,",",".")."&nbsp;&nbsp;&nbsp;&nbsp;m&#178;</td>"; 
     267                        echo "\n\t<td>&nbsp;</td>"; // 3 
     268                        echo "\n\t<td>&nbsp;</td>"; // 4 
     269                        echo "\n\t<td>&nbsp;</td>"; // 5 
     270                        echo "\n\t<td>&nbsp;</td>"; // 6 
     271                        echo "\n\t<td>&nbsp;</td>"; // 7 
     272                echo "\n</tr>"; 
     273        echo "\n</table>"; 
    247274        $unbebaut = number_format(($flstflaeche - $gebflsum),0,",",".") . " m&#178;"; 
    248         echo "\n<p><br>Flurst&uuml;cksfl&auml;che abz&uuml;glich Geb&auml;udefl&auml;che: <b>".$unbebaut."</b></p><br>"; 
     275        echo "\n<p>Flurst&uuml;cksfl&auml;che abz&uuml;glich Geb&auml;udefl&auml;che: <b>".$unbebaut."</b></p><br>"; 
    249276} 
    250277pg_free_result($resg); 
    251278?> 
    252279 
    253 <div class='buttonbereich noprint'> 
    254 <hr> 
    255         <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    256         <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a> 
    257 </div> 
     280<form action=''> 
     281        <div class='buttonbereich noprint'> 
     282        <hr> 
     283                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
     284                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a> 
     285        </div> 
     286</form> 
    258287 
    259288<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
  • trunk/info/info/alkis/alkishaus.php

    r376 r377  
    11<?php 
    2 /*      alkishaus.php - viele Daten zu EINEM ALKIS-GebÀude-Objekt 
     2/*      alkishaus.php - Daten zum ALKIS-GebÀude-Objekt 
    33        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    44 
    55        Version: 
    6         2016-02-24 Version fuer norGIS-ALKIS-Import 
    7         2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
     6        2011-11-30 NEU! Variante von alkisgebaeudenw: Aufruf fÃŒr EIN Haus, nicht fÃŒr ein FS 
     7        2011-01-31 ax_gebaeude.weiteregebaeudefunktion ist jetzt Array 
     8        2013-04-08 deprecated "import_request_variables" ersetzt 
     9        2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     10        2014-09-10 Bei Relationen den Timestamp abschneiden 
     11        2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 
     12        2015-12-09 Austausch .ico durch .png 
     13        2015-12-16 area -> st_area 
    814 
    915        ToDo: 
     
    1117        - geometrische Suche nach FS, auf denen das Haus steht 
    1218        - Template im WMS auf Ebene GebÀude hierhin verknÃŒpfen. 
    13         - Relationen abbilden: 
     19        - Auch diese Relationen abbilden: 
    1420                ax_gebaeude >gehoertZu> ax_gebaeude  (ringförmige Verbindung GebÀudekomplex) 
    1521                ax_gebaeude (umschliesst) ax_bauteil 
    16                 ax_gebaeude >gehoert> ax_person (Ausnahme) 
     22                ax_gebaeude >gehoert> ax_person  (Ausnahme) 
    1723*/ 
    1824session_start(); 
     
    2329if ($auth == "mapbender") {require_once($mapbender);} 
    2430include("alkisfkt.php"); 
     31if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    2532$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    2633if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    2734if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} 
    2835?> 
    29 <!doctype html> 
    30 <html lang="de"> 
     36<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     37<html> 
    3138<head> 
    32         <meta charset="utf-8"> 
     39        <meta name="author" content="b600352" > 
     40        <meta http-equiv="cache-control" content="no-cache"> 
     41        <meta http-equiv="pragma" content="no-cache"> 
     42        <meta http-equiv="expires" content="0"> 
     43        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    3344        <title>ALKIS Daten zum Haus</title> 
    3445        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    3647        <style type='text/css' media='print'> 
    3748                .noprint {visibility: hidden;} 
    38                 td.mittelspalte {width: 190px;} 
    3949        </style> 
    4050</head> 
     
    4252<?php 
    4353 
    44 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'"); 
     54$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    4555if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    4656 
    4757// G e b a e u d e 
    48  
    4958$sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug,  
    50 g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, array_to_string(g.weiteregebaeudefunktion, ',') AS wgf, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben,  
    51 h.v AS bbauw, h.d AS dbauw, u.v AS bfunk, u.d AS dfunk, z.v AS zustandv, z.d AS zustandd, d.v AS bdach, a.v AS dgaus, o.v AS oflv, o.d AS ofld, 
    52 round(st_area(g.wkb_geometry)::numeric,2) AS gebflae 
    53 FROM ax_gebaeude g  
    54 LEFT JOIN alkis_wertearten h ON cast(g.bauweise AS character varying)=h.k AND h.element='ax_gebaeude' AND h.bezeichnung='bauweise' 
    55 LEFT JOIN alkis_wertearten u ON cast(g.gebaeudefunktion AS character varying)=u.k AND u.element='ax_gebaeude' AND u.bezeichnung='gebaeudefunktion' 
    56 LEFT JOIN alkis_wertearten z ON cast(g.zustand AS character varying)=z.k AND z.element='ax_gebaeude' AND z.bezeichnung='zustand' 
    57 LEFT JOIN alkis_wertearten d ON cast(g.dachform AS character varying)=d.k AND d.element='ax_gebaeude' AND d.bezeichnung='dachform' 
    58 LEFT JOIN alkis_wertearten a ON cast(g.dachgeschossausbau AS character varying)=a.k AND a.element='ax_gebaeude' AND a.bezeichnung='dachgeschossausbau' 
    59 LEFT JOIN alkis_wertearten o ON cast(g.lagezurerdoberflaeche AS character varying)=o.k AND o.element='ax_gebaeude' AND o.bezeichnung='lagezurerdoberflaeche' 
    60 WHERE g.gml_id= $1 AND g.endet IS NULL;"; 
     59g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, g.weiteregebaeudefunktion, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben,  
     60h.bauweise_beschreibung, u.bezeichner AS bfunk, z.bezeichner AS bzustand, "; // w.bezeichner AS bweitfunk, 
     61$sqlg.="d.bezeichner AS bdach, round(st_area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g  
     62LEFT JOIN v_geb_bauweise h ON g.bauweise=h.bauweise_id  
     63LEFT JOIN v_geb_funktion u ON g.gebaeudefunktion=u.wert  
     64LEFT JOIN v_geb_zustand z ON g.zustand=z.wert  
     65LEFT JOIN v_geb_dachform d ON g.dachform=d.wert 
     66WHERE g.gml_id= $1 AND g.endet IS NULL ;"; 
    6167 
    6268$v = array($gmlid); 
     
    7581// Kennzeichen in Rahmen  
    7682// - Welches Kennzeichen zum Haus ? 
     83if ($idanzeige) {linkgml($gkz, $gmlid, "Haus", "ax_gebaeude"); } 
    7784echo "\n<hr>"; 
    7885// Umschalter: auch leere Felder ausgeben? 
    7986echo "<p class='nwlink noprint'>"; 
    80 echo "Umschalten: <a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     87echo "<a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    8188        if ($showkey) {echo "&amp;showkey=j";} else {echo "&amp;showkey=n";} 
    82         if ($allefelder) { 
    83                 echo "&amp;allfld=n'>nur Felder mit Inhalt"; 
    84         } else { 
    85                 echo "&amp;allfld=j'>auch leere Felder"; 
    86         } 
     89        if ($idanzeige) {echo "&amp;id=j";} else {echo "&amp;id=n";} 
     90        if ($allefelder) {echo "&amp;allfld=n'>nur Felder mit Inhalt";}  
     91        else {echo "&amp;allfld=j'>auch leere Felder";} 
    8792echo "</a></p>"; 
    8893 
     
    9196while($rowg = pg_fetch_array($resg)) { // Schleife, kann aber nur EIN Haus sein. 
    9297        $gebnr++; 
    93         echo "\n<table class='geb'>" 
    94         ."\n<tr>\n" 
    95                 ."\n\t<td class='head' title=''>Attribut</td>" 
    96                 ."\n\t<td class='head mittelspalte' title=''>Wert</td>" 
    97                 ."\n\t<td class='head' title=''>Erkl&auml;rung</td>" 
    98         ."\n</tr>"; 
     98        echo "\n<table class='geb'>"; 
     99        echo "\n<tr>\n"; 
     100                echo "\n\t<td class='head' title=''>Attribut</td>"; 
     101                echo "\n\t<td class='head' title=''>Wert</td>"; 
     102        echo "\n</tr>"; 
    99103 
    100104        $aog=$rowg["aog"]; 
     
    102106        $hoh=$rowg["hochhaus"]; 
    103107        $nam=$rowg["name"]; // Gebaeude-Name 
    104  
    105         $kfunk=$rowg["gebaeudefunktion"]; 
    106108        $bfunk=$rowg["bfunk"]; 
    107         $dfunk=$rowg["dfunk"]; 
    108  
    109109        $baw=$rowg["bauweise"]; 
    110         $bbauw=$rowg["bbauw"]; 
    111         $dbauw=$rowg["dbauw"]; 
    112  
     110        $bbauw=$rowg["bauweise_beschreibung"]; 
    113111        $ofl=$rowg["lagezurerdoberflaeche"]; 
    114         $oflv=$rowg["oflv"]; 
    115         $ofld=$rowg["ofld"]; 
    116  
    117         $dga=$rowg["dachgeschossausbau"]; // Key 
    118         $dgav=$rowg["dgaus"]; // Value 
    119  
    120         $zus=$rowg["zustand"]; // Key 
    121         $zusv=$rowg["zustandv"]; // Value 
    122         $zusd=$rowg["zustandd"]; // Description 
    123  
    124         $wgf=$rowg["wgf"]; // Array-> kommagetrennte Liste 
    125  
    126         $daf=$rowg["dachform"]; // Key 
    127         $dach=$rowg["bdach"]; // Value 
    128  
     112        $dga=$rowg["dachgeschossausbau"]; 
     113        $zus=$rowg["zustand"]; 
     114        $zustand=$rowg["bzustand"]; 
     115        $wgf=$rowg["weiteregebaeudefunktion"]; 
     116        $daf=$rowg["dachform"]; 
     117        $dach=$rowg["bdach"]; 
    129118        $hho=$rowg["objekthoehe"]; 
    130119        $gfl=$rowg["geschossflaeche"]; 
     
    136125 
    137126        if (($nam != "") OR $allefelder) { 
    138                 echo "\n<tr>" 
    139                         ."\n\t<td class='li'>Name</td>" 
    140                         ."\n\t<td>".$nam."</td>" 
    141                         ."\n\t<td class='erkl'>'Name' ist der Eigenname oder die Bezeichnung des Geb&auml;udes.</td>" 
    142                 ."\n</tr>"; 
    143         } 
    144  
    145         // 0 bis N   L a g e bezeichnungen mit Haus- oder Pseudo-Nummer 
    146  
     127                echo "\n<tr>"; 
     128                        echo "\n\t<td title='\"Name\" ist der Eigenname oder die Bezeichnung des Geb&auml;udes.'>Name</td>"; 
     129                        echo "\n\t<td>"; 
     130                        echo $nam."</td>"; 
     131                echo "\n</tr>"; 
     132        } 
     133 
     134        // 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer 
    147135        // HAUPTgebÀude 
    148         $sqll ="SELECT 'm' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer FROM ax_gebaeude g 
    149         JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf) 
    150         JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 
    151         WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL"; 
     136        $sqll ="SELECT 'm' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer "; 
     137        $sqll.="FROM ax_gebaeude g "; 
     138        $sqll.="JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf) "; 
     139        $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
     140        $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL "; 
     141        $sqll.="UNION "; 
    152142        // oder NEBENgebÀude 
    153         $sqll.=" UNION  
    154         SELECT 'p' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer 
    155         FROM ax_gebaeude g 
    156         JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat 
    157         JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 
    158         WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL "; 
     143        $sqll.="SELECT 'p' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer "; 
     144        $sqll.="FROM ax_gebaeude g ";  
     145        $sqll.="JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat "; 
     146        $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
     147        $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL "; 
    159148 
    160149        $sqll.="ORDER BY bezeichnung, hausnummer ;"; 
     
    177166                $gmllag=$rowl["gmllag"]; 
    178167 
    179                 if ($zhsnr == 1) { 
    180                         echo "\n<tr>" 
    181                                 ."\n\t<td class='li' title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>" 
    182                                 ."\n\t<td class='fett'>"; 
    183                 } 
    184                 echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;"; 
    185                 if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}                       
    186                 echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp."'>" 
    187                         .$snam."&nbsp;".$hsnr; 
    188                         if ($ltyp == "p") {echo ", lfd.Nr ".$hlfd;} 
    189                 echo "</a><br>"; 
     168                        if ($zhsnr == 1) { 
     169                                echo "\n<tr>\n\t<td title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>"; 
     170                                echo "\n\t<td>"; 
     171                        } 
     172                        echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;"; 
     173                        if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";} 
     174                        echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp; 
     175                                if ($idanzeige) {echo "&amp;id=j";} 
     176                        echo "'>"; 
     177                                echo $snam."&nbsp;".$hsnr; 
     178                                if ($ltyp == "p") { echo ", lfd.Nr ".$hlfd;} 
     179                        echo "</a>"; 
     180                        if ($idanzeige) {linkgml($gkz, $gmllag, "Lage", ""); } 
     181                        echo "<br>"; 
    190182        } // Ende Loop Lagezeilen m.H. 
    191         if ($zhsnr > 0) {echo "\n\t</td>\n\t<td>&nbsp;</td>\n</tr>";} 
    192  
    193         // GebÀudefunktion 
    194         echo "\n<tr>" 
    195                 ."\n\t<td class='li'>Geb&auml;udefunktion</td>" 
    196                 ."\n\t<td class='fett'>"; 
    197                 if ($showkey) {echo "<span class='key'>".$kfunk."</span>&nbsp;";} 
    198                 echo $bfunk."</td>" 
    199                 ."\n\t<td class='erkl'>'Geb&auml;udefunktion' ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'<br>".$dfunk."</td>" 
    200         ."\n</tr>"; 
    201  
    202         // Bauweise 
     183 
     184        if ($zhsnr > 0) { 
     185                echo "\n\t</td>\n</tr>"; 
     186        } 
     187 
     188                echo "\n<tr>"; 
     189                        echo "\n\t<td title='\"Geb&auml;udefunktion\" ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'>Funktion</td>"; 
     190                        echo "\n\t<td>"; 
     191                        if ($showkey) {echo "<span class='key'>".$rowg["gebaeudefunktion"]."</span>&nbsp;";} 
     192                        echo $bfunk."</td>"; 
     193                echo "\n</tr>"; 
     194 
    203195        if ($baw != "" OR $allefelder) { 
    204                 echo "\n<tr>" 
    205                         ."\n\t<td class='li'>Bauweise</td>" 
    206                         ."\n\t<td class='fett'>"; 
     196                echo "\n<tr>"; 
     197                        echo "\n\t<td title='\"Bauweise\" ist die Beschreibung der Art der Bauweise.'>Bauweise</td>"; 
     198                        echo "\n\t<td>"; 
    207199                        if ($showkey) {echo "<span class='key'>".$baw."</span>&nbsp;";} 
    208                         echo $bbauw."</td>" 
    209                         ."\n\t<td class='erkl'>'Bauweise' ist die Beschreibung der Art der Bauweise.<br>".$dbauw."</td>" 
    210                 ."\n</tr>"; 
    211         } 
    212  
    213         // Geschosse 
     200                        echo $bbauw."</td>"; 
     201                echo "\n</tr>"; 
     202        } 
     203 
    214204        if ($aog != "" OR $allefelder) { 
    215                 echo "\n<tr>" 
    216                         ."\n\t<td class='li'>Geschosse</td>" 
    217                         ."\n\t<td class='fett'>".$aog."</td>" 
    218                         ."\n\t<td class='erkl'>Anzahl oberirdischer Geschosse</td>" 
    219                 ."\n</tr>"; 
    220         } 
    221  
    222         // U-Geschosse 
     205                echo "\n<tr>"; 
     206                        echo "\n\t<td title='Anzahl oberirdischer Geschosse'>Geschosse</td>"; 
     207                        echo "\n\t<td>".$aog."</td>"; 
     208                echo "\n</tr>"; 
     209        } 
     210 
    223211        if ($aug != "" OR $allefelder) { 
    224                 echo "\n<tr>" 
    225                         ."\n\t<td class='li'>U-Geschosse</td>" 
    226                         . "\n\t<td class='fett'>".$aug."</td>" 
    227                         ."\n\t<td class='erkl'>Anzahl unterirdischer Geschosse</td>" 
    228                 ."\n</tr>"; 
    229         } 
    230  
    231         // Hochhaus 
     212                echo "\n<tr>"; 
     213                        echo "\n\t<td title='Anzahl unterirdischer Geschosse'>U-Geschosse</td>"; 
     214                        echo "\n\t<td>".$aug."</td>"; 
     215                echo "\n</tr>"; 
     216        } 
     217 
    232218        if ($hoh != "" OR $allefelder) { 
    233                 echo "\n<tr>" 
    234                         ."\n\t<td class='li'>Hochhaus</td>" 
    235                         ."\n\t<td class='fett'>".$hoh."</td>" 
    236                         ."\n\t<td class='erkl'>'Hochhaus' ist ein Geb&auml;ude, das nach Geb&auml;udeh&ouml;he und Auspr&auml;gung als Hochhaus zu bezeichnen ist. F&uuml;r Geb&auml;ude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, f&uuml;r andere Geb&auml;ude ab einer Geb&auml;udeh&ouml;he von 22 m.</td>" 
    237                 ."\n</tr>"; 
    238         } 
    239  
    240         // Lage zur ErdoberflÀche 
     219                echo "\n<tr>"; 
     220                        echo "\n\t<td title='\"Hochhaus\" ist ein Geb&auml;ude, das nach Geb&auml;udeh&ouml;he und Auspr&auml;gung als Hochhaus zu bezeichnen ist. F&uuml;r Geb&auml;ude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, f&uuml;r andere Geb&auml;ude ab einer Geb&auml;udeh&ouml;he von 22 m.'>Hochhaus</td>"; 
     221                        echo "\n\t<td>".$hoh."</td>"; 
     222                echo "\n</tr>"; 
     223        } 
     224 
    241225        if ($ofl != "" OR $allefelder) { 
    242                 echo "\n<tr>" 
    243                         ."\n\t<td class='li'>Lage zur Erdoberfl&auml;che</td>" 
    244                         ."\n\t<td class='fett'>"; 
     226                echo "\n<tr>"; 
     227                        echo "\n\t<td title='\"Lage zur Erdoberfl&auml;che\" ist die Angabe der relativen Lage des Geb&auml;udes zur Erdoberfl&auml;che. Diese Attributart wird nur bei nicht ebenerdigen Geb&auml;uden gef&uuml;hrt.'>Lage zur Erdoberfl&auml;che</td>"; 
     228                        echo "\n\t<td>"; 
    245229                        if ($showkey) {echo "<span class='key'>".$ofl."</span>&nbsp;";} 
    246                         echo $oflv."</td>" 
    247                         ."\n\t<td class='erkl'>'Lage zur Erdoberfl&auml;che' ist die Angabe der relativen Lage des Geb&auml;udes zur Erdoberfl&auml;che. Diese Attributart wird nur bei nicht ebenerdigen Geb&auml;uden gef&uuml;hrt.<br>".$ofld."</td>" 
    248                 ."\n</tr>"; 
    249         } 
    250  
    251         // Dachgeschossausbau 
    252         // nichts dazu in alkis_wertearten.d 
    253         if ($dga != "" OR $allefelder) { 
    254                 echo "\n<tr>" 
    255                         ."\n\t<td class='li'>Dachgeschossausbau</td>" 
    256                         ."\n\t<td class='fett'>"; 
     230                        switch ($ofl) { 
     231                                case 1200: echo "Unter der Erdoberfl&auml;che"; break; 
     232                                // "Unter der Erdoberfl&auml;che" bedeutet, dass sich das Geb&auml;ude unter der Erdoberfl&auml;che befindet 
     233                                case 1400: echo "Aufgest&auml;ndert"; break; 
     234                                // "Aufgest&auml;ndert" bedeutet, dass ein Geb&auml;ude auf St&uuml;tzen steht 
     235                                case "": echo "&nbsp;"; break; 
     236                                default: echo "** Unbekannte Lage zur Erdoberfl&auml;che '".$ofl."' **"; break; 
     237                        } 
     238                        echo "&nbsp;</td>"; 
     239                echo "\n</tr>"; 
     240        } 
     241 
     242        if ($dga != "" OR $allefelder) { // keine Schluesseltabelle in DB 
     243                echo "\n<tr>"; 
     244                        echo "\n\t<td title='\"Dachgeschossausbau\" ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses.'>Dachgeschossausbau</td>"; 
     245                        echo "\n\t<td>"; 
    257246                        if ($showkey) {echo "<span class='key'>".$dga."</span>&nbsp;";} 
    258                         echo $dgav."</td>" 
    259                         ."\n\t<td class='erkl'>'Dachgeschossausbau' ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses.</td>" 
    260                 ."\n</tr>"; 
    261         } 
    262  
    263         // Zustand 
     247                        switch ($dga) { 
     248                                case 1000: echo "Nicht ausbauf&auml;hig"; break; 
     249                                case 2000: echo "Ausbauf&auml;hig"; break; 
     250                                case 3000: echo "Ausgebaut"; break; 
     251                                case 4000: echo "Ausbauf&auml;higkeit unklar"; break; 
     252                                case "": echo "&nbsp;"; break; 
     253                                default: echo "** Unbekannter Wert Dachgeschossausbau '".$dga."' **"; break; 
     254                        } 
     255                        echo "</td>"; 
     256                echo "\n</tr>"; 
     257        } 
     258 
    264259        if ($zus != "" OR $allefelder) { 
    265                 echo "\n<tr>" 
    266                         ."\n\t<td class='li'>Zustand</td>" 
    267                         ."\n\t<td class='fett'>"; 
     260                echo "\n<tr>"; 
     261                        echo "\n\t<td title='\"Zustand\" beschreibt die Beschaffenheit oder die Betriebsbereitschaft von \"Geb&auml;ude\". Diese Attributart wird nur dann optional gef&uuml;hrt, wenn der Zustand des Geb&auml;udes vom nutzungsf&auml;higen Zustand abweicht.'>Zustand</td>"; 
     262                        echo "\n\t<td>"; 
    268263                        if ($showkey) {echo "<span class='key'>".$zus."</span>&nbsp;";} 
    269                         echo $zusv."</td>" 
    270                         ."\n\t<td class='erkl'>'Zustand' beschreibt die Beschaffenheit oder die Betriebsbereitschaft von 'Geb&auml;ude'. Diese Attributart wird nur dann optional gef&uuml;hrt, wenn der Zustand des Geb&auml;udes vom nutzungsf&auml;higen Zustand abweicht.<br>".$zusd."</td>" 
    271                 ."\n</tr>"; 
    272         } 
    273  
    274         // Weitere GebÀudefunktionen 
    275         // Suche Testfall: SELECT * FROM ax_gebaeude WHERE NOT weiteregebaeudefunktion IS NULL; 
    276         // Keiner zu finden. Das folgende ungetestet: 
    277         if ($wgf != "" OR $allefelder) { // "weiteregebaeudefunktion" ist ein Array 
    278                 echo "\n<tr>" 
    279                         ."\n\t<td class='li'>Weitere Geb&auml;udefunktionen</td>" 
    280                         ."\n\t<td>"; 
    281                         if ($wgf != "") { // Kommagetrennte Liste aus Array 
    282                                 $sqlw="SELECT k, v, d FROM alkis_wertearten WHERE k IN ( $1 ) AND element='ax_gebaeude' AND bezeichnung='weiteregebaeudefunktion' ORDER BY k;"; 
    283                                 $v = array($wgf); 
     264                        echo $zustand."</td>"; 
     265                echo "\n</tr>"; 
     266        } 
     267 
     268        if ($wgf != "" OR $allefelder) { 
     269                echo "\n<tr>"; 
     270                        echo "\n\t<td title='\"Weitere Geb&auml;udefunktion\" ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat.'>Weitere Geb&auml;udefunktionen</td>"; 
     271                        echo "\n\t<td>"; 
     272 
     273                        if ($wgf != "") { 
     274                                // weiteregebaeudefunktion ist jetzt ein Array 
     275                                $wgflist=trim($wgf, "{}"); // kommagetrennte(?) Liste der Schluesselwerte 
     276                                //$wgfarr=explode(",", $wgflist); 
     277                                //for each ... 
     278                                $sqlw="SELECT wert, bezeichner FROM v_geb_weiterefkt WHERE wert in ( $1 ) ORDER BY wert;"; 
     279                                $v = array($wgflist); 
    284280                                $resw = pg_prepare("", $sqlw); 
    285281                                $resw = pg_execute("", $v); 
    286282                                if (!$resw) { 
    287283                                        echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>\n"; 
    288                                         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";} 
     284                                        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgflist."'</p>";} 
    289285                                } 
    290286                                $zw=0; 
    291287                                while($roww = pg_fetch_array($resw)) { // LOOP: w.Funktion 
    292                                         if ($zw > 0) {echo "<br>";} 
    293                                         if ($showkey) {echo "<span class='key'>".$roww["k"]."</span>&nbsp;";} 
    294                                         echo "<span title='".$roww["d"]."'>".$roww["v"]."</span>"; 
     288                                        $wwert=$roww["wert"]; 
     289                                        $wbez=$roww["bezeichner"]; 
     290                                        if ($zw > 0) {echo ", ";} // Liste oder Zeile? echo "<br>";  
     291                                        if ($showkey) {echo "<span class='key'>".$wwert."</span>&nbsp;";} 
     292                                        echo $wbez; 
    295293                                        $zw++; 
    296294                           } 
    297295                        } 
    298                         echo "</td>" 
    299                         ."\n\t<td class='erkl'>'Weitere Geb&auml;udefunktion' ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat.</td>" 
    300                 ."\n</tr>"; 
    301         } 
    302  
    303         // Dachform 
    304         // nichts dazu in alkis_wertearten.d 
     296                        echo "</td>"; 
     297                echo "\n</tr>"; 
     298        } 
     299 
    305300        if ($daf != "" OR $allefelder) { 
    306                 echo "\n<tr>" 
    307                         ."\n\t<td class='li'>Dachform</td>" 
    308                         ."\n\t<td class='fett'>"; 
     301                echo "\n<tr>"; 
     302                        echo "\n\t<td title='\"Dachform\" beschreibt die charakteristische Form des Daches.'>Dachform</td>"; 
     303                        echo "\n\t<td>"; 
    309304                        if ($showkey) {echo "<span class='key'>".$daf."</span>&nbsp;";} 
    310                         echo $dach."</td>" 
    311                         ."\n\t<td class='erkl'>'Dachform' beschreibt die charakteristische Form des Daches.</td>" 
    312                 ."\n</tr>"; 
    313         } 
    314  
    315         // Objekthöhe 
     305                        echo $dach."</td>"; 
     306                echo "\n</tr>"; 
     307        } 
     308 
    316309        if ($hho != "" OR $allefelder) { 
    317                 echo "\n<tr>" 
    318                         ."\n\t<td class='li'>Objekth&ouml;he</td>" 
    319                         ."\n\t<td class='fett'>".$hho."</td>" 
    320                         ."\n\t<td class='erkl'>'Objekth&ouml;he' ist die H&ouml;hendifferenz in [m] zwischen dem h&ouml;chsten Punkt der Dachkonstruktion und der festgelegten Gel&auml;ndeoberfl&auml;che des Geb&auml;udes.</td>" 
    321                 ."\n</tr>"; 
    322         } 
    323  
    324         // GeschossflÀche 
     310                echo "\n<tr>"; 
     311                        echo "\n\t<td title='\"Objekth&ouml;he\" ist die H&ouml;hendifferenz in [m] zwischen dem h&ouml;chsten Punkt der Dachkonstruktion und der festgelegten Gel&auml;ndeoberfl&auml;che des Geb&auml;udes.'>Objekth&ouml;he</td>"; 
     312                        echo "\n\t<td>"; 
     313                        echo $hho."</td>"; 
     314                echo "\n</tr>"; 
     315        } 
     316 
    325317        if ($gfl != "" OR $allefelder) { 
    326                 echo "\n<tr>" 
    327                         ."\n\t<td class='li'>Geschossfl&auml;che</td>" 
    328                         ."\n\t<td class='fett'>"; 
    329                         if ($gfl != "") {echo $gfl." m&#178;";} 
    330                         echo "</td>" 
    331                         ."\n\t<td class='erkl'>'Geschossfl&auml;che' ist die Geb&auml;udegeschossfl&auml;che in [qm].</td>" 
    332                 ."\n</tr>"; 
    333         } 
    334  
    335         // GrundflÀche 
     318                echo "\n<tr>"; 
     319                        echo "\n\t<td title='\"Geschossfl&auml;che\" ist die Geb&auml;udegeschossfl&auml;che in [qm].'>Geschossfl&auml;che</td>"; 
     320                        echo "\n\t<td>"; 
     321                        if ($gfl != "") { 
     322                                echo $gfl." m&#178;"; 
     323                        } 
     324                        echo "</td>"; 
     325                echo "\n</tr>"; 
     326        } 
     327 
    336328        if ($grf != "" OR $allefelder) { 
    337                 echo "\n<tr>" 
    338                         ."\n\t<td class='li'>Grundfl&auml;che</td>" 
    339                         ."\n\t<td class='fett'>"; 
    340                         if ($grf != "") {echo $grf." m&#178;";} 
    341                         echo "\n\t<td class='erkl'>'Grundfl&auml;che' ist die Geb&auml;udegrundfl&auml;che in [qm].</td>" 
    342                 ."\n</tr>"; 
    343         } 
    344  
    345         // Umbauter Raum 
     329                echo "\n<tr>"; 
     330                        echo "\n\t<td title='\"Grundfl&auml;che\" ist die Geb&auml;udegrundfl&auml;che in [qm].'>Grundfl&auml;che</td>"; 
     331                        echo "\n\t<td>"; 
     332                        if ($grf != "") { 
     333                                echo $grf." m&#178;"; 
     334                        } 
     335                echo "\n</tr>"; 
     336        } 
     337 
    346338        if ($ura != "" OR $allefelder) { 
    347                 echo "\n<tr>" 
    348                         ."\n\t<td class='li'>Umbauter Raum</td>" 
    349                         ."\n\t<td class='fett'>".$ura."</td>" 
    350                         ."\n\t<td class='erkl'>'Umbauter Raum' ist der umbaute Raum [Kubikmeter] des Geb&auml;udes.</td>" 
    351                 ."\n</tr>"; 
    352         } 
    353  
    354         // Baujahr 
     339                echo "\n<tr>"; 
     340                        echo "\n\t<td title='\"Umbauter Raum\" ist der umbaute Raum [Kubikmeter] des Geb&auml;udes.'>Umbauter Raum</td>"; 
     341                        echo "\n\t<td>"; 
     342                        echo $ura."</td>"; 
     343                echo "\n</tr>"; 
     344        } 
     345 
    355346        if ($bja != "" OR $allefelder) { 
    356                 echo "\n<tr>" 
    357                         ."\n\t<td class='li'>Baujahr</td>" 
    358                         ."\n\t<td class='fett'>".$bja."</td>" 
    359                         ."\n\t<td class='erkl'>'Baujahr' ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes.</td>" 
    360                 ."\n</tr>"; 
    361         } 
    362  
    363         // Dachart 
     347                echo "\n<tr>"; 
     348                        echo "\n\t<td title='\"Baujahr\" ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes.'>Baujahr</td>"; 
     349                        echo "\n\t<td>"; 
     350                        echo $bja."</td>"; 
     351                echo "\n</tr>"; 
     352        } 
     353 
    364354        if ($daa != "" OR $allefelder) { 
    365                 echo "\n<tr>" 
    366                         ."\n\t<td class='li'>Dachart</td>" 
    367                         ."\n\t<td class='fett'>".$daa."</td>" 
    368                         ."\n\t<td class='erkl'>'Dachart' gibt die Art der Dacheindeckung (z.B. Reetdach) an.</td>" 
    369                 ."\n</tr>"; 
    370         } 
    371  
    372         // QualitÀtsangaben 
     355                echo "\n<tr>"; 
     356                        echo "\n\t<td title='\"Dachart\" gibt die Art der Dacheindeckung (z.B. Reetdach) an.'>Dachart</td>"; 
     357                        echo "\n\t<td>"; 
     358                        echo $daa."</td>"; 
     359                echo "\n</tr>"; 
     360        } 
     361 
    373362        if ($qag != "" OR $allefelder) { 
    374                 echo "\n<tr>" 
    375                         ."\n\t<td class='li'>Qualit&auml;tsangaben</td>" 
    376                         ."\n\t<td class='fett'>".$qag."</td>" 
    377                         ."\n\t<td class='erkl'>Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repr&auml;sentieren.</td>" 
    378                 ."\n</tr>"; 
    379         } 
     363                echo "\n<tr>"; 
     364                        echo "\n\t<td title='Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repr&auml;sentieren.'>Qualit&auml;tsangaben</td>"; 
     365                        echo "\n\t<td>"; 
     366                        echo $qag."</td>"; 
     367                echo "\n</tr>"; 
     368        } 
     369 
    380370        echo "\n</table>"; 
    381371} 
    382372if ($gebnr == 0) {echo "<p class='err'><br>Kein Geb&auml;ude gefunden<br>&nbsp;</p>";} 
    383  
    384 // ++ ToDo: Verschnitt mit FS? 
     373// ++ ToDo: Verschnitt mit FS 
    385374 
    386375?> 
    387376 
    388 <div class='buttonbereich noprint'> 
    389 <hr> 
    390         <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    391         <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
    392 </div> 
     377<form action=''> 
     378        <div class='buttonbereich noprint'> 
     379        <hr> 
     380                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
     381                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
     382        </div> 
     383</form> 
    393384 
    394385<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
  • trunk/info/info/alkis/alkisinlayausk.php

    r376 r377  
    55        Dies Programm wird in einen iFrame im Mapserver-Template (FeatureInfo) geladen. 
    66        Parameter: &gkz, &gml_id 
    7         Dies Programm gibt einen kurzen Ueberblick zum Flurstueck, z.B. Eigentuemer ohne Adresse. 
    8         FÃŒr detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt. 
     7        Dies Programm gibt einen kurzen Ueberblick zum Flurstueck. 
     8        Eigentuemer ohne Adresse. 
     9        Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt. 
    910        Dies ist eine Variante von alkisausk.php welches als vollstaendige Seite aufgerufen wird. 
    1011 
    1112        Version: 
    12         2016-02-24 Version fuer norGIS-ALKIS-Import 
    13         2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Berechtigung fÃŒr Gemeinde prÃŒfen) 
     13        2011-11-17 Link FS-Historie, Parameter der Functions geÀndert 
     14        2011-11-30 import_request_variables, $dbvers PostNAS 0.5 entfernt 
     15        2011-12-14 "window.open(..,width=680)" 
     16        2013-04-08 deprecated "import_request_variables" ersetzt 
     17        2013-05-06 Fehlende Leerstelle 
     18        2014-01-28 Link zu alkisstrasse.php 
     19        2014-02-06 pg_free_result 
     20        2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     21        2014-09-15 Bei Relationen den Timestamp abschneiden 
     22        2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 
     23        2014-12-16 hr-Tag vor Eigentum entfernt 
     24        2015-12-09 Austausch .ico durch .png, Korrektur "zahler" nach "zaehler" 
     25 
    1426*/ 
    1527session_start(); 
     
    2032$gmlid = isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0; 
    2133echo <<<END 
    22 <!doctype html> 
    23 <html lang="de"> 
     34<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     35<html> 
    2436<head> 
    25         <meta charset="utf-8"> 
     37        <meta name="author" content="b600352" > 
     38        <meta http-equiv="cache-control" content="no-cache"> 
     39        <meta http-equiv="pragma" content="no-cache"> 
     40        <meta http-equiv="expires" content="0"> 
     41        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    2642        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    2743        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
     
    3652<body> 
    3753END; 
    38 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisinlayausk.php'"); 
     54$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    3955if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";} 
    4056 
    4157// *** F L U R S T U E C K *** 
    42 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde 
     58$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung  
    4359FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    4460WHERE f.gml_id= $1 AND f.endet IS NULL ;"; 
     
    6177        $flae=$row["amtlicheflaeche"]; 
    6278        $flae=number_format($flae,0,",",".") . " m&#178;"; 
    63         $fsreg=$row["regierungsbezirk"]; // Filter ZustÀndigkeit 
    64         $fskrs=$row["kreis"]; 
    65         $fsgem=$row["gemeinde"]; 
    6679} else { 
    6780        echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; 
     
    6982} 
    7083 
    71 // PrÃŒfung der Gebiets-Berechtigung bei gemeinsam genutzten Datenbanken (Kreis und Gemeinde) 
    72 // FÃŒr das gkz (z.B. aus dem Mapfile-Namen) wird in der Konfiguration ein Filter gesetzt. 
    73 if ( ($filtkreis != '' and $filtkreis != $fskrs) or ($filtgem != '' and $filtgem != $fsgem) ) { 
    74         // Einer der gesetzten Filter passt nicht 
    75         if ($debug > 2) { 
    76                 echo "<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>"; 
    77                 echo "<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
    78         } 
    79         echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p> 
    80         \n<br><p class='stop2'>Dies Flurst&uuml;ck liegt ausserhalb der zust&auml;ndigen Stadt oder Gemeinde.</p>\n</body>\n</html>"; 
    81         pg_free_result($res); 
    82         exit; 
    83 } 
    84  
    8584echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>"; 
    8685 
    87 echo "\n<table class='outer'>\n<tr>\n<td>" 
    88         ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" 
    89         ."\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>" 
    90         ."\n\t<tr>\n\t\t<td title='Gemarkung'>".$gemkname."</td>" 
    91         ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    92         ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
    93         ."\n\t</table>" 
    94 ."\n</td>\n<td>" 
    95 ."\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
    96  
    97 // FlurstÃŒcksnachweis (mit EigentÃŒmer) 
    98 echo "\n\t\t<a href='javascript:imFenster(\"alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j\")' " 
    99         ."title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck&nbsp;" 
    100         ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    101 ."</a><br>"; 
     86echo "\n<table class='outer'>\n<tr>\n<td>"; 
     87        echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>"; 
     88        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>"; 
     89        echo "\n\t<tr>\n\t\t<td title='Gemarkung'>".$gemkname."</td>"; 
     90        echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 
     91        echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>"; 
     92        echo "\n\t</table>"; 
     93echo "\n</td>\n<td>"; 
     94echo "\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
     95 
     96// Flurstuecksnachweis (mit EigentÃŒmer) 
     97echo "\n\t\t<a href='javascript:imFenster(\"alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j\")' "; 
     98        echo "title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck&nbsp;"; 
     99        echo "<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; 
     100echo "</a><br>"; 
    102101 
    103102// FS-Historie 
    104 echo "\n\t\t<a href='javascript:imFenster(\"alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' " 
    105         ."title='Vorg&auml;nger des Flurst&uuml;cks'>Historie&nbsp;" 
    106         ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 
    107 ."</a><br>"; 
     103echo "\n\t\t<a href='javascript:imFenster(\"alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' "; 
     104        echo "title='Vorg&auml;nger des Flurst&uuml;cks'>Historie&nbsp;"; 
     105        echo "<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>"; 
     106echo "</a><br>"; 
    108107 
    109108// Gebaeude-NW zum FS 
    110 echo "\n\t\t<a href='javascript:imFenster(\"alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' " 
    111         ."title='Geb&auml;udenachweis'>Geb&auml;ude&nbsp;" 
    112         ."<img src='ico/Haus.png' width='16' height='16' alt=''>" 
    113 ."</a>"; 
     109echo "\n\t\t<a href='javascript:imFenster(\"alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' "; 
     110        echo "title='Geb&auml;udenachweis'>Geb&auml;ude&nbsp;"; 
     111        echo "<img src='ico/Haus.png' width='16' height='16' alt=''>"; 
     112echo "</a>"; 
    114113 
    115114echo "\n\t</p>\n</td>"; 
     
    134133while($row = pg_fetch_array($res)) { 
    135134        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
    136         echo "\n<tr>\n\t\n\t<td class='lr'>".$sname."&nbsp;".$row["hausnummer"]."</td>" 
    137         ."\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     135        echo "\n<tr>\n\t\n\t<td class='lr'>".$sname."&nbsp;".$row["hausnummer"]."</td>"; 
     136        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    138137        $kgml=$row["kgml"]; // Wiederholung vermeiden 
    139138        if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage 
    140139                $kgmlalt=$kgml; // Katalog GML-ID 
    141                 echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' " 
    142                 ."href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e " 
    143                 ."<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>"; 
    144         } 
    145                 echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' " 
    146                 ."href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."\")'>Lage " 
    147                 ."<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'></a>&nbsp;" 
    148         ."\n\t\t</p>\n\t</td>\n</tr>"; 
     140                echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' "; 
     141                echo "href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e "; 
     142                echo "<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>"; 
     143        } 
     144                echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' "; 
     145                echo "href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."\")'>Lage "; 
     146                echo "<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'></a>&nbsp;"; 
     147        echo "\n\t\t</p>\n\t</td>\n</tr>"; 
    149148        $j++; 
    150149} 
     
    152151if ($j == 0) { // keine HsNr gefunden 
    153152        // Lage OHNE HausNr 
    154         $sql="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.unverschluesselt  
     153        $sql ="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.unverschluesselt  
    155154        FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf) 
    156155        LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    157         WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY s.bezeichnung;"; 
     156        WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL   
     157        ORDER BY s.bezeichnung;"; 
    158158 
    159159        $v=array($gmlid); 
     
    179179                if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage-O 
    180180                        $kgmlalt=$kgml; // Katalog GML-ID 
    181                         echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' " 
    182                         ."href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e " 
    183                         ."<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>"; 
    184                 } 
    185                 echo "\n\t\t\t<a title='Lagebezeichnung ohne Hausnummer' " 
    186                 ."href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$row["gml_id"]."\")'>Lage " 
    187                 ."<img src='ico/".$ico."' width='16' height='16' alt='OHNE'></a>&nbsp;" 
    188                 ."\n\t\t</p>\n\t</td>\n</tr>"; 
     181                        echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' "; 
     182                        echo "href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e "; 
     183                        echo "<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>"; 
     184                } 
     185                echo "\n\t\t\t<a title='Lagebezeichnung ohne Hausnummer' "; 
     186                echo "href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$row["gml_id"]."\")'>Lage "; 
     187                echo "<img src='ico/".$ico."' width='16' height='16' alt='OHNE'></a>&nbsp;"; 
     188                echo "\n\t\t</p>\n\t</td>\n</tr>"; 
    189189        } 
    190190        pg_free_result($res); 
     
    200200// FS >istgebucht> GS >istbestandteilvon> GB. 
    201201$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart,  
    202 s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, wa.v AS blattartv, wb.v AS bart  
    203 FROM ax_flurstueck f  
    204 JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id