Changeset 376 for trunk


Ignore:
Timestamp:
12/01/16 12:43:03 (3 years ago)
Author:
frank.jaeger
Message:

Verbesserungen an der ALKIS-Buchauskunft (Geschwindigkeit, Fehlerkorrekturen, Mandantenfähigkeit) und an der Mapbender2-Navigation.

Location:
trunk
Files:
4 added
106 deleted
23 edited

Legend:

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

    r123 r376  
    22/*      ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    33        Pfad zur Konfigurationsdatei der ALKIS-Auskunft. 
    4         Die Conf-Datei sollte aus SicherheitsgrÃŒnden nicht unterhalb des Web-Root-Verzeichnisses liegen. 
     4        Die Conf-Datei sollte aus Sicherheitsgruenden nicht unterhalb des Web-Root-Verzeichnisses liegen. 
    55 
    66        Version: 
    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 
     7        2016-02-23 Version fuer norGIS-ALKIS-Import, keine PostNAS-Versionsnummer im DB-Namen 
    108*/ 
    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 
     9require_once("/opt/gdi/conf/alkisn_conf.php"); // Nicht unter Web-Root speichern 
    1910?> 
  • trunk/info/info/alkis/alkisausk.php

    r372 r376  
    55        Dies Programm wird aus dem Mapserver-Template (FeatureInfo) aufgerufen. 
    66        Parameter: &gkz, &gml_id (optional &id) 
    7         Dies Programm gibt einen kurzen Ueberblick zum Flurstueck. 
    8         Eigentuemer ohne Adresse. 
    9         Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt. 
     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. 
    109        Siehe auch alkisinlayausk.php - eine Variante fÃŒr den Einbau in einen iFrame 
    1110 
    1211        Version: 
    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 
     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. 
    2017*/ 
    2118session_start(); 
     
    2421if ($auth == "mapbender") {require_once($mapbender);} 
    2522include("alkisfkt.php"); 
    26 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    2723$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    2824if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    2925echo <<<END 
    30 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    31 <html> 
     26<!doctype html> 
     27<html lang="de"> 
    3228<head> 
    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"> 
     29        <meta charset="utf-8"> 
    3830        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    3931        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
     
    4537<body> 
    4638END; 
    47 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     39$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisausk.php'"); 
    4840if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";} 
    4941 
    5042// *** F L U R S T U E C K *** 
    51 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung  
     43$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde 
    5244FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
    5345WHERE f.gml_id= $1 AND f.endet IS NULL;"; 
     
    7062        $flae=$row["amtlicheflaeche"]; 
    7163        $flae=number_format($flae,0,",",".") . " m&#178;"; 
     64        $fsreg=$row["regierungsbezirk"]; // Filter ZustÀndigkeit 
     65        $fskrs=$row["kreis"]; 
     66        $fsgem=$row["gemeinde"]; 
    7267} else { 
    7368        echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; 
     
    7772echo "\n<p class='fsausk'>ALKIS-Auskunft Flurst&uuml;ck-&Uuml;bersicht ".$gmkgnr."-".$flurnummer."-".$flstnummer."</p>"; 
    7873 
     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. 
     76if ( ($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 
    7988echo "\n<table class='outer'>\n<tr><td>"; 
    8089        // linke Seite 
    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>"; 
     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>"; 
    8392echo "</td><td align='right'>"; 
    8493        // rechte Seite 
    85         echo "<img src='pic/AAA.gif' alt=''>"; 
    86 echo "</td></tr></table>"; 
    87  
    88 echo "\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>"; 
    99 echo "\n</td>\n<td>"; 
    100 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); } 
    101 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
     94        echo "<img src='pic/AAA.gif' alt=''>" 
     95."</td></tr></table>"; 
     96 
     97echo "\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>"; 
    102108 
    103109// Flurstuecksnachweis (o. Eigent.) 
    104110echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n"; 
    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=''>"; 
    109 echo "</a><br>"; 
     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>"; 
    110115 
    111116// FS- u. Eigent.-NW 
    112117echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j"; 
    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=''>"; 
    117 echo "</a><br>"; 
     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>"; 
    118122 
    119123// FS-Historie 
    120124echo "\n\t\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    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=''>"; 
    125 echo "</a><br>"; 
     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>"; 
    126129 
    127130// Gebaeude-NW 
    128131echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    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=''>"; 
    133 echo "</a>"; 
    134  
    135 echo "\n\t</p>\n</td>"; 
     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>"; 
    136137 
    137138// Lagebezeichnung MIT Hausnummer (Adresse) 
     
    151152while($row = pg_fetch_array($res)) { 
    152153        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
    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>"; 
     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>"; 
    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,  
    174 s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, a.bezeichner AS bart  
    175 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
     173$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, wa.v AS blattartv,  
     174s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, wb.v AS bart  
     175FROM ax_flurstueck f  
     176JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
    176177JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id  
    177178LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
    178 LEFT JOIN v_bs_buchungsart a ON s.buchungsart = a.wert  
     179LEFT JOIN alkis_wertearten wa ON cast(b.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart' 
     180LEFT JOIN alkis_wertearten wb ON cast(s.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' 
    179181WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL  
    180182ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
     
    191193while($rowg = pg_fetch_array($resg)) { 
    192194        $beznam=$rowg["bezeichnung"]; 
    193         echo "\n<hr>\n<table class='outer'>"; 
    194         echo "\n<tr>"; 
    195         echo "\n<td>"; 
    196  
     195        echo "\n<table class='outer'>\n<tr>\n<td>"; 
    197196                $blattkey=$rowg["blattart"]; 
    198                 $blattart=blattart($blattkey); 
     197                $blattart=$rowg["blattartv"]; 
    199198                if ($blattkey == 1000) { 
    200199                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     
    202201                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    203202                } 
    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>"; 
     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>"; 
    226221 
    227222                if ($rowg["zaehler"] <> "") { 
    228223                        echo "\n<p class='ant'>".$rowg["zaehler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    229224                } 
    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>"; 
     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>"; 
    244233 
    245234        // E I G E N T U E M E R 
    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"; 
     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"; 
    251240 
    252241                // Ausgabe Name in Function 
    253                 $n = eigentuemer($con, $rowg["gml_id"], false); // ohne Adr. 
     242                $n = eigentuemer($con, $rowg["gml_id"], false, "imFenster"); // ohne Adressen 
    254243 
    255244                if ($n == 0) { // keine NamNum, kein Eigent. 
    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", ""); 
     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>"; 
    259247                } 
    260248        } 
    261249        $j++; 
    262250} 
    263 if ($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 } 
     251if ($j == 0) {echo "\n<p class='err'>Keine Buchungen gefunden.</p>";} 
    268252echo "\n<hr>"; 
    269253 
  • trunk/info/info/alkis/alkisauszug.css

    r350 r376  
    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 
    1517*/ 
    1618body    {background-color: #FDFFFD;} 
     
    2224p.fsausk        {background-color: teal; color: silver;}        /* Uebersichts-Seite Flurstuecks-Auskunft */ 
    2325p.fskennz,p.fsei{background-color: navy; color: silver;}        /* Flurstuecks-Nachweis */ 
    24 /* p.fsei       {background-color: olive; color: silver;}*/     /* Flurstuecks- und Eigentuemer-Nachweis */ 
    2526p.fshis         {background-color: gray; color: white;}         /* Flurstuecks-Historie */ 
    2627p.gbkennz       {background-color: green; color: silver;}       /* Bestandsnachweis */ 
     
    3233 
    3334/* Format nach Inhalt */ 
    34 p.bezieh        {text-align: right; background: olive;  color: silver;} /* Beziehungen */ 
     35/* p.bezieh     {text-align: right; background: olive;  color: silver;} */ /* Beziehungen */ 
    3536p.fsd           {margin-left: 170px;}   /* Flst-Flaeche */ 
    3637p.gbl           {position: relative; left: 60px;}       /* Nam: Buchungsstelle*/ 
     
    8990td.lr   {color: black;} /* Liste Rechts */ 
    9091td.ph   {color: gray;}  /* Platzhalter, vorlaeufig, spaeter loschen */ 
     92td.erkl {color: silver; font-size: 8pt;}        /* ErklÀrungen, nur klein (Haus) */ 
    9193 
    9294td.fla  {width: 110px; padding-right: 4px; text-align: right;} /* Flaechen rechtsbuendig (stellengerecht) */ 
     
    99101td.sond, p.sond {font-size: 9pt; font-style: italic; background-color: white; 
    100102                border: 1px dotted silver; padding: 6px;}       /* Sondereigentumsbeschreibung */ 
     103td.nrap, p.nrap {font-size: 9pt; font-style: italic; background-color: white;}  /* Nummer im Aufteilungsplan */ 
     104td.fett {font-weight: bold;} 
     105td.nwlink {width: 80px;}        /* Link zum Nachweis */ 
    101106 
    102 td.nrap, p.nrap {font-size: 9pt; font-style: italic; background-color: white;}  /* Nummer im Aufteilungsplan */ 
     107/* Kopfzeile, Spaltenueberschrift */ 
     108td.head, td.heads{font-style: italic; padding-top: 2px;}         
     109td.head {border-bottom: 1px solid gray;}         
     110td.heads        {border-bottom: 1px solid black;}       /* Kopf Sortierspalte(n) */ 
    103111 
    104 td.fett {font-weight: bold;} 
    105 td.head {border-bottom: 1px solid gray; font-style: italic; padding-top: 2px;}  /* Kopfzeile, Spaltenueberschrift */ 
    106112td.sum {border-top: 2px dotted maroon;  border-bottom:3px solid maroon; 
    107113        border-left:0px dotted maroon;  border-right:0px dotted maroon; font-weight: bold;}     /* unter dem Strich = Summenzeile */ 
     
    110116td.nam  {font-weight: bold;} 
    111117td.gbl  {border-bottom: 1px dotted green;}      /* Name: GB-Liste */ 
    112 /* Inlay analog Template: linke Tabellenspalte - Feldname */ 
     118/* Inlay analog WMS-Feature-Info Template: linke Tabellenspalte - Feldname */ 
    113119td.li, td.gr {color:gray; padding-left: 8px; padding-right:8px; border-bottom: 0px; vertical-align:top;} 
    114120/* dienendes GB in FS-Tab im Best-NW  */ 
    115121td.dien {font-size: 9pt; font-style: italic; color: purple; border-bottom: 1px solid silver;} 
    116122td.hsnr {width: 70px; padding-right: 4px; text-align: right;} /* Hausnummer in Straße */ 
     123 
     124/* Fallunterscheidung bei GebÀude auf FlurstÃŒck: */ 
     125td.gin {color: rgb(0,50,0);}    /* GebÀude in FS */ 
     126td.gtl {color: rgb(140,140,100);}       /* GebÀude teilweise auf FS */ 
     127td.gan {color: rgb(210,170,170);}       /* GebÀude angrenzend an FS*/ 
    117128 
    118129/* Ueberschriften */ 
     
    123134h4 {    color: black;   font-size: 11pt;} 
    124135h5 {    color: black;   font-size: 10pt;} 
    125 h6 {    color: black;   font-size:  9pt; margin-top: 2pt; margin: 0pt}  /* FS in Best-NW */ 
     136h6 {    color: black;   font-size:  9pt; margin-top: 2pt; margin: 0pt;} /* FS in Best-NW */ 
    126137 
    127138img     {border: 0px; margin: 0px;} /* Icons */ 
    128139 
    129140iframe.inlay {border:0px; width: 100%;} /* height: 400px; */ 
     141 
     142/* Abbruch, Fehler der Berechtigung */ 
     143p.stop1, p.stop2  {text-align: center; color: red;} 
     144p.stop1 {font-size: 14pt; margin: 4pt;} 
     145p.stop2 {font-size: 10pt;} 
    130146 
    131147/* Seitenfuss */ 
  • trunk/info/info/alkis/alkisbaurecht.php

    r355 r376  
    44 
    55        Version: 
    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 
     6        2016-02-24 Version fuer norGIS-ALKIS-Import 
     7        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    118*/ 
    129session_start(); 
     
    1512if ($auth == "mapbender") {require_once($mapbender);} 
    1613include("alkisfkt.php"); // f. Footer 
    17 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    1814$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    1915if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    20  
    21 ?> 
    22 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    23 <html> 
     16echo <<<END 
     17<!doctype html> 
     18<html lang="de"> 
    2419<head> 
    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"> 
     20        <meta charset="utf-8"> 
    3021        <title>ALKIS Bau-, Raum- oder Bodenordnungsrecht</title> 
    3122        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    3324</head> 
    3425<body> 
     26END; 
    3527 
    36 <?php 
    37 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     28 
     29$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbaurecht.php'"); 
    3830if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    3931 
    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  
     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,  
     34a.v AS adfbez, d.bezeichnung AS stellbez, d.stellenart, wd.v, wd.d, round(st_area(r.wkb_geometry)::numeric,0) AS flae  
    4235FROM ax_bauraumoderbodenordnungsrecht r  
    43 LEFT JOIN v_baurecht_adf a ON r.artderfestlegung=a.wert  
    44 LEFT 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;"; 
     36LEFT JOIN alkis_wertearten a ON cast(r.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung' 
     37LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle  
     38LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
     39WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; 
    4540 
    4641$v = array($gmlid); 
    4742$res = pg_prepare("", $sql); 
    4843$res = pg_execute("", $v); 
    49  
    5044if (!$res) { 
    5145        echo "\n<p class='err'>Fehler bei Baurecht.</p>\n"; 
    52         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
     46        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
    5347} 
    54  
    5548if ($row = pg_fetch_array($res)) { 
    5649        $artfest=$row["adfkey"];  // Art der Festlegung, Key 
    5750        $verfnr=$row["rechtbez"]; // Verfahrens-Nummer 
    5851        $enam=$row["name"]; 
    59         $stellk=$row["stelle"]; // LEFT JOIN ! 
    6052        $stellb=$row["stellbez"]; 
    6153        $stella=$row["stellenart"]; 
     
    6658        echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>\n"; 
    6759 
    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  
     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>"; 
    7866                if ($enam != "") { 
    79                         echo "\n<tr>"; 
    80                                 echo "\n\t<td class='li'>Eigenname des Gebietes:</td>\n\t<td>".$enam."</td>"; 
    81                         echo "\n</tr>"; 
     67                        echo "\n<tr>" 
     68                                ."\n\t<td class='li'>Eigenname des Gebietes:</td>" 
     69                                ."\n\t<td>".$enam."</td>" 
     70                        . "\n</tr>"; 
    8271                } 
    83  
    8472                if ($verfnr != "") { 
    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>"; 
     73                        echo "\n<tr>" 
     74                                ."\n\t<td class='li'>Verfahrensnummer:</td>" 
     75                                ."\n\t<td>".$verfnr."</td>" 
     76                        ."\n</tr>"; 
    9077                } 
    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>"; 
     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>"; 
    9985                        if ($stella != "") { 
    100                                 echo "\n<tr>"; 
    101                                         echo "\n\t<td class='li'>Art der Dienststelle:</td>"; 
    102                                         echo "\n\t<td>"; 
     86                                echo "\n<tr>" 
     87                                        ."\n\t<td class='li'>Art der Dienststelle:</td>" 
     88                                        ."\n\t<td>"; 
    10389                                                if ($showkey) {echo " <span class='key'>(".$stella.")</span>";} 
    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>"; 
     90                                                echo "<span title='".$row["d"]."'>".$row["v"]."</span>";  
     91                                        echo "</td>" 
     92                                ."\n</tr>"; 
    10993                        } 
    11094                } 
    111  
    112                 echo "\n<tr>"; 
    113                         echo "\n\t<td class='li'>Fl&auml;che:</td>"; 
     95                echo "\n<tr>" 
     96                        ."\n\t<td class='li'>Fl&auml;che:</td>"; 
    11497                        $flae=number_format($row["flae"],0,",",".")." m&#178;"; 
    115                         echo "\n\t<td>".$flae."</td>"; 
    116                 echo "\n</tr>"; 
    117  
    118         echo "\n</table>"; 
     98                        echo "\n\t<td>".$flae."</td>" 
     99                ."\n</tr>" 
     100        . "\n</table>"; 
    119101} else { 
    120102        echo "\n<p class='err'>Fehler! Kein Treffer bei gml_id=".$gmlid."</p>"; 
    121103} 
    122104 
    123 echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> betroffene Flurst&uuml;cke</h2>\n"; 
    124 echo "\n<p>Ermittelt durch geometrische Verschneidung. Nach Gr&ouml;&szlig;e absteigend.</p>"; 
     105echo "\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>"; 
    125107 
    126108$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  
    127109FROM ax_flurstueck f, ax_bauraumoderbodenordnungsrecht r 
    128 WHERE r.gml_id= $1 AND f.endet IS NULL AND r.endet IS NULL 
    129 AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true  
     110WHERE r.gml_id= $1 AND f.endet IS NULL AND r.endet IS NULL "; 
     111if ($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  
    130118AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0.05  
    131 ORDER BY schnittflae DESC LIMIT 40;";  
     119ORDER BY schnittflae DESC LIMIT 50;";  
    132120// > 0.0 ist gemeint, Ungenauigkeit durch st_simplify 
    133121// Limit: Flurbereinig. kann gross werden! 
    134122// Trotz Limit lange Antwortzeit, wegen OrderBy -> intersection 
    135 $v = array($gmlid); 
    136 $res = pg_prepare("", $sql); 
    137 $res = pg_execute("", $v); 
    138123 
     124$res=pg_prepare("", $sql); 
     125$res=pg_execute("", $v); 
    139126if (!$res) { 
    140127        echo "\n<p class='err'>Keine Flurst&uuml;cke ermittelt.<br>\nSQL=<br></p>\n"; 
    141         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
     128//      if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
    142129} 
    143130 
    144 echo "\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>"; 
     131echo "\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>"; 
    151138 
    152139        $fscnt=0; 
    153140        while($row = pg_fetch_array($res)) { 
    154141                $fscnt++; 
    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>"; 
     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>"; 
    171156        } 
    172157echo "\n</table>"; 
    173158 
    174 if ($fscnt == 40) { 
    175         echo "<p>... und weitere Flurst&uuml;cke (Limit 40 erreicht).</p>"; 
     159if ($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>"; 
    176168} 
    177169 
     
    179171echo <<<END 
    180172 
    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> 
     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> 
    188178END; 
    189179 
  • trunk/info/info/alkis/alkisbestnw.php

    r372 r376  
    66 
    77        Version: 
    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 
     8        2016-02-24 Version fuer norGIS-ALKIS-Import 
     9        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen, Markierung der Sortierung 
    1810*/ 
    1911session_start(); 
     
    2315if ($auth == "mapbender") {require_once($mapbender);} 
    2416include("alkisfkt.php"); 
    25 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    2617$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    2718if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    28  
    2919?> 
    30 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    31 <html> 
     20<!doctype html> 
     21<html lang="de"> 
    3222<head> 
    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"> 
     23        <meta charset="utf-8"> 
    3824        <title>ALKIS Bestandsnachweis</title> 
    3925        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    5036<body> 
    5137<?php 
    52 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     38$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbestnw.php'"); 
    5339if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    5440 
    5541// G R U N D B U C H 
    56 $sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart,  
    57 b.gml_id, b.bezirk, b.bezeichnung AS beznam, a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart  
    58 FROM ax_buchungsblatt g LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk  
    59 LEFT JOIN ax_dienststelle a ON b.land=a.land AND b.stelle=a.stelle  
    60 WHERE g.gml_id= $1 AND a.stellenart=1000 AND g.endet IS NULL AND a.endet IS NULL;"; 
     42$sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, wb.v AS blattartv, wb.d AS blattartd,  
     43b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd.v AS stellev  
     44FROM ax_buchungsblatt g  
     45LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk  
     46LEFT JOIN ax_dienststelle d ON b.land=d.land AND b.stelle=d.stelle  
     47LEFT JOIN alkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' 
     48LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
     49WHERE g.gml_id= $1 AND g.endet IS NULL AND d.endet IS NULL;"; 
     50// .. AND d.stellenart=1000  
    6151 
    6252$v = array($gmlid); 
    6353$res = pg_prepare("", $sql); 
    6454$res = pg_execute("", $v); 
    65  
    6655if (!$res) { 
    6756        echo "<p class='err'>Fehler bei Grundbuchdaten.</p>"; 
     
    7059if ($row = pg_fetch_array($res)) { 
    7160        $blattkey=$row["blattart"]; 
    72         $blattart=blattart($blattkey); 
     61        $blattart=$row["blattartv"]; 
     62 
    7363        echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n"; // Balken 
    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 
     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 
    7666                if ($blattkey == 1000) { 
    7767                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     
    7969                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    8070                } 
    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>"; 
     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>"; 
    10391} 
    10492 
     
    10795} else { 
    10896        // E I G E N T U E M E R 
    109         echo "\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 
     97        echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>"; 
    11098        $n = eigentuemer($con, $gmlid, true, ""); // MIT Adressen. 
    11199        if ($n == 0) { // keine NamensNr, kein Eigentuemer 
    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", ""); 
     100                echo "\n<p class='err'>Keine Namensnummer gefunden.</p>" 
     101                ."\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$blattkey." (".$blattart.")</p>"; 
    115102        } 
    116103} 
     
    133120} 
    134121if ($anz > 0) { 
    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>"; 
     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>"; 
    147134} else { 
    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  
    152 echo "\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>"; 
    161 echo "\n</tr>"; 
     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 
     138echo "\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>"; 
    162148 
    163149// Blatt ->  B u c h u n g s s t e l l e 
    164150// aktuelles ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle  
    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  
    166 FROM ax_buchungsstelle s LEFT JOIN v_bs_buchungsart b ON s.buchungsart=b.wert  
     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 
     152FROM 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' 
    167153WHERE s.istbestandteilvon= $1 AND s.endet IS NULL ORDER BY cast(s.laufendenummer AS integer);"; 
    168154 
     
    181167        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    182168        $gml_bs= $row["gml_id"]; // id der buchungsstelle 
    183         $ba=$row["bart"]; // Buchungsart aus Schluesseltabelle 
     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 
    184172 
    185173        if ($row["zaehler"] == "") { 
     
    189177        } 
    190178        // F l u r s t u e c k s d a t e n  zur direkten Buchungsstelle 
    191         $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, true); // return=Anzahl der FS 
     179        $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $bart, $anteil, true, $bartkey, $bartstory); // return=Anzahl der FS 
    192180        $fscnt=$fscnt + $j; 
    193181        if ($j == 0) { //  k e i n e  Flurstuecke gefunden (Miteigentumsnteil usw.) 
     
    200188                //  ax_buchungsstelle >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an) 
    201189                //  sh=herrschend          sd=dienend 
    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;"; 
     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;"; 
    206194 
    207195                $v=array($gml_bs); 
     
    210198                if (!$resan) { 
    211199                        echo "<p class='err'>Fehler bei 'andere Buchungsstelle'.</p>\n"; 
    212                         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     200                        //if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    213201                } 
    214202                $a=0; // count 
    215203                $altbvnr=""; // Gruppenwechsel 
    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 
     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 
    220208 
    221209                        // a n d e r e s   B l a t t  (an dem das aktuelle Blatt Rechte hat) 
    222210                        // dienendes Grundbuch 
    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;"; 
     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;"; 
    227216                        $v=array($gml_bsan); 
    228217                        $fbres=pg_prepare("", $sql); 
     
    234223                        $b=0; 
    235224                        while($fbrow = pg_fetch_array($fbres)) { // genau 1 
    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"]; 
     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 
    242231                                $b++; 
    243232                        } 
    244                         if ($b != 1) { 
     233                        if ($b != 1) { // Überwachen: genau 1? 
    245234                                echo "<p class='err'>Anzahl fiktive Bl&auml;tter zu anderer Buchungstelle = ".$b."</p>"; 
    246235                        } 
    247236 
    248237                        // G r u n d b u c h d a t e n  zur  a n d e r e n  Buchungsstelle 
    249                         echo "\n<tr>"; 
    250                                 echo"\n\t<td>"; 
     238                        echo "\n<tr>" 
     239                                ."\n\t<td>"; // Sp.1 Erbbau BVNR 
    251240                                        if($bvnr == $altbvnr) { // gleiches Grundstueck 
    252                                                 echo "&nbsp;"; // Anzeige unterdruecken 
     241                                                echo "&nbsp;"; // dann Anzeige unterdruecken 
    253242                                        } else { 
    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");} 
     243                                                echo "<a id='bvnr".$lfdnr."'></a>" // Sprungmarke 
     244                                                ."<span class='wichtig'>".$bvnr."</span>";  
    257245                                                $altbvnr = $bvnr; // Gruppenwechsel merken 
    258246                                        } 
    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>";  
     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>";  
    302273 
    303274                        // 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 
    304275                        // Buchungsart wird nur in erster Zeile ausgegeben, hier leer 
    305                         $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false); // return=Anz.FS 
     276                        $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false, "", ""); // return=Anz.FS 
    306277                        $fscnt=$fscnt + $aj; 
    307278                        // +++ Gibt es Sondereigentum beim fiktiven Blatt? 
    308279                        if ($rowan["nrap"] != "") { 
    309                                 echo "\n<tr>"; 
    310                                         echo "\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$rowan["nrap"]."</td>"; 
    311                                 echo "\n</tr>"; 
     280                                echo "\n<tr>" 
     281                                        ."\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$rowan["nrap"]."</td>" 
     282                                ."\n</tr>"; 
    312283                        } 
    313284                        if ($rowan["sond"] != "") { 
    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>"; 
     285                                echo "\n<tr>" 
     286                                        ."\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$rowan["sond"]."</td>" 
     287                                ."\n</tr>"; 
    317288                        } 
    318289                        $a++; 
    319290                } 
    320291                if ($a == 0) { 
    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>"; 
     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>"; 
    331298                } 
    332299        } 
    333300        $i++;  
    334301        if ($row["nrap"] != "") { // Nr im Auft.Plan 
    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>"; 
     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>"; 
    338305        } 
    339306        if ($row["sond"] != "") { // Sondereigentumsbeschreibung 
    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>"; 
     307                echo "\n<tr>" 
     308                        ."\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>" 
     309                ."\n</tr>"; 
    343310        } // Ende Buchungsstelle/BVNR 
    344311} // Ende Loop 
     
    347314if ($i == 0) { 
    348315        echo "\n<p class='err'>Keine Buchung gefunden.</p>\n"; 
    349         linkgml($gkz, $gmlid, "Buchungsblatt", ""); 
    350316} else { 
    351317        if ($i > 5 and $fscnt > 5) { // nur wenn nicht auf einen Blick zu erkennen 
     
    359325// Blatt   <istBestandteilVon< Stelle  <an<  Stelle      >istBestandteilVon>  Blatt 
    360326// Fiktiv                      Fiktiv  <zu<  Berechtigt                       Berechtigt 
    361 $sql="SELECT sf.laufendenummer AS anlfdnr, bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart,  
    362 sb.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  
     327$sql="SELECT sf.laufendenummer AS anlfdnr, bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, wa.v AS blattartv,  
     328sb.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  
    363329FROM ax_buchungsstelle sf JOIN ax_buchungsstelle sb ON (sf.gml_id=ANY(sb.an) OR sf.gml_id=ANY(sb.zu))  
    364330JOIN ax_buchungsblatt bb ON bb.gml_id=sb.istbestandteilvon  
    365331LEFT JOIN ax_buchungsblattbezirk bz ON bb.land=bz.land AND bb.bezirk=bz.bezirk  
    366 LEFT JOIN ax_dienststelle ag ON bz.land=ag.land AND bz.stelle=ag.stelle  
    367 LEFT JOIN v_bs_buchungsart ba ON sb.buchungsart=ba.wert  
     332LEFT JOIN ax_dienststelle d ON bz.land=d.land AND bz.stelle=d.stelle  
     333LEFT JOIN alkis_wertearten wa ON cast(bb.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart' 
     334LEFT JOIN alkis_wertearten wb ON cast(sb.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' 
     335LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
    368336WHERE sf.istbestandteilvon = $1 AND sf.endet IS NULL AND sb.endet IS NULL AND bb.endet IS NULL  
    369 ORDER 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 
     337ORDER BY cast(sf.laufendenummer AS integer), bz.bezeichnung, bb.buchungsblattnummermitbuchstabenerweiterung, cast(sb.laufendenummer AS integer);"; 
    371338 
    372339$v = array($gmlid); 
     
    380347while($rowb = pg_fetch_array($resb)) { 
    381348        if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 
    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>"; 
     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>"; 
    394361        } 
    395362 
     
    399366        $gml_s=$rowb["gml_s"]; // id der ber. B-Stelle 
    400367        $blart=$rowb["blattart"]; 
     368 
    401369        $buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt 
    402370        $bart=$rowb["bart"]; // BA entschl. 
     
    404372        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    405373 
    406         echo "\n<tr>"; 
    407                 // Teil berechtigte GrundbÃŒcher ist sortiert wie oberer Teil "FlurstÃŒcke" 
     374        echo "\n<tr>"; // Der Teil "berechtigte GrundbÃŒcher" ist sortiert wie oberer Teil "FlurstÃŒcke" 
    408375                echo "\n\t<td><span class='wichtig'>".$anlfdnr0."</span>"; 
    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>"; 
     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>"; 
    456403        $b++; 
    457404} 
     
    468415?> 
    469416 
    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  
     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> 
    479423<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
    480  
    481424</body> 
    482425</html> 
  • trunk/info/info/alkis/alkisexport.php

    r355 r376  
    66        Der View verkettet Flurstueck - Buchungsstelle - Grundbuch - Eigentuemer 
    77        Die Lagebezeichnung des FlurstÃŒcks wird in ein Feld komprimiert. 
    8         Parameter: gkz=mandant&gmlid=DE...&tabtyp=flurstueck/grundbuch/person 
    9  
    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 '' 
     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 
     17 
     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 
    1924*/ 
    2025 
     
    3136        $res=pg_prepare("", $sql); 
    3237        $res=pg_execute("", $v); 
    33         if (!$res) { 
    34                 return "** Fehler bei Lagebezeichnung **"; //.$sql; 
    35         } 
     38        if (!$res) {return "** Fehler bei Lagebezeichnung **";} 
    3639        $j=0; 
    3740        $lagehsnr=""; 
     
    5457// HIER START // 
    5558 
    56 $cntget = extract($_GET); // Parameter aus URL lesen 
     59$gkz=''; $tabtyp = ''; $gemarkung=''; $gmlid=''; // erwartete Parameter initialisieren 
     60$cntget = extract($_GET); // aktuelle Parameter aus URL auslesen 
     61require_once("alkis_conf_location.php"); // Konfiguration laden 
     62include("alkisfkt.php"); // Funktionen der ALKIS-Auskunft laden 
     63 
     64if ($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} 
     75if ($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) 
    5789header('Content-type: application/octet-stream'); 
    58 header('Content-Disposition: attachment; filename="alkis_'.$tabtyp.'_'.$gmlid.'.csv"'); 
    59 require_once("alkis_conf_location.php"); 
    60 include("alkisfkt.php"); 
     90header('Content-Disposition: attachment; filename="'.$filename.'"'); 
    6191 
    6292// CSV-Ausgabe: Kopfzeile mit Feldnamen 
     
    6494 
    6595// Datenbank-Verbindung 
    66 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    67 if (!$con) { 
    68         exit("Fehler beim Verbinden der DB"); 
    69 } 
     96$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisexport.php'"); 
     97if (!$con) {exit("Fehler beim Verbinden der DB");} 
    7098pg_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 
    71102 
    72103// Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv". 
    73104switch ($tabtyp) { // zulaessige Werte fuer &tabtyp= 
    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; 
     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; 
    79125} 
    80126 
    81127// Daten aus gespeichertem View, zusaetzlich Filter: "feld"='wert' mitgeben 
    82 if ($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 } 
    87  
    88 $v=array($gmlid); 
     128$sql="SELECT * FROM ".$viewname." WHERE ".$filter." = $1 "; 
     129 
    89130$res=pg_prepare("", $sql); 
    90131$res=pg_execute("", $v); 
     
    106147        $flstnummer=$row["zaehler"]; 
    107148        $nenner=$row["nenner"]; 
    108         if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr 
     149        // Bruchnummer kann in Excel als Datum interpretiert werden. In '' setzen. 
     150        if ($nenner > 0) {$flstnummer="'".$flstnummer."/".$nenner."'";} // BruchNr 
    109151        $fs_flae=$row["fs_flae"]; // amtliche Fl. aus DB-Feld 
    110152 
     
    140182                        $rechtsg=$row["nam_bes"]; // Beschrieb der Rechtsgemeinschaft 
    141183                } else { 
    142                         $rechtsg=rechtsgemeinschaft($nam_adr); // EntschlÃŒsseln 
     184                //      $rechtsg=rechtsgemeinschaft($nam_adr); // EntschlÃŒsseln 
     185                        $rechtsg=$row["nam_adrv"]; // Art der Rechtsgemeischaft (Value zum Key) 
    143186                } 
    144187        } 
     
    148191        $nana=$row["nachnameoderfirma"]; 
    149192        $namteil=$row["namensbestandteil"]; 
    150         $name=anrede($row["anrede"]); 
     193        //$name=anrede($row["anrede"]);   
     194        $name=$row["anrv"]; // Anrede (Value zum Key) 
    151195        if ($name != "") {$name.=" ";} // Trenner 
    152196        if ($namteil != "") {$name.=$namteil." ";} // von und zu 
  • trunk/info/info/alkis/alkisfkt.php

    r372 r376  
    11<?php 
    22/*      Modul: alkisfkt.php 
     3 
    34        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    45        Functions 
    56 
    67        Version: 
    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 
     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) 
    1812*/ 
    1913 
    2014function footer($gmlid, $link, $append) { 
    2115        // Einen Seitenfuss ausgeben. 
    22         // Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen. 
    2316        // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor 
    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>"; 
     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>"; 
    3223 
    3324        // Spalte 1: Info Benutzerkennung 
    34         echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>"; 
     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        } 
    3531 
    3632        // Spalte 2: Umschalter 
    3733        echo "\n\t<td title='Konfiguration'>"; 
    3834                $mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append; 
    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>"; 
     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>"; 
    5838                } else { 
    59                         echo $mylink.$myid."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>"; 
     39                        echo $mylink."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>"; 
    6040                } 
    6141        echo "\n\t</td>"; 
    6242 
    6343        // Spalte 3 
    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"; 
     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"; 
    6747        return 0; 
    6848} 
    6949 
    70 function 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; 
     50function 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); 
    7984} 
    8085 
     
    8590        $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang 
    8691        $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>"; 
    8794        return $kurz; 
    8895} 
    8996 
    90 function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) { 
     97function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus, $bartkey, $bartstory) { 
    9198/*      Bestandsnachweis - Flurstuecksdaten 
    9299        Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. 
    93100        Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). 
    94101        Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. 
    95         Table-Tag und Kopfzeile im aufrufenden Programm. */ 
    96         global $debug, $gkz, $idanzeige, $showkey; 
     102        Table-Tag und Tabellenkopf werden im aufrufenden Programm ausgegeben. */ 
     103        global $debug, $gkz, $showkey, $filtkreis, $filtgem; 
    97104 
    98105        // F L U R S T U E C K 
     
    100107        FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
    101108        LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    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); 
     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;"; 
    105117        $resf = pg_prepare("", $sql); 
    106118        $resf = pg_execute("", $v); 
     
    109121        if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben 
    110122                $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
     123        } else { 
     124                $bvnr=""; 
    111125        } 
    112126        $altlfdnr=""; 
     
    123137                echo "\n<tr>"; // eine Zeile je Flurstueck 
    124138                        // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS 
    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 
     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 
    138150                                        echo $ba; // entschluesselt 
    139                                 echo "</td>";  
    140                                 echo "\n\t<td>&nbsp;</td>"; // Anteil 
     151                                echo "</td>" 
     152                                ."\n\t<td>&nbsp;</td>"; // Anteil 
    141153                                $altlfdnr=$lfdnr; 
    142154                        } 
    143155                        //Sp. 4-7 aus Flurstueck 
    144156                        echo "\n\t<td>"; 
    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";} 
     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"; 
    158166                                        if ($showkey)   {echo "&amp;showkey=j";} 
    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>"; 
     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>"; 
    164172 
    165173                $j++; 
     
    170178                if ($debug > 2) {echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>";} 
    171179        } */ 
    172  
    173180        pg_free_result($resf); 
    174181        return $j; 
     
    185192        // Schleife 1: N a m e n s n u m m e r 
    186193        // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 
    187         global $debug, $gkz, $idanzeige, $showkey; 
     194        global $debug, $gkz, $showkey; 
    188195 
    189196        // Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal) 
     
    196203        } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; 
    197204 
    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;"; 
     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 
     206FROM ax_namensnummer n  
     207LEFT JOIN alkis_wertearten wn ON cast(n.artderrechtsgemeinschaft AS character varying)=wn.k AND wn.element='ax_namensnummer' AND wn.bezeichnung='artderrechtsgemeinschaft'  
     208LEFT JOIN alkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart' 
     209WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
    200210 
    201211        $v = array($gmlid); // 16 Stellen bei Relationen 
     
    204214 
    205215        if (!$resn) { 
    206                 echo "<p class='err'>Fehler bei Eigent&uuml;mer</p>\n"; 
     216                echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>\n"; 
    207217                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
    208218        } 
    209219 
    210         echo "\n\n<table class='eig'>"; 
     220        echo "\n<table class='eig'>"; 
    211221        $n=0; // Z.NamNum. 
    212222 
    213223        while($rown = pg_fetch_array($resn)) { 
    214224                $gmlnn=$rown["gml_id"]; 
    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"]; 
     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 
    225232                        if ($rechtsg != "" ) { 
    226233                                if ($rechtsg == 9999) { // sonstiges 
    227234                                        echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 
    228235                                } else { 
    229                                         echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; 
     236                                        echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."</p>"; 
    230237                                } 
    231238                        } 
     
    240247                        // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 
    241248 
    242  
    243249                // Schleife 2: P e r s o n 
    244250                // Beziehung: ax_person  <benennt<  ax_namensnummer 
    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); 
     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 
    249261                $resp = pg_prepare("", $sqlp); 
    250262                $resp = pg_execute("", $v); 
    251  
    252263                if (!$resp) { 
    253264                        echo "\n\t<p class='err'>Fehler bei Person</p>\n"; 
    254                         if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";} 
     265                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlpers."'</p>";} 
    255266                } 
    256267 
    257268                $i=0; // cnt Person 
    258                 while($rowp = pg_fetch_array($resp)) {  // ++ Schleife? nn >benennt> Person ist kein Array! 
    259                         $diePerson=""; 
     269                while($rowp = pg_fetch_array($resp)) { // Schleife weglassen? nn >benennt> Person ist KEIN Array! 
     270                        $diePerson=""; //++ Anrede? 
    260271                        if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} 
    261272                        $diePerson.=$rowp["nachnameoderfirma"]; 
     
    266277                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 
    267278 
    268                         // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 
    269                         if ($i > 0) { 
     279                        if ($i > 0) { // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 
    270280                                echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>"; 
    271281                        } 
    272282                        // Spalte 2 = Angaben 
    273                         $eiartkey=$rown["eigentuemerart"]; 
    274                         $eiart=eigentuemerart($eiartkey); 
     283                        $eiartkey=$rown["eigentuemerart"]; // Key 
     284                        $eiart=$rown["eiartv"]; // Value 
    275285                        echo "\n\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t</td>"; 
    276286 
    277287                        // Spalte 3 = Link 
    278288                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    279                                 if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo "&nbsp";} 
    280289                                if ($showkey AND $eiartkey != '') { // oft leer 
    281290                                                echo "<span class='key'>(".$eiartkey.")</span> "; 
    282291                                } 
    283                                 echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp["gml_id"]; 
    284                                 if ($idanzeige) {echo "&amp;id=j";} 
     292                                echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0]; 
    285293                                if ($showkey)   {echo "&amp;showkey=j";} 
    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>"; 
     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>"; 
    289297 
    290298                        if ($mitadresse) { 
    291299                                // Schleife 3:  A d r e s s e  (OPTIONAL) 
    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;"; 
     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;"; 
    294302                                $gmlp=$rowp["gml_id"]; // Person 
    295303                                $v = array($gmlp); 
     
    319327                                                echo "\n<tr>\n\t<td>&nbsp;</td>"; //Sp. 1 
    320328                                                echo "\n\t<td><p class='gadr'>"; //Sp. 2 
    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>"; 
     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>"; 
    340334                                        } else { // manchmal dopplete Angaben (_straße / _str.) 
    341335                                                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>"; 
     
    354348                                $nenner=str_replace(".", ",", $rown["nenner"]); 
    355349                                $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundst&uuml;ck oder Recht)."; 
    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 
     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 
    359353                        } 
    360354                } // End Loop Person 
    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>";} 
    367                                 } 
    368                         } 
    369                         echo "</td>\n\t<td>&nbsp;</td>\n<tr>"; 
     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                                } 
     362                        } 
     363                        echo "</td>\n\t<td>&nbsp;</td>\n</tr>"; 
    370364                } 
    371365                $n++; // cnt NamNum 
    372366        } // End Loop NamNum 
    373         echo "\n</table>\n"; 
     367        echo "\n</table>"; 
    374368        if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler  
    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>";} 
     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                } 
    377373        } 
    378374        pg_free_result($resn); 
    379375        return $n;  
    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 
    385 function 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 
    396 function 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 
    408 function 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 
    447 function 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 
    464 function 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 } 
     376} // End function eigentuemer 
     377 
    485378?> 
  • trunk/info/info/alkis/alkisfshist.php

    r372 r376  
    55        Flurstuecks-Historie fuer ein Flurstueckskennzeichen aus ALKIS PostNAS 
    66        Version: 
    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 
     7        2016-02-24 Version fuer norGIS-ALKIS-Import 
     8        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Filter Gemeinde) 
    149*/ 
    1510 
     
    3126function vornach($dbarr) { 
    3227// Datenbank-Array-Feld zeilenweise ausgeben als Selbst-Link 
    33         global $gkz, $idanzeige, $showkey; 
     28        global $gkz, $showkey; 
    3429        if ($dbarr == "") { 
    3530                echo "(keine)"; 
    3631        } else { 
    3732                $stri=trim($dbarr, "{}"); 
    38                 //$arr = split(",",$stri); 
    3933                $arr = explode(",",$stri); 
    4034                foreach($arr AS $val){ 
    4135                        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";} 
    4336                        if ($showkey)   {echo "&amp;showkey=j";} 
    4437                        echo "'>".fzerleg($val)."</a><br>"; 
     
    4942 
    5043function gemkg_name($gkey) { 
    51 // Schluessel wird uebergeben, Name in DB nachschlagen 
     44//      Schluessel wird ÃŒbergeben, Name dazu in der DB nachschlagen 
    5245        global $con; 
    53         $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;"; 
     46        $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 AND g.endet IS NULL LIMIT 1;"; 
    5447        $v=array($gkey); 
    5548        $res=pg_prepare("", $sql); 
     
    7265// Akt. FS hat keine Verweise auf Vorgaenger. Darum in den Nachfolger-Verweisen von Hist.-FS suchen. 
    7366// Problem: Dies sind Arrays, die nicht performant durchsucht werden koennen. 
    74         global $gkz, $con, $debug; 
     67        global $gkz, $con, $debug, $showkey, $filtkreis, $filtgem; 
    7568 
    7669        $wherecl="WHERE $1 = ANY (nachfolgerflurstueckskennzeichen) "; 
     
    10093                $vfsk=$rowv["flurstueckskennzeichen"]; 
    10194                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; 
    102                 if ($idanzeige) {echo "&amp;id=j";} 
    103                         if ($showkey)   {echo "&amp;showkey=j";} 
     95                        if ($showkey) {echo "&amp;showkey=j";} 
    10496                echo "'>".fzerleg($vfsk)."</a><br>"; 
    10597                $zv++; 
     
    116108if ($auth == "mapbender") {require_once($mapbender);} 
    117109include("alkisfkt.php"); 
    118 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    119110$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    120111if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    121112?> 
    122 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    123 <html> 
     113<!doctype html> 
     114<html lang="de"> 
    124115<head> 
    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"> 
     116        <meta charset="utf-8"> 
    130117        <title>ALKIS Flurst&uuml;cks-Historie</title> 
    131118        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    137124<body> 
    138125<?php 
    139 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     126$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfshist.php'"); 
    140127if (!$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>";} 
    142128 
    143129// Such-Parameter bekommen? Welche? 
     
    147133        $whereclause="WHERE gml_id= $1 "; 
    148134        $v = array($gmlid); 
    149 } else {        // Alternativ: Flurst.-Kennz. uebergeben 
    150         if ($fskennz != "") { 
     135} elseif ($fskennz != "") { // Alternativ: Flurst.-Kennz. uebergeben 
    151136                $parmtyp="Flurst&uuml;ckskennzeichen"; 
    152137                $parmval=$fskennz; 
    153138                $whereclause="WHERE flurstueckskennzeichen= $1 "; // hinten auffuellen mit _ auf 20 Stellen 
    154139                $v = array($fskennz); 
    155         } else { // Pfui! 
     140} else { // Pfui! 
    156141                $parmtyp=""; 
    157142                echo "<p class='err'>Parameter 'gmlid' oder 'fskennz' fehlt.</p>"; 
    158         } 
    159143} 
    160144 
    161145if ($parmtyp != "") { // einer der beiden erlaubten FÀlle 
    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;"; 
     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;"; 
    169164 
    170165        $resu = pg_prepare("", $sqlu); 
     
    188183                if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // fuer selbst-link-Umschalter ueber footer 
    189184        } else { 
    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>";} 
     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                } 
    192191        } 
    193192} 
     
    222221echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite 
    223222        // darin Tabelle Kennzeichen 
    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'>"; 
     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'>"; 
    227226                if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
    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>"; 
    232 echo "\n\t</td>\n\t<td>"; // rechte Seite 
     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 
    233232        // FS-Daten 2 Spalten 
    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'>"; 
     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'>"; 
    241239                                foreach($arrn AS $val) { // Zeile f. jedes Element 
    242240                                        echo trim($val, '"')."<br>"; 
    243241                                } 
    244                         echo "</td>"; 
    245                 echo "\n\t</tr>"; 
    246         echo "\n\t</table>"; 
    247         if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); } 
    248 echo "\n\t</td>\n</tr>\n</table>"; 
     242                        echo "</td>" 
     243                ."\n\t</tr>" 
     244        ."\n\t</table>" 
     245."\n\t</td>\n</tr>\n</table>"; 
    249246 
    250247if ($ftyp == "a") { // Aktuell -> Historie 
    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";} 
     248        echo "\n<p class='nwlink noprint'>weitere Auskunft: " 
     249                ."<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n"; 
    254250                        if ($showkey)   {echo "&amp;showkey=j";} 
    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 } 
    259 echo "\n<hr>"; 
    260  
    261 echo "<table class='outer'>"; 
    262         echo "\n<tr> 
     251                        echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
     252                        ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
     253                ."</a>"; 
     254} 
     255echo "\n<hr>" 
     256."<table class='outer'>" 
     257        ."\n<tr> 
    263258                <td class='head'>Flurst&uuml;ck</td> 
    264259                <td class='head'>Vorg&auml;nger</td> 
     
    267262         
    268263        // Spalte 1: F l u r s t ÃŒ c k 
    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>"; 
     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>"; 
    273268 
    274269        // Spalte 2: V o r g À n g e r 
     
    294289        echo "\n\t<td>"; 
    295290                vornach($nach); 
    296         echo "</td>\n</tr>"; 
    297 echo "\n</table>"; 
     291        echo "</td>\n</tr>" 
     292."\n</table>"; 
    298293 
    299294if ($debug > 1) { 
     
    307302?> 
    308303 
    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> 
     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> 
    316309 
    317310<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
  • trunk/info/info/alkis/alkisfsnw.php

    r355 r376  
    66 
    77        Version: 
    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 
     8        2016-02-24 Version fuer norGIS-ALKIS-Import 
     9        2016-03-14 Korrekturen 
     10        2016-12-01 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    2811 
    2912        ToDo: 
    3013        - BodenschÀtzung anzeigen 
    31         - EntschlÃŒsseln "Bahnkategorie" bei Bahnverkehr, "OberflÀchenmaterial" bei Unland 
    32           Dazu evtl. diese Felder ins Classfld verschieben (Meta-Tabellen!) 
     14        - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen) 
    3315*/ 
    3416session_start(); 
    3517$id="n"; 
     18$eig="n"; 
    3619$cntget = extract($_GET); 
    3720require_once("alkis_conf_location.php"); 
    3821if ($auth == "mapbender") {require_once($mapbender);} 
    3922include("alkisfkt.php"); 
    40 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    4123$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    4224if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    4325?> 
    44  
    45 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    46 <html> 
     26<!doctype html> 
     27<html lang="de"> 
    4728<head> 
    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"> 
     29        <meta charset="utf-8"> 
    5330        <title>ALKIS Flurst&uuml;cksnachweis</title> 
    5431        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    6441</head> 
    6542<body> 
    66  
    6743<?php 
    68  
    69 function 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  
    10644// S t a r t 
    107 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     45$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfsnw.php'"); 
    10846if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    10947 
     
    12159                        $zgemkg=substr($zgemkg, 2, 4); 
    12260                } else { // kein schöner Land .. 
    123                         $land='05'; // NRW, ToDo: Default-Land aus config 
     61                        $land=$defland; // Default-Land aus config 
    12462                } 
    12563                $zflur=str_pad($arr[1], 3 , "0", STR_PAD_LEFT); // Flur-Nr 
     
    13775                $fskzdb=$land.$zgemkg.$zflur.$zzaehler.$znenner.'__'; // FS-Kennz. Format Datenbank 
    13876        } 
    139         // Feld flurstueckskennzeichen ist in DB indiziert 
     77        // Spalte "flurstueckskennzeichen" ist in DB indiziert 
    14078        // Format z.B.'052647002001910013__' oder '05264700200012______' 
    14179        $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 AND endet IS NULL ;"; 
     
    172110        $gemeinde=$row["gemeinde"]; 
    173111        $flurnummer=$row["flurnummer"]; 
    174         $flstnummer=$row["zaehler"]; 
     112        $zaehler=$row["zaehler"]; 
    175113        $nenner=$row["nenner"]; 
     114        $flstnummer=$zaehler; 
    176115        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr 
    177116        $fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld 
     
    189128} 
    190129pg_free_result($res); 
     130 
    191131// Balken 
    192132if ($eig=="j") { 
    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"; 
     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"; 
    195135} else { 
    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 } 
    199 echo "\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'>"; 
     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. 
     142if ( ($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 
     154echo "\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'>"; 
    204158                if ($showkey) { 
    205159                        echo "<span class='key'>".$gmkgnr."</span><br>"; 
    206160                } 
    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>"; 
    211 echo "\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'>"; 
     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'>"; 
    219172                                foreach($arrn AS $val) { // Zeile f. jedes Element des Array 
    220173                                        echo trim($val, '"')."<br>"; 
    221174                                } 
    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"); } 
    227 echo "\n\t</td>\n</tr>\n</table>"; 
     175                        echo "</td>" 
     176                ."\n\t</tr>" 
     177        ."\n\t</table>" 
     178."\n\t</td>\n</tr>\n</table>"; 
    228179//      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>"; 
    229180// Ende Seitenkopf 
    230181 
    231 echo "\n<hr>"; 
    232 echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle 
    233 echo "\n<table class='fs'>"; 
     182echo "\n<hr>" 
     183."\n<p class='nwlink noprint'>weitere Auskunft:</p>" // oben rechts von der Tabelle 
     184."\n<table class='fs'>"; 
    234185 
    235186// ** G e b i e t s z u g e h o e r i g k e i t ** 
     
    254205        echo "<span class='key'>(".$gemeinde.")</span> "; 
    255206} 
    256 echo $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>"; 
    266 echo "</td></tr>"; 
     207// Link zur FS-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft") 
     208echo $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>"; 
    267217pg_free_result($res); 
    268218 
     
    335285                                echo "<td>&nbsp;</td>"; 
    336286                        } 
    337                         echo "\n\t<td>&nbsp;</td>"; 
    338                         echo "\n\t<td class='lr'>"; 
     287                        echo "\n\t<td>&nbsp;</td>" 
     288                        ."\n\t<td class='lr'>"; 
    339289                        if ($showkey) { 
    340290                                echo "<span class='key' title='Straßenschl&uuml;ssel'>(".$row["lage"].")</span>&nbsp;"; 
    341291                        } 
    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"]; 
     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"]; 
    347295                                if ($showkey) {echo "&amp;showkey=j";} 
    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>"; 
     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>"; 
    352299                $j++; 
    353300        } 
     301        $cnt_adressen=$j; 
    354302        pg_free_result($res); 
    355303} 
    356 // Verbesserung: mehrere HsNr zur gleichen Straße als Liste? 
     304// +++ Verbesserung: mehrere HsNr zur gleichen Straße als Liste? 
    357305 
    358306// Lagebezeichnung OHNE Hausnummer  (Gewanne oder nur Strasse) 
     
    378326        $lgml=$row["gml_id"]; // key der Lage 
    379327        if (!$gewann == "") { 
    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; 
     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; 
    386334                                if ($showkey) {echo "&amp;showkey=j";}                           
    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>"; 
     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>"; 
    390338        } 
    391339        // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link 
    392340        if ($skey > 0) { 
    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'>"; 
     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'>"; 
    397345                        if ($showkey) { 
    398346                                echo "<span class='key'>(".$skey.")</span>&nbsp;"; 
    399347                        } 
    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; 
     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; 
    405351                                if ($showkey) {echo "&amp;showkey=j";}                           
    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>"; 
     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>"; 
    409355        } 
    410356        $j++; 
     
    415361// ** N U T Z U N G ** Gemeinsame FlÀche von NUA und FS 
    416362// 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) 
    417365$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,  
    418366st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla  
     
    487435                                } 
    488436                        } 
    489  
    490437                        if ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?) 
    491438                                echo ", ".$fldinfo."=".$info; 
     
    505452                        if ($nam != "") {echo "<br>Name: ".$nam;} 
    506453                        if ($bez != "") {echo "<br>Bezeichnung: ".$bez;} 
    507                         if ($idanzeige) {linkgml($gkz, $gml, "Nutzungs-Abschnitt", "");} 
    508454 
    509455                echo "</td>"; 
     
    522468        $j++; 
    523469} 
     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) 
     495WHERE 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); 
     505if (!$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; 
     511while($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} 
    524552pg_free_result($res); 
    525553// ENDE  N U T Z U N G 
    526554 
    527 echo "\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>"; 
     555echo "\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>"; 
    531559 
    532560        // Flaeche und Link auf GebÀude-Auswertung 
    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";} 
     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; 
    537564                        if ($showkey) {echo "&amp;showkey=j";} 
    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>"; 
    541 echo "\n</tr>"; 
     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>"; 
    542574 
    543575// H i n w e i s  auf Bodenneuordnung oder eine strittige Grenze 
    544576// b.name, b.artderfestlegung,  
    545577 
    546 $sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
     578$sql_boden ="SELECT a.k AS wert, a.v AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
    547579b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key  
    548 FROM ax_bauraumoderbodenordnungsrecht b JOIN v_baurecht_adf a ON a.wert=b.artderfestlegung  
     580FROM ax_bauraumoderbodenordnungsrecht b  
     581LEFT JOIN alkis_wertearten a ON cast(b.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung' 
    549582LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle  
    550583WHERE b.endet IS NULL AND d.endet IS NULL   
    551 AND (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))"; 
     584AND (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));"; 
    553586 
    554587pg_prepare($con, "bodeneuordnung", $sql_boden); 
    555588$res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid)); 
    556  
    557 $sql_str="SELECT gml_id  
    558 FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze)  
     589if (!$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)  
    559595AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL),wkb_geometry);"; 
    560596 
    561597pg_prepare($con, "strittigeGrenze", $sql_str); 
    562598$res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid)); 
     599if (!$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} 
    563603 
    564604if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) { 
    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>"; 
     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>"; 
    569609 
    570610        if (pg_num_rows($res_bodeneuordnung) > 0) { 
     
    573613 
    574614                        // Zeile 1 - kommt immer, darum hier den Link 
    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>"; 
     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>"; 
    579619                                        if ($showkey) {echo "<span class='key'>(".$row['wert'].")</span> ";} 
    580                                         echo $row['art_verf']; 
    581                                 echo "</td>"; 
    582                                 echo "\n\t<td>"; 
     620                                        echo $row['art_verf'] 
     621                                ."</td>\n\t<td>"; 
    583622                                // LINK: 
    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";} 
     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']; 
    587625                                        if ($showkey) {echo "&amp;showkey=j";} 
    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>"; 
     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>"; 
    592630 
    593631                        // Zeile 2 
    594                         $dstell=$row['stelle_key']; // LEFT JOIN 
     632                        $dstell=$row['stelle_key']; 
    595633                        if ($dstell != "") { // Kann auch leer sein 
    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>"; 
     634                                echo "\n<tr title='Flurbereinigungsbeh&ouml;rde'>" 
     635                                        ."\n\t<td>&nbsp;</td>" 
     636                                        ."\n\t<td>Dienststelle</td>" 
     637                                        ."\n\t<td>"; 
    600638                                                if ($showkey) {echo "<span class='key'>(".$dstell.")</span> ";} 
    601                                                 echo $row['stelle_bez']; 
    602                                         echo "</td>"; 
    603                                         echo "\n\t<td>&nbsp;</td>"; 
    604                                 echo "\n</tr>"; 
     639                                                echo $row['stelle_bez'] 
     640                                        ."</td>" 
     641                                        ."\n\t<td>&nbsp;</td>" 
     642                                ."\n</tr>"; 
    605643                        } 
    606644 
     
    609647                        $vnam=$row['verf_name']; // noch seltener 
    610648                        if ($vbez != "") { 
    611                                 echo "\n<tr title='Verfahrensbezeichnung'>"; 
    612                                         echo "\n\t<td>&nbsp;</td>\n\t<td>Verfahren</td>"; 
    613                                         echo "\n\t<td>"; 
     649                                echo "\n<tr title='Verfahrensbezeichnung'>" 
     650                                        ."\n\t<td>&nbsp;</td>\n\t<td>Verfahren</td>" 
     651                                        ."\n\t<td>"; 
    614652                                                if ($vnam == "") { 
    615653                                                        echo $vbez; // nur die Nummer 
     
    618656                                                        echo $vnam; 
    619657                                                } 
    620                                         echo "</td>"; 
    621                                         echo "\n\t<td>&nbsp;</td>"; 
    622                                 echo "\n</tr>"; 
    623                         } 
    624                 } 
    625         } 
    626  
     658                                        echo "</td>" 
     659                                        ."\n\t<td>&nbsp;</td>" 
     660                                ."\n</tr>"; 
     661                        } 
     662                } 
     663        } 
    627664        if (pg_num_rows($res_strittigeGrenze) > 0) { // 1 Zeile 
    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  
     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} 
    636670echo "\n</table>"; 
    637671 
    638672// G R U N D B U C H 
    639 echo "\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";} 
     673echo "\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 
    649683                                // Umschalter: FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb 
    650684                                if ($eig=="j") { 
    651685                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>"; 
    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>"; 
     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>"; 
    655689                                } 
    656                         echo "\n\t\t</p>"; 
    657                 echo "\n\t</td>"; 
    658         echo "\n</tr>"; 
    659 echo "\n</table>\n"; 
     690                        echo "\n\t\t</p>" 
     691                ."\n\t</td>" 
     692        ."\n</tr>" 
     693."\n</table>\n"; 
    660694 
    661695// B U C H U N G S S T E L L E N  zum FS (istGebucht) 
    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  
     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 
    663697FROM ax_flurstueck f JOIN ax_buchungsstelle s ON s.gml_id=f.istgebucht  
    664 LEFT JOIN v_bs_buchungsart b ON s.buchungsart=b.wert  
     698LEFT JOIN alkis_wertearten b ON cast(s.buchungsart AS character varying)=b.k AND b.element='ax_buchungsstelle' AND b.bezeichnung='buchungsart' 
    665699WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL ORDER BY s.laufendenummer;"; 
    666700 
     
    670704if (!$ress) { 
    671705        echo "\n<p class='err'>Keine Buchungsstelle.</p>\n"; 
    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 
     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 
    676712while($rows = pg_fetch_array($ress)) { 
    677713        $gmls=$rows["gml_id"]; // gml b-Stelle 
    678714        $lfd=$rows["lfd"]; // BVNR 
     715        $barttitle=htmlentities($rows["barttitle"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 
    679716 
    680717        // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon) 
    681         $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung  
     718        $sql="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, wb.v AS blattartv, wb.d AS blattartd, z.bezeichnung  
    682719        FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON b.gml_id=s.istbestandteilvon  
    683720        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'  
    684722        WHERE s.gml_id = $1 AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 
    685723        ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 
    686724 
    687         $v = array($gmls); 
    688         $resg = pg_prepare("", $sql); 
    689         $resg = pg_execute("", $v); 
     725        $v=array($gmls); 
     726        $resg=pg_prepare("", $sql); 
     727        $resg=pg_execute("", $v); 
    690728        if (!$resg) { 
    691729                echo "\n<p class='err'>Kein Buchungsblatt.</p>\n"; 
     
    696734                $gmlg=$rowg["gml_id"]; 
    697735                $beznam=$rowg["bezeichnung"]; 
    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 
     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 
    704741                        echo "\n\t<td>"; // Outer linke Spalte: 
    705742 
     
    710747                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    711748                                } 
    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>"; 
     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>"; 
    735767 
    736768                                // Miteigentumsanteil 
     
    738770                                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    739771                                } 
    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";} 
     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; 
    751775                                                if ($showkey)   {echo "&amp;showkey=j";} 
    752776                                                if ($blattkeyg == 1000) { 
     
    755779                                                        echo "' title='Grundbuchnachweis'>"; 
    756780                                                } 
    757                                                 echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>"; 
    758                                         echo "</a>"; 
    759                                 echo "\n\t</p>"; 
     781                                                echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
     782                                        ."</a>" 
     783                                ."\n\t</p>"; 
    760784 
    761785                                ber_bs_hinw($gmls); // berechtigte Buchungstellen Hinweis 
    762786 
    763                         echo "\n</td>"; 
    764                 echo "\n</tr>"; 
    765                 echo "\n</table>"; 
     787                        echo "\n</td>" 
     788                ."\n</tr>" 
     789                ."\n</table>"; 
    766790 
    767791                // +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung 
     
    781805                                if ($blattkeyg == 1000) { 
    782806                                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 
    783                                         linkgml($gkz, $gmlg, "Buchungsblatt", ""); 
    784807                                } else { 
    785808                                        echo "\n<p>ohne Eigent&uuml;mer.</p>"; 
     
    789812                $bl++; 
    790813        } 
    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  
     814        if ($bl == 0) {echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";} 
    897815        $bs++; 
    898816} 
    899817pg_free_result($resg); 
    900 if ($bs == 0) { 
    901         echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>"; 
    902         linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); 
    903 } 
     818if ($bs == 0) {echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";} 
    904819pg_close($con); 
    905820echo <<<END 
    906821 
    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> 
     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> 
    915828END; 
    916  
    917829footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig); 
    918  
    919830?> 
    920  
    921831</body> 
    922832</html> 
  • trunk/info/info/alkis/alkisgebaeudenw.php

    r357 r376  
    44 
    55        Version: 
    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 
     6        2016-02-24 Version fuer norGIS-ALKIS-Import 
     7        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    158*/ 
    169session_start(); 
     
    2013if ($auth == "mapbender") {require_once($mapbender);} 
    2114include("alkisfkt.php"); 
    22 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    2315$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    2416if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    2517?> 
    26 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    27 <html> 
     18<!doctype html> 
     19<html lang="de"> 
    2820<head> 
    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"> 
     21        <meta charset="utf-8"> 
    3422        <title>ALKIS Geb&auml;udenachweis</title> 
    3523        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    4129<body> 
    4230<?php 
    43 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     31$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisgebaeudenw.php'"); 
    4432if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    4533 
     
    7664 
    7765// Kennzeichen in Rahmen 
    78 echo "\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'>"; 
     66echo "\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'>"; 
    8674        if  ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
    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>"; 
    92 echo "\n</td>\n<td>"; 
    93  
    94 // Links zu anderen Nachweisen 
    95 echo "\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>"; 
    100 echo "\n\t</p>"; 
    101 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); } 
    102 echo "\n\t</td>\n</tr>\n</table>"; 
     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 
     83echo "\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>"; 
    10389// Ende Seitenkopf 
    10490 
     
    10692pg_free_result($resf); 
    10793 
    108 echo "\n\n<h3><img src='ico/Haus.png' width='16' height='16' alt=''> Geb&auml;ude</h3>"; 
    109 echo "\n<p>.. auf oder an dem Flurst&uuml;ck. Ermittelt durch Verschneidung der Geometrie.</p>"; 
     94echo "\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>"; 
    11096 
    11197// G e b a e u d e 
    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  
    128 LEFT JOIN v_geb_funktion u ON g.gebaeudefunktion=u.wert  
    129 LEFT JOIN v_geb_zustand z ON g.zustand=z.wert  
     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,  
     99round(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  
     103LEFT JOIN alkis_wertearten h ON cast(g.bauweise AS character varying) = h.k AND h.element='ax_gebaeude' and h.bezeichnung='bauweise' 
     104LEFT JOIN alkis_wertearten u ON cast(g.gebaeudefunktion AS character varying) = u.k AND u.element='ax_gebaeude' and u.bezeichnung='gebaeudefunktion' 
     105LEFT JOIN alkis_wertearten z ON cast(g.zustand AS character varying) = z.k AND z.element='ax_gebaeude' and z.bezeichnung='zustand' 
    130106WHERE f.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL "; // ID des akt. FS 
    131107 
    132 // "within" -> nur Geb., die komplett im FS liegen 
    133 // "intersects" -> auch teil-ueberlappende Flst. 
     108// "within" -> nur Geb., die komplett im FS liegen. "intersects" -> auch teil-ueberlappende Flst. 
    134109$sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true "; 
    135110// RLP: keine Relationen zu NebengebÀuden. Auf Qualifizierung verzichten, sonst werden NebengebÀude nicht angezeigt 
     
    141116$resg=pg_execute("", $v); 
    142117if (!$resg) { 
    143         echo "\n<p class='err'>Keine Geb&auml;ude ermittelt.</p>\n"; 
     118        echo "\n<p class='err'>Fehler bei Geb&auml;ude-Verschneidung.</p>\n"; 
    144119        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    145120} 
     
    148123echo "\n<hr>\n<table class='geb'>"; 
    149124        // T-Header 
    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>"; 
     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>"; 
    160135        // T-Body 
    161136        while($rowg = pg_fetch_array($resg)) { 
    162137                $gebnr = $gebnr + 1; 
    163 // ++ ToDo: Die Zeilen abwechselnd verschieden einfÀrben, Angrenzend anders einfÀrben  
    164138                $ggml=$rowg["gml_id"]; 
    165                 $gebflsum = $gebflsum + $rowg["schnittflae"]; 
    166         #       $skey=$rowg["lage"]; // Strassenschluessel               
     139                $gebflsum=$gebflsum + $rowg["schnittflae"]; 
    167140                $gnam=$rowg["name"]; 
    168141                $gzus=$rowg["zustand"]; 
    169142                $gzustand=$rowg["bzustand"]; 
    170143 
    171                 echo "\n<tr>"; 
    172                         echo "\n\t<td>"; 
    173                                 if ($gnam != "") {echo "<span title='Geb&auml;udename'>".$gnam."</span><br>";} 
     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;)"; 
     158                        } 
     159                } 
     160 
     161                echo "\n<tr>" 
     162                        ."\n\t<td class='".$gstyle."'>"; 
     163                        if ($gnam != "") {echo "<span title='Geb&auml;udename'>".$gnam."</span><br>";} 
    174164                        echo "\n\t</td>"; 
    175165 
    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                                 } 
    187                         } 
    188                         echo "\n\t<td>"; 
     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."'>"; 
    189170                        if ($showkey) {echo "<span class='key'>".$rowg["gebaeudefunktion"]."</span>&nbsp;";} 
    190171                        echo $rowg["bezeichner"]."</td>"; 
    191172 
    192                         echo "\n\t<td>"; 
     173                        echo "\n\t<td class='".$gstyle."'>"; 
    193174                        if ($showkey) {echo "<span class='key'>".$rowg["bauweise"]."</span>&nbsp;";} 
    194175                        echo $rowg["bauweise_beschreibung"]."&nbsp;</td>"; 
    195176 
    196                         echo "\n\t<td>"; 
     177                        echo "\n\t<td class='".$gstyle."'>"; 
    197178                        if ($showkey) {echo "<span class='key'>".$gzus."</span>&nbsp;";} 
    198179                        echo $gzustand."&nbsp;</td>"; 
     
    202183 
    203184                        // HAUPTgebÀude  Geb >zeigtAuf> lage (mehrere) 
    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 "; 
     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 "; 
    208189 
    209190                        // oder NEBENgebÀude  Geb >hat> Pseudo 
    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" 
     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" 
    214195                 
    215196                        $sqll.="ORDER BY bezeichnung, hausnummer;"; 
     
    239220                                if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}                       
    240221                                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";} 
    242222                                        if ($showkey)   {echo "&amp;showkey=j";} 
    243223                                echo "'>".$lagetxt."</a>"; 
    244                                 if ($idanzeige) {linkgml($gkz, $gmllag, "Lage", ""); } 
    245224                                echo "<br>"; 
    246225                        } // Ende Loop Lage m.H. 
     
    248227                        echo "\n\t</td>"; 
    249228 
    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>"; 
     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>"; 
    258235        } 
    259236        // Footer 
    260237        if ($gebnr == 0) { 
    261                 echo "\n</table>"; 
    262                 echo "<p class='err'><br>Keine Geb&auml;ude auf diesem Flurst&uuml;ck.<br>&nbsp;</p>"; 
     238                echo "\n</table>" 
     239                ."<p class='err'><br>Keine Geb&auml;ude auf diesem Flurst&uuml;ck.<br>&nbsp;</p>"; 
    263240        } else { 
    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>"; 
     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>"; 
    274247        $unbebaut = number_format(($flstflaeche - $gebflsum),0,",",".") . " m&#178;"; 
    275         echo "\n<p>Flurst&uuml;cksfl&auml;che abz&uuml;glich Geb&auml;udefl&auml;che: <b>".$unbebaut."</b></p><br>"; 
     248        echo "\n<p><br>Flurst&uuml;cksfl&auml;che abz&uuml;glich Geb&auml;udefl&auml;che: <b>".$unbebaut."</b></p><br>"; 
    276249} 
    277250pg_free_result($resg); 
    278251?> 
    279252 
    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> 
     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> 
    287258 
    288259<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
  • trunk/info/info/alkis/alkishaus.php

    r372 r376  
    11<?php 
    2 /*      alkishaus.php - Daten zum ALKIS-GebÀude-Objekt 
     2/*      alkishaus.php - viele Daten zu EINEM ALKIS-GebÀude-Objekt 
    33        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    44 
    55        Version: 
    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 
     6        2016-02-24 Version fuer norGIS-ALKIS-Import 
     7        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    148 
    159        ToDo: 
     
    1711        - geometrische Suche nach FS, auf denen das Haus steht 
    1812        - Template im WMS auf Ebene GebÀude hierhin verknÃŒpfen. 
    19         - Auch diese Relationen abbilden: 
     13        - Relationen abbilden: 
    2014                ax_gebaeude >gehoertZu> ax_gebaeude  (ringförmige Verbindung GebÀudekomplex) 
    2115                ax_gebaeude (umschliesst) ax_bauteil 
    22                 ax_gebaeude >gehoert> ax_person  (Ausnahme) 
     16                ax_gebaeude >gehoert> ax_person (Ausnahme) 
    2317*/ 
    2418session_start(); 
     
    2923if ($auth == "mapbender") {require_once($mapbender);} 
    3024include("alkisfkt.php"); 
    31 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    3225$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    3326if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    3427if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} 
    3528?> 
    36 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    37 <html> 
     29<!doctype html> 
     30<html lang="de"> 
    3831<head> 
    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"> 
     32        <meta charset="utf-8"> 
    4433        <title>ALKIS Daten zum Haus</title> 
    4534        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    4736        <style type='text/css' media='print'> 
    4837                .noprint {visibility: hidden;} 
     38                td.mittelspalte {width: 190px;} 
    4939        </style> 
    5040</head> 
     
    5242<?php 
    5343 
    54 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     44$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'"); 
    5545if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    5646 
    5747// G e b a e u d e 
     48 
    5849$sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug,  
    59 g.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,  
    60 h.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  
    62 LEFT JOIN v_geb_bauweise h ON g.bauweise=h.bauweise_id  
    63 LEFT JOIN v_geb_funktion u ON g.gebaeudefunktion=u.wert  
    64 LEFT JOIN v_geb_zustand z ON g.zustand=z.wert  
    65 LEFT JOIN v_geb_dachform d ON g.dachform=d.wert 
    66 WHERE g.gml_id= $1 AND g.endet IS NULL ;"; 
     50g.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,  
     51h.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, 
     52round(st_area(g.wkb_geometry)::numeric,2) AS gebflae 
     53FROM ax_gebaeude g  
     54LEFT JOIN alkis_wertearten h ON cast(g.bauweise AS character varying)=h.k AND h.element='ax_gebaeude' AND h.bezeichnung='bauweise' 
     55LEFT JOIN alkis_wertearten u ON cast(g.gebaeudefunktion AS character varying)=u.k AND u.element='ax_gebaeude' AND u.bezeichnung='gebaeudefunktion' 
     56LEFT JOIN alkis_wertearten z ON cast(g.zustand AS character varying)=z.k AND z.element='ax_gebaeude' AND z.bezeichnung='zustand' 
     57LEFT JOIN alkis_wertearten d ON cast(g.dachform AS character varying)=d.k AND d.element='ax_gebaeude' AND d.bezeichnung='dachform' 
     58LEFT JOIN alkis_wertearten a ON cast(g.dachgeschossausbau AS character varying)=a.k AND a.element='ax_gebaeude' AND a.bezeichnung='dachgeschossausbau' 
     59LEFT JOIN alkis_wertearten o ON cast(g.lagezurerdoberflaeche AS character varying)=o.k AND o.element='ax_gebaeude' AND o.bezeichnung='lagezurerdoberflaeche' 
     60WHERE g.gml_id= $1 AND g.endet IS NULL;"; 
    6761 
    6862$v = array($gmlid); 
     
    8175// Kennzeichen in Rahmen  
    8276// - Welches Kennzeichen zum Haus ? 
    83 if ($idanzeige) {linkgml($gkz, $gmlid, "Haus", "ax_gebaeude"); } 
    8477echo "\n<hr>"; 
    8578// Umschalter: auch leere Felder ausgeben? 
    8679echo "<p class='nwlink noprint'>"; 
    87 echo "<a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     80echo "Umschalten: <a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    8881        if ($showkey) {echo "&amp;showkey=j";} else {echo "&amp;showkey=n";} 
    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";} 
     82        if ($allefelder) { 
     83                echo "&amp;allfld=n'>nur Felder mit Inhalt"; 
     84        } else { 
     85                echo "&amp;allfld=j'>auch leere Felder"; 
     86        } 
    9287echo "</a></p>"; 
    9388 
     
    9691while($rowg = pg_fetch_array($resg)) { // Schleife, kann aber nur EIN Haus sein. 
    9792        $gebnr++; 
    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>"; 
     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>"; 
    10399 
    104100        $aog=$rowg["aog"]; 
     
    106102        $hoh=$rowg["hochhaus"]; 
    107103        $nam=$rowg["name"]; // Gebaeude-Name 
     104 
     105        $kfunk=$rowg["gebaeudefunktion"]; 
    108106        $bfunk=$rowg["bfunk"]; 
     107        $dfunk=$rowg["dfunk"]; 
     108 
    109109        $baw=$rowg["bauweise"]; 
    110         $bbauw=$rowg["bauweise_beschreibung"]; 
     110        $bbauw=$rowg["bbauw"]; 
     111        $dbauw=$rowg["dbauw"]; 
     112 
    111113        $ofl=$rowg["lagezurerdoberflaeche"]; 
    112         $dga=$rowg["dachgeschossausbau"]; 
    113         $zus=$rowg["zustand"]; 
    114         $zustand=$rowg["bzustand"]; 
    115         $wgf=$rowg["weiteregebaeudefunktion"]; 
    116         $daf=$rowg["dachform"]; 
    117         $dach=$rowg["bdach"]; 
     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 
    118129        $hho=$rowg["objekthoehe"]; 
    119130        $gfl=$rowg["geschossflaeche"]; 
     
    125136 
    126137        if (($nam != "") OR $allefelder) { 
    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 
     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 
    135147        // HAUPTgebÀude 
    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 "; 
     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"; 
    142152        // oder NEBENgebÀude 
    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 "; 
     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 "; 
    148159 
    149160        $sqll.="ORDER BY bezeichnung, hausnummer ;"; 
     
    166177                $gmllag=$rowl["gmllag"]; 
    167178 
    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>"; 
     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>"; 
    182190        } // Ende Loop Lagezeilen m.H. 
    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  
     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 
    195203        if ($baw != "" OR $allefelder) { 
    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>"; 
     204                echo "\n<tr>" 
     205                        ."\n\t<td class='li'>Bauweise</td>" 
     206                        ."\n\t<td class='fett'>"; 
    199207                        if ($showkey) {echo "<span class='key'>".$baw."</span>&nbsp;";} 
    200                         echo $bbauw."</td>"; 
    201                 echo "\n</tr>"; 
    202         } 
    203  
     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 
    204214        if ($aog != "" OR $allefelder) { 
    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  
     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 
    211223        if ($aug != "" OR $allefelder) { 
    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  
     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 
    218232        if ($hoh != "" OR $allefelder) { 
    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  
     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 
    225241        if ($ofl != "" OR $allefelder) { 
    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>"; 
     242                echo "\n<tr>" 
     243                        ."\n\t<td class='li'>Lage zur Erdoberfl&auml;che</td>" 
     244                        ."\n\t<td class='fett'>"; 
    229245                        if ($showkey) {echo "<span class='key'>".$ofl."</span>&nbsp;";} 
    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>"; 
     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'>"; 
    246257                        if ($showkey) {echo "<span class='key'>".$dga."</span>&nbsp;";} 
    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  
     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 
    259264        if ($zus != "" OR $allefelder) { 
    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>"; 
     265                echo "\n<tr>" 
     266                        ."\n\t<td class='li'>Zustand</td>" 
     267                        ."\n\t<td class='fett'>"; 
    263268                        if ($showkey) {echo "<span class='key'>".$zus."</span>&nbsp;";} 
    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); 
     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); 
    280284                                $resw = pg_prepare("", $sqlw); 
    281285                                $resw = pg_execute("", $v); 
    282286                                if (!$resw) { 
    283287                                        echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>\n"; 
    284                                         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgflist."'</p>";} 
     288                                        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";} 
    285289                                } 
    286290                                $zw=0; 
    287291                                while($roww = pg_fetch_array($resw)) { // LOOP: w.Funktion 
    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; 
     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>"; 
    293295                                        $zw++; 
    294296                           } 
    295297                        } 
    296                         echo "</td>"; 
    297                 echo "\n</tr>"; 
    298         } 
    299  
     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 
    300305        if ($daf != "" OR $allefelder) { 
    301                 echo "\n<tr>"; 
    302                         echo "\n\t<td title='\"Dachform\" beschreibt die charakteristische Form des Daches.'>Dachform</td>"; 
    303                         echo "\n\t<td>"; 
     306                echo "\n<tr>" 
     307                        ."\n\t<td class='li'>Dachform</td>" 
     308                        ."\n\t<td class='fett'>"; 
    304309                        if ($showkey) {echo "<span class='key'>".$daf."</span>&nbsp;";} 
    305                         echo $dach."</td>"; 
    306                 echo "\n</tr>"; 
    307         } 
    308  
     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 
    309316        if ($hho != "" OR $allefelder) { 
    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  
     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 
    317325        if ($gfl != "" OR $allefelder) { 
    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  
     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 
    328336        if ($grf != "" OR $allefelder) { 
    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  
     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 
    338346        if ($ura != "" OR $allefelder) { 
    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  
     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 
    346355        if ($bja != "" OR $allefelder) { 
    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  
     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 
    354364        if ($daa != "" OR $allefelder) { 
    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  
     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 
    362373        if ($qag != "" OR $allefelder) { 
    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  
     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        } 
    370380        echo "\n</table>"; 
    371381} 
    372382if ($gebnr == 0) {echo "<p class='err'><br>Kein Geb&auml;ude gefunden<br>&nbsp;</p>";} 
    373 // ++ ToDo: Verschnitt mit FS 
     383 
     384// ++ ToDo: Verschnitt mit FS? 
    374385 
    375386?> 
    376387 
    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> 
     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> 
    384393 
    385394<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
  • trunk/info/info/alkis/alkisinlayausk.php

    r355 r376  
    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. 
    8         Eigentuemer ohne Adresse. 
    9         Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt. 
     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. 
    109        Dies ist eine Variante von alkisausk.php welches als vollstaendige Seite aufgerufen wird. 
    1110 
    1211        Version: 
    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  
     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) 
    2614*/ 
    2715session_start(); 
     
    3220$gmlid = isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0; 
    3321echo <<<END 
    34 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    35 <html> 
     22<!doctype html> 
     23<html lang="de"> 
    3624<head> 
    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"> 
     25        <meta charset="utf-8"> 
    4226        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    4327        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
     
    5236<body> 
    5337END; 
    54 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     38$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisinlayausk.php'"); 
    5539if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";} 
    5640 
    5741// *** F L U R S T U E C K *** 
    58 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung  
     42$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde 
    5943FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    6044WHERE f.gml_id= $1 AND f.endet IS NULL ;";