Changeset 427


Ignore:
Timestamp:
02/24/22 16:24:19 (2 years ago)
Author:
frank.jaeger
Message:

Überarbeitung der Auskunft: Durch Functions den Code verdichtet. Drei neue Arten von Bauwerken.

Location:
trunk/info/info/alkisn
Files:
18 edited

Legend:

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

    r422 r427  
    11<?php 
    2 /*      ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
     2/*      alkis_conf_location.php 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6         
    37        Pfad zur Konfigurationsdatei der ALKIS-Auskunft. 
    48        Die Conf-Datei sollte aus Sicherheitsgruenden nicht unterhalb des Web-Root-Verzeichnisses liegen. 
     9 
    510Version: 
    611        2020-10-13 Syntax ohne Klammern, rename 
  • trunk/info/info/alkisn/alkisausk.php

    r425 r427  
    22/*      alkisausk.php 
    33 
    4         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
    57        Dies Programm wird aus dem Mapserver-Template (FeatureInfo) aufgerufen. 
    68        Parameter: &gkz, &gml_id (optional &id) 
     
    1416        2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF'] 
    1517        2020-12-15 Input-Validation und Strict Comparisation (===) 
     18        2022-01-13 Neue Functions LnkStf(), DsKy() 
    1619 
    1720H i n w e i s :  Dies Modul wird beim Entwickler nicht mehr produktiv eingesetzt. 
    1821                Statt dessen wird "alkisinlayausk.php" verwendet um von einer WMS-FeatureInfo in ein Fenster ÃŒberzuleiten. 
    19                 Mangels Praxis bleiben Fehler möglicherweise unerkannt. 
     22                Mangels Praxiseinsatz bleiben Fehler möglicherweise unerkannt. 
    2023*/ 
    2124ini_set("session.cookie_httponly", 1); 
     
    4548 
    4649$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    47 $dbg=$debug; // CONF in Arbeits-Variable 
    48  
     50$dbg=$debug; 
    4951$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisausk.php'"); 
    5052if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";} 
    5153 
    52 // *** F L U R S T U E C K *** 
     54// F L U R S T Ü C K  
    5355$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.gemeindezugehoerigkeit_regierungsbezirk, f.gemeindezugehoerigkeit_kreis, f.gemeindezugehoerigkeit_gemeinde 
    5456FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
     
    8789        // Einer der gesetzten Filter passt nicht 
    8890        if ($dbg > 2) { 
    89                 echo "\n<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>"; 
    90                 echo "\n<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
     91                echo "\n<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>" 
     92                ."\n<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
    9193        } 
    9294        echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p> 
     
    9698} 
    9799 
    98 echo "\n<table class='outer'>\n<tr><td>"; 
    99         // linke Seite 
    100         echo "\n<h1>ALKIS-Auskunft</h1>" 
     100echo "\n<table class='outer'>\n<tr><td>" 
     101        ."\n<h1>ALKIS-Auskunft</h1>" 
    101102        ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>"; 
    102 echo "</td><td align='right'>"; 
    103         // rechte Seite 
    104         echo "<img src='pic/AAA.gif' alt=''>" 
     103echo "</td><td align='right'>" 
     104        ."<img src='pic/AAA.gif' alt=''>" 
    105105."</td></tr></table>"; 
    106106 
    107107echo "\n<table class='outer'>\n<tr>\n<td>" 
    108108        ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" 
    109         ."\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>" 
    110         ."\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
    111         if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
    112         echo $gemkname."</td>" 
    113         . "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
     109        ."\n\t\t<td class='head'>Gemarkung</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>" 
     110        ."\n\t<tr>\n\t\t<td title='Gemarkung'>".DsKy($gmkgnr, 'Gemarkungsnummer').$gemkname."</td>" 
     111        ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    114112        ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
    115113        ."\n\t</table>" 
     
    117115."\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
    118116 
    119 // Flurstuecksnachweis (o. Eigent.) 
    120 echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n"; 
    121         if ($showkey) {echo "&amp;showkey=j";} 
    122         echo "' title='Flurst&uuml;cksnachweis, alle Flurst&uuml;cksdaten'>Flurst&uuml;ck " 
     117// FlurstÃŒcksnachweis (o. Eigent.) 
     118echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n".LnkStf() 
     119        ."' title='Flurst&uuml;cksnachweis, alle Flurst&uuml;cksdaten'>Flurst&uuml;ck " 
    123120        ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    124121."</a><br>"; 
    125122 
    126123// FS- u. Eigent.-NW 
    127 echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j"; 
    128         if ($showkey) {echo "&amp;showkey=j";} 
    129         echo "' title='Flurst&uuml;ck mit Eigent&uuml;mer'>Flurst&uuml;ck mit Eigent&uuml;mer " 
     124echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j".LnkStf() 
     125        ."' title='Flurst&uuml;ck mit Eigent&uuml;mer'>Flurst&uuml;ck mit Eigent&uuml;mer " 
    130126        ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    131127."</a><br>"; 
    132128 
    133129// FS-Historie 
    134 echo "\n\t\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    135         if ($showkey) {echo "&amp;showkey=j";} 
    136         echo "' title='Vorg&auml;nger des Flurst&uuml;cks'>Historie " 
     130echo "\n\t\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid.LnkStf() 
     131        ."' title='Vorg&auml;nger des Flurst&uuml;cks'>Historie " 
    137132        ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 
    138133."</a><br>"; 
    139134 
    140 // Gebaeude-NW 
    141 echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    142         if ($showkey) {echo "&amp;showkey=j";} 
    143         echo "' title='Geb&auml;udenachweis'>Geb&auml;ude " 
     135// GebÀude-NW 
     136echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid.LnkStf() 
     137        ."' title='Geb&auml;udenachweis'>Geb&auml;ude " 
    144138        ."<img src='ico/Haus.png' width='16' height='16' alt=''>" 
    145139."</a>" 
     
    175169echo "\n</tr>\n</table>"; 
    176170 
    177 // Flurstuecksflaeche 
     171// FlurstÃŒcksflÀche 
    178172echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>"; 
    179173 
    180 // *** G R U N D B U C H *** 
     174// G R U N D B U C H 
    181175echo "\n<h2><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundbuch</h2>"; 
    182176// ALKIS: FS >istgebucht> GS >istBestandteilVon> GB. 
     
    218212                        ."\n\t</tr>"; 
    219213                        echo "\n\t<tr>" 
    220                                 ."\n\t\t<td title='Grundbuchbezirk'>"; 
    221                                         if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span><br>";} 
    222                                 echo $beznam."</td>" 
     214                                ."\n\t\t<td title='Grundbuchbezirk'>".DsKy($rowg["bezirk"], 'Grundbuch-Bezirk-*').$beznam."</td>" 
    223215                                ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>" 
    224216                                ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>" 
    225                                 ."\n\t\t<td title='Buchungsart'>"; 
    226                                         if ($showkey) {echo "<span class='key'>".$rowg["buchungsart"]."</span><br>";} 
    227                                         echo $rowg["bart"] 
    228                                 ."</td>" 
     217                                ."\n\t\t<td title='Buchungsart'>".DsKy($rowg["buchungsart"], 'Buchungsart-*').$rowg["bart"]."</td>" 
    229218                        ."\n\t</tr>" 
    230219                ."\n\t</table>"; 
     
    235224                echo "\n</td>\n<td>" 
    236225                ."\n\t<p class='nwlink'>weitere Auskunft:<br>" 
    237                         ."\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]; 
    238                                 if ($showkey) {echo "&amp;showkey=j";} 
    239                                 echo "' title='Grundbuchnachweis'>".$blattart." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
    240                         ."</a>" 
     226                        ."\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0].LnkStf() 
     227                        ."' title='Grundbuchnachweis'>".$blattart." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>" 
    241228                ."\n\t</p>" 
    242229        ."\n</td>\n</tr>\n</table>"; 
    243230 
    244         // E I G E N T U E M E R 
     231        // E I G E N T Ü M E R 
    245232        if ($blattkey === 5000) { // SchlÃŒssel Blatt-Art 
    246233                echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n" 
     
    248235        } else { // kein Eigent. bei fiktiv. Blatt 
    249236                // Ausgabe Name in Function 
    250                 $n = eigentuemer($rowg["gml_id"], false, "imFenster"); // ohne Adressen 
     237                $n = eigentuemer($rowg["gml_id"], false, true); // ohne Adressen 
    251238 
    252239                if ($n === 0) { // keine NamNum, kein Eigent. 
  • trunk/info/info/alkisn/alkisauszug.css

    r425 r427  
    1 /*      Modul: alkisauszug.css 
    2         S t y l e s  zur ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
     1/*      alkisauszug.css 
     2 
     3        S t y l e s  zur ALKIS-Auskunft 
     4        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
    35 
    46        Version: 
    5         2010-09-21       
    6         .... 
    7         2018-04-23      Spaltenbreiten 
    8         2018-05-03      GS-Nachweis 
    9         2020-02-03      media screen body width 
     7        2010-09-21 
     8        ... 
    109        2021-03-08  Gruppenwechsel-ZwischenÃŒberschrift 
    1110        2021-03-17      Balken von Bauwerk Farbe wie im WMS 
    1211        2021-12-30      Spalte nwlink breiter, Class td.flag entfÀllt, Tabellenkopf Hintergrund 
     12        2022-02-24  neue Bauwerk-Typen, Farben ÃŒberarbeitet 
    1313 
    1414        https://wiki.selfhtml.org/wiki/Grafik/Farbpaletten#Farbnamen 
     
    1919/* Banner im Kopf (farbiger Balken) */ 
    2020p.balken        {text-align: right; padding-top: 4px; padding-bottom: 4px; padding-right: 24px;} 
    21  
    2221        /* Farbcode individuell fÃŒr Nachweis-Art (gleiche Farbe wie Rahmen um Kennz.) */ 
    23 p.fsausk        {background-color: teal; color: silver;}                        /* Uebersichts-Seite Flurstuecks-Auskunft */ 
    24 p.fskennz,p.fsei{background-color: navy; color: silver;}                /* Flurstuecks-Nachweis */ 
    25 p.fshis         {background-color: gray; color: white;}                         /* Flurstuecks-Historie */ 
     22p.fsausk        {background-color: teal; color: silver;}                        /* Übersichts-Seite FlurstÃŒcks-Auskunft */ 
     23p.fskennz,p.fsei{background-color: navy; color: silver;}                /* FlurstÃŒcks-Nachweis */ 
     24p.fshis         {background-color: gray; color: white;}                         /* FlurstÃŒcks-Historie */ 
    2625p.gbkennz       {background-color: green; color: silver;}                       /* Bestandsnachweis */ 
    27 p.gskennz       {background-color: LightGreen ; color: DimGray ;}       /* GrundstÃŒcksnachweis */ 
     26p.gskennz       {background-color: LightGreen ; color: black;}          /* GrundstÃŒcksnachweis */ 
    2827p.nakennz       {background-color: maroon; color: silver;}                      /* Personen- und Adressdaten */ 
    29 p.geb           {background-color: yellow; color: gray;}                        /* Gebaeude zum FS */ 
    30 p.lage          {background-color: lime; color: gray;}                          /* Lage/Adresse zum FS */ 
    31 p.strasse       {background-color: limegreen; color: slategray;}        /* Strasse */ 
     28p.geb           {background-color: yellow; color: black;}                       /* GebÀude zum FS */ 
     29p.lage          {background-color: lime; color: black;}                         /* Lage/Adresse zum FS */ 
     30p.strasse       {background-color: limegreen; color: black;}            /* Straße */ 
    3231p.recht         {background-color: #F0F8FF; color: gray;}                       /* Baurecht, Bodenneuordnung */ 
    33  
    3432        /* in alkisbauwerk.php synchron zum Mapfile (WMS), 9 Layer-Gruppen */ 
    35 p.bauwerk1      {background-color: rgb(40,0,180); color: gray;}         /* 1 Bauwerk im Verkehrsbereich */ 
    36 p.bauwerk2      {background-color: rgb(0,160,246); color: gray;}        /* 2 Bauwerk im GewÀsserbereich */ 
     33p.bauwerk1      {background-color: rgb(40,0,180); color: silver;}       /* 1 Bauwerk im Verkehrsbereich */ 
     34p.bauwerk2      {background-color: rgb(0,160,246); color: black;}       /* 2 Bauwerk im GewÀsserbereich */ 
    3735p.bauwerk3      {background-color: rgb(160,130,0); color: black;}       /* 3 Sonstiges Bauwerk oder sonstige Einrichtung */ 
    38 p.bauwerk4      {background-color: rgb(252,162,2); color: gray;}        /* 4 Bauwerk oder Anlage fÃŒr Industrie und Gewerbe */ 
    39 p.bauwerk5      {background-color: rgb(140,0,120); color: gray;}        /* 5 Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung */ 
     36p.bauwerk4      {background-color: rgb(252,162,2); color: black;}       /* 4 Bauwerk oder Anlage fÃŒr Industrie und Gewerbe */ 
     37p.bauwerk5      {background-color: rgb(140,0,120); color: silver;}      /* 5 Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung */ 
    4038p.bauwerk6      {background-color: rgb(220,10,10); color: black;}       /* 6 Leitung */ 
    41 p.bauwerk7      {background-color: rgb(10,180,10 ); color: gray;}       /* 7 Transportanlage */ 
    42 p.bauwerk8      {background-color: rgb(135,76,1); color: gray;}         /* 8 Turm */ 
     39p.bauwerk7      {background-color: rgb(10,180,10 ); color: black;}      /* 7 Transportanlage */ 
     40p.bauwerk8      {background-color: rgb(135,76,1); color: silver;}       /* 8 Turm */ 
    4341p.bauwerk9      {background-color: rgb(0,140,40); color: black;}        /* 9 VorratsbehÀlter, Speicherbauwerk */ 
     42p.bauwerk10     {background-color: rgb(80,70,40); color: silver;}       /* 10 Historisches Bauwerk oder historische Einrichtung */ 
     43p.bauwerk11     {background-color: rgb(190,170,10); color: black;}      /* 11 Heilquelle, Gasquelle */ 
     44p.bauwerk12     {background-color: rgb(200,10,60); color: black;}       /* 12 Einrichtung in öffentlichen Bereichen */ 
     45p.bauwerk13     {background-color: rgb(250,40,10); color: black;}       /* 13 Besonderer Bauwerkspunkt */ 
    4446 
    4547/* Format nach Inhalt */ 
    46 p.fsd           {margin-left: 170px;}                                   /* Flst-Flaeche */ 
     48p.fsd           {margin-left: 170px;}                                   /* Flst-FlÀche */ 
    4749p.gbl           {position: relative; left: 60px;}               /* Nam: Buchungsstelle*/ 
    4850p.zus           {margin: 2pt; padding: 2pt; border:1px dotted maroon; background: white;} /* Zusatz zum Eigent., gerahmt */ 
    49 p.avh           {font-style: italic; color: navy;}              /* Anteilsverhaeltnis */ 
     51p.avh           {font-style: italic; color: navy;}              /* AnteilsverhÀltnis */ 
    5052p.ant           {font-style: italic; position: relative;} /* Anteil am FS  left: 12px;*/ 
    51 p.geig          {color: navy;}                                                  /* GB-Nachw. Eigentuemer Name */ 
    52 p.gadr          {color: maroon; margin-top: 1pt;}               /* GB-Nachw. Eigentuemer Adresse */ 
     53p.geig          {color: navy;}                                                  /* GB-Nachw. EigentÃŒmer Name */ 
     54p.gadr          {color: maroon; margin-top: 1pt;}               /* GB-Nachw. EigentÃŒmer Adresse */ 
    5355p.nwlink, td.nwlink {font-size: 7pt; text-align: right; margin-top: 0pt;}       /* Link zum Nachweis GB, FS, ..*/ 
    5456p.err           {font-size: 11px; color: red;}                  /* Fehler -> Anwender */ 
    5557p.dbg, td.dbg{font-size: 10px; color: gray;}            /* Debug -> Entwickler */ 
    56 p.cnt           {font-size: 10px; color: gray;}                 /* Counter, Zaehler */ 
     58p.cnt           {font-size: 10px; color: gray;}                 /* Counter, ZÀhler */ 
    5759p.warn          {color: gray; font-style: italic;}              /* Warnung, Hinweis */ 
    5860p.ph            {color: gray;}                                                  /* Platzhalter */ 
     
    7577        overflow: auto; padding: 6px; background: #e4f7dd;} 
    7678 
    77 span.key        {color: gray; font-style: italic;} /* Schluesselwert vor Text */ 
     79span.key        {color: gray; font-style: italic;} /* SchlÃŒsselwert vor Text */ 
    7880span.wichtig{color: #BB0000; font-weight: bold;} /* Wert hervorheben */ 
    7981span.flae       {font-weight: bold;} /* FlÀchensumme Flurst. */ 
     
    8587 
    8688/* Kennzeichen mit Rahmen, Rahmen-Farben wie 'Balken' */ 
    87 table.kennzfs   {border: 2px solid  navy;  padding: 3px; margin: 0px;}  /* Flurstueck */ 
     89table.kennzfs   {border: 2px solid  navy;  padding: 3px; margin: 0px;}  /* FlurstÃŒck */ 
    8890table.kennzfsh  {border: 2px dotted navy;  padding: 3px; margin: 0px;}  /* - historisch */ 
    8991table.kennzgb   {border: 2px solid  green; padding: 3px; margin: 0px;}  /* Grundbuch */ 
    9092table.kennzgbf  {border: 2px dotted green; padding: 3px; margin: 0px;}  /* - fiktiv */ 
    9193table.kennzla   {border: 2px solid  lime;  padding: 3px; margin: 0px;}  /* Lage */ 
    92 table.kennzstra {border: 2px solid  limegreen;  padding: 3px; margin: 0px;}     /* Strasse */ 
     94table.kennzstra {border: 2px solid  limegreen;  padding: 3px; margin: 0px;}     /* Straße */ 
    9395 
    94 /* fast volle Breite, fuer verschiedene Zwecke, aber kleiner als Body */ 
     96/* fast volle Breite, fÃŒr verschiedene Zwecke, aber kleiner als Body */ 
    9597table.fs, table.nua, table.klas, table.eig, table.outer, table.geb {width: 98%;}  
    9698 
     
    102104td.re   {min-width: 80px; padding-right: 4px; text-align: right;}       /* RechtsbÃŒndig */ 
    103105td.fla  {width: 110px; padding-right: 4px; text-align: right;}          /* FlÀchen rechtsbuendig (stellengerecht) */ 
    104 td.fsnr {padding-right: 4px; text-align: right;}                                        /* Flst.-Nr. rechtsbuendig */ 
     106td.fsnr {padding-right: 4px; text-align: right;}                                        /* Flst.-Nr. rechtsbÃŒndig */ 
    105107td.key  {width:  35px; padding-right: 4px; padding-left: 4px;} 
    106108/* td.emz       {width: 45px; padding-right: 4px; padding-left: 4px; text-align: right;} Ertragsmesszahl der BodenschÀtzung */ 
     
    112114td.fett {font-weight: bold;} 
    113115td.nwlink {min-width: 99px;} /* Link zum Nachweis */ 
     116td.adrlink {min-width: 190px;} /* Link Adresse im Nauwerk */ 
    114117 
    115118/* Kopfzeile, SpaltenÃŒberschrift, GW-Zwischenzeile */ 
     
    142145/* Überschriften */ 
    143146h1, h2, h3, h4, h5, h6 {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;} 
    144 h1 {    color: black;   font-size: 14pt;} 
    145 h2 {    color: maroon;  font-size: 12pt;} 
    146 h3 {    color: green;   font-size: 12pt;} 
    147 h4 {    color: black;   font-size: 11pt;} 
    148 h5 {    color: black;   font-size: 10pt;} 
    149 h6 {    color: black;   font-size:  9pt; margin-top: 2pt; margin: 0pt;} /* FS in Best-NW */ 
     147h1 {color: black;       font-size: 14pt;} 
     148h2 {color: maroon;      font-size: 12pt;} 
     149h3 {color: green;       font-size: 12pt;} 
     150h4 {color: black;       font-size: 11pt;} 
     151h5 {color: black;       font-size: 10pt;} 
     152h6 {color: black;       font-size:  9pt; margin-top: 2pt; margin: 0pt;} /* FS in Best-NW */ 
    150153 
    151154img     {border: 0px; margin: 0px;} /* Icons */ 
     
    156159p.stop2 {font-size: 10pt;} 
    157160 
    158 /* Seitenfuss */ 
     161/* Seitenfuß */ 
    159162.buttonbereich  {font-size: 7pt; text-align: right;} 
    160163.confbereich    {font-size: 7pt; background-color: #F2F2F2; width: 65%; position: relative; left: 50px; border-radius: 12px; padding-right: 26px; margin-top: 20px;} 
  • trunk/info/info/alkisn/alkisbaurecht.php

    r425 r427  
    11<?php 
    22/*      alkisbaurecht.php - Baurecht 
    3         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
    46 
    57        Version: 
     
    1012        2020-12-15 Input-Validation und Strict Comparisation (===) 
    1113        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche) 
     14        2022-01-13 Limit in Variable. Neue Functions LnkStf(), DsKy() 
    1215*/ 
    1316ini_set("session.cookie_httponly", 1); 
     
    4851 
    4952$erlaubnis = darf_ich(); if ($erlaubnis === 0) {die('<p class="stop1">Abbruch</p></body>');} 
    50  
    51 $dbg=$debug; // CONF in Arbeits-Variable 
    52 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
    53 // Wirkt temporÀr und wird nicht in Links weiter gereicht. 
     53$dbg=$debug; 
    5454if ($nodebug === "j") {$dbg=0;}  
    55  
    5655$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbaurecht.php'"); 
    5756if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
     
    8988        $behd=$row["dokumentation"]; 
    9089 
    91         echo "<p class='balken recht'>ALKIS Bau-, Raum- oder Bodenordnungsrecht ".$artfest."-".$verfnr."&nbsp;</p>"; // Balken 
     90        echo "<p class='balken recht'>ALKIS Bau-, Raum- oder Bodenordnungsrecht ".$artfest."-".$verfnr."&nbsp;</p>"; 
    9291        echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>"; 
    9392        echo "\n<table>" 
    9493                ."\n<tr>" 
    95                         ."\n\t<td class='li'>Art der Festlegung:</td>\n\t<td>"; 
    96                         if ($showkey) {echo "<span class='key'>(".$artfest.")</span> ";} 
    97                         echo "<span class='wichtig'>".$row["adfbez"]."</span></td>" 
     94                        ."\n\t<td class='li'>Art der Festlegung:</td>" 
     95                        ."\n\t<td>".DsKy($artfest, '* Art der Festlegung')."<span class='wichtig'>".$row["adfbez"]."</span></td>" 
    9896                ."\n</tr>"; 
    9997                if ($enam != "") { 
     
    109107                        ."\n</tr>"; 
    110108                } 
    111                 if ($stellb != "") { // z.B. Umlegung *mit* und Baulast *ohne* Dienststelle, darum bezirk testen 
     109                if ($stellb != "") { // z.B. Umlegung *mit* und Baulast *ohne* Dienststelle 
    112110                        echo "\n<tr>" 
    113                                 ."\n\t<td class='li'>Dienststelle:</td>\n\t<td>"; 
    114                                         if ($showkey) {echo "<span class='key'>(".$row["stelle"].")</span> ";} 
    115                                         echo $stellb 
    116                                 ."</td>" 
     111                        ."\n\t<td class='li'>Dienststelle:</td>\n\t<td>".DsKy($row["stelle"], 'Dienststelle-*').$stellb."</td>" 
    117112                        ."\n</tr>"; 
    118113                        if ($stella != "") { 
    119114                                echo "\n<tr>" 
    120                                         ."\n\t<td class='li'>Art der Dienststelle:</td>" 
    121                                         ."\n\t<td>"; 
    122                                                 if ($showkey) {echo " <span class='key'>(".$stella.")</span>&nbsp;";} 
    123                                                 echo "<span title='".$behd."'>".$behb."</span>"; 
    124                                         echo "</td>" 
     115                                ."\n\t<td class='li'>Art der Dienststelle:</td>" 
     116                                ."\n\t<td>".DsKy($stella, '* Art der Dienststelle')."<span title='".$behd."'>".$behb."</span>"."</td>" 
    125117                                ."\n</tr>"; 
    126118                        } 
     
    139131."\n<p>Ermittelt durch geometrische Verschneidung. Nach Gr&ouml;&szlig;e absteigend.</p>"; 
    140132 
     133$fslimit=200; 
    141134$sql ="SELECT f.gml_id, g.bezeichnung, f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, round(st_area(ST_Intersection(r.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae  
    142135FROM ax_flurstueck f   
     
    151144        $v=array($gmlid, $filtkreis, $filtgem); 
    152145} 
    153 $sql.="ORDER BY schnittflae DESC LIMIT 100;";  
     146$sql.="ORDER BY schnittflae DESC LIMIT ".$fslimit.";";  
    154147// > 0.0 ist gemeint, Ungenauigkeit durch st_simplify 
    155148// Limit: Flurbereinig. kann groß werden! 
     
    180173                $nen=$row["nenner"]; 
    181174                echo "\n<tr>" 
    182                         ."\n\t<td>"; 
    183                         if ($showkey) {echo "<span class='key'>(".$gmkgnr.")</span> ";} 
    184                         echo $gemarkung."</td>" 
     175                        ."\n\t<td>".DsKy($gmkgnr, 'Gemarkungsnummer').$gemarkung."</td>" 
    185176                        ."\n\t<td>".$row["flurnummer"]."</td>" 
    186177                        ."\n\t<td><span class='wichtig'>".$row["zaehler"]; 
    187                                 if ($nen != "") {echo "/".$nen;} 
     178                        if ($nen != "") {echo "/".$nen;} 
    188179                        echo "</span></td>" 
    189180                        ."\n\t<td class='fla'>".$row["schnittflae"]." m&#178;</td>" 
    190181                        ."\n\t<td class='fla'>".$row["amtlicheflaeche"]." m&#178;</td>" 
    191182                        ."\n\t<td class='nwlink noprint'>" 
    192                                 ."\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$row["gml_id"]."&amp;eig=n' " 
     183                                ."\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$row["gml_id"].LnkStf()."&amp;eig=n' " 
    193184                                        ."title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
    194185                                        ."\n\t\t\t<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
     
    206197        //      if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = ".$gmlid." $2 = ".$filtkreis." $3 = ".$filtgem."</p>";} 
    207198        } 
    208 } elseif ($fscnt === 100) { 
    209         echo "<p>... und weitere Flurst&uuml;cke (Limit 100 erreicht).</p>"; 
     199} elseif ($fscnt >= $fslimit) { 
     200        echo "<p>... und weitere Flurst&uuml;cke (Limit ".$fslimit." erreicht).</p>"; 
    210201} 
    211202 
  • trunk/info/info/alkisn/alkisbauwerk.php

    r425 r427  
    11<?php 
    2 /*      alkisbauwerk.php - Bauwerksdaten 
    3         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    4  
    5         1 Bauwerk im Verkehrsbereich 
    6         2 Bauwerk im GewÀsserbereich 
    7         3 Sonstiges Bauwerk oder sonstige Einrichtung 51009 
    8         4 Bauwerk oder Anlage fÃŒr Industrie und Gewerbe 51002 
    9         5 Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung 51006 
    10         6 Leitung 51005 
    11         7 Transportanlage 51004 
    12         8 Turm 51001 
    13         9 VorratsbehÀlter, Speicherbauwerk 51003 
     2/*      alkisbauwerk.php 
     3 
     4        ALKIS-Buchauskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6  
     7        Bauwerksdaten 
     8 
     9        Typen von Bauwerken (jeweils eigene Tabellen mit unterschiedlicher Struktur): 
     10         1 Bauwerk im Verkehrsbereich 
     11         2 Bauwerk im GewÀsserbereich 
     12         3 Sonstiges Bauwerk oder sonstige Einrichtung 51009 
     13         4 Bauwerk oder Anlage fÃŒr Industrie und Gewerbe 51002 
     14         5 Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung 51006 
     15         6 Leitung 51005 
     16         7 Transportanlage 51004 
     17         8 Turm 51001 
     18         9 VorratsbehÀlter, Speicherbauwerk 51003 
     19        10 Historisches Bauwerk oder historische Einrichtung 51007 
     20        11 Heilquelle, Gasquelle 51008  
     21        12 Einrichtung in öffentlichen Bereichen 51010 
     22        (13 Besonderer Bauwerkspunkt 51011) fehlt noch 
    1423 
    1524        Version: 
    1625        2021-03-11 Neues Modul 
    17         2021-03-17 Korrekturen 
    18         2021-12-09 2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche). Debugging verbessert. 
     26        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche). Debugging verbessert. 
     27        2022-01-13 Neue Functions LnkStf(), DsKy() 
     28        2022-02-23 Neue Bauwerks-Typen 10-12 
    1929 
    2030ToDo: 
    21         - Icon fÃŒr "Bauwerk" machen! ggf. einzeln fÃŒr jede der 9 Arten? 
    22         - 4 weitere Objektarten, bisher nicht verwendet: 
    23         51007 'Historisches Bauwerk oder historische Einrichtung' 
    24         51008 'Heilquelle, Gasquelle' 
    25         51010 'Einrichtung in öffentlichen Bereichen' 
    26         51011 'Besonderer Bauwerkspunkt' 
     31        - Vom Bauwerk ÃŒberlagerte FlurstÃŒcke ÃŒber geom. Verschneidung ermitteln und verlinken. 
     32        - Icon fÃŒr "Bauwerk" machen! Ggf. einzeln fÃŒr jede Art? 
    2733*/ 
    2834 
    29 // Bauwerk (bw) gehört zu (gz) Lage 
    30 // Ein Bauwerk "gehört zu" (Relation) einem GebÀude. Zu diesem GebÀude die Adresse(n) als Tabellen-Zeile ausgeben 
     35// Ein Bauwerk (bw_) "gehört zu" (_gz_) (Relation) einem GebÀude. Zu diesem GebÀude die Lage-Zeilen als Tabellen ausgeben 
    3136function bw_gz_lage($gmlgz) { 
    32         global $gkz, $dbg, $showkey; 
    33          
     37        global $gkz, $dbg; 
    3438        // HAUPTgebÀude  Geb >zeigtAuf> lage (mehrere) 
    3539        $sqlgz ="SELECT 'm' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer, p.bezeichnung as gemeinde " 
     
    3842        ."JOIN ax_gemeinde p ON s.land=p.land AND s.regierungsbezirk=p.regierungsbezirk AND s.kreis=p.kreis AND s.gemeinde=p.gemeinde ".UnqKatAmt("s","p") 
    3943        ."WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; 
    40  
    41         // ++ evtl. keine NEBEN-GebÀude möglich, nur Haupt-? 
    4244        // UNION - oder NEBENgebÀude  Geb >hat> Pseudo 
    4345        $sqlgz.="UNION SELECT 'p' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer, p.bezeichnung as gemeinde " 
     
    4547        ."JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 
    4648        ."JOIN ax_gemeinde p ON s.land=p.land AND s.regierungsbezirk=p.regierungsbezirk AND s.kreis=p.kreis AND s.gemeinde=p.gemeinde ".UnqKatAmt("s","p")       
    47         ."WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL " // ID des Hauses" 
    48         ."ORDER BY bezeichnung, hausnummer, laufendenummer;"; 
     49        ."WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; 
     50 
     51        $sqlgz.="ORDER BY bezeichnung, hausnummer, laufendenummer;"; 
    4952        $v = array($gmlgz); 
    5053        $resgz = pg_prepare("", $sqlgz); 
     
    5255        if (!$resgz) { 
    5356                echo "\n<p class='err'>Fehler bei Lage mit HsNr. zum Bauwerk</p>"; 
    54                 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".str_replace("$1", "'".$gmlgz."'", $sqlgz)."</p>";} 
    55                 if ($dbg > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($resgz)."</p>";} 
     57                if ($dbg > 1) { 
     58                        echo "<p class='dbg'>Fehler:".pg_result_error($resgz)."</p>"; 
     59                        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".str_replace("$1", "'".$gmlgz."'", $sqlgz)."</p>";} 
     60                } 
    5661        } else { 
    57                 echo "\n<tr>"; 
    58                 echo "\n\t<td class='li'>Lage</td>"; 
    59                 echo "\n\t<td class='fett'>"; 
     62                $erst=true; 
    6063                while($rowgz = pg_fetch_assoc($resgz)) { // LOOP: Lagezeilen 
     64                        if ($erst) { 
     65                                echo "\n<tr>\n\t<td class='li'>Lage</td>"; 
     66                                $erst=false; 
     67                        } else { 
     68                                echo "\n<tr>\n\t<td class='li'>&nbsp;</td>"; 
     69                        } 
    6170                        $ltyp=$rowgz["ltyp"]; 
    6271                        $skey=$rowgz["lage"]; 
     
    6574                        $hlfd=$rowgz["laufendenummer"]; 
    6675                        $gmllag=$rowgz["lgml"]; 
    67                         $gemeinde=$rowgz["gemeinde"]; 
    68  
     76                        $gemeinde=htmlentities($rowgz["gemeinde"], ENT_QUOTES, "UTF-8"); 
    6977                        if ($ltyp === "p") { 
    70                                 $lagetitl="NebengebÀude Nr. ".$hlfd; 
     78                                $lagetitl="Nebengeb&auml;ude Nr. ".$hlfd; 
    7179                                $lagetxt=$snam." ".$hsnr." (".$hlfd."), ".$gemeinde; 
    7280                        } else { 
    73                                 $lagetitl="HauptgebÀude - Hausnummer ".$hsnr; 
     81                                $lagetitl="HauptgebÀude - HsNr. ".$hsnr; 
    7482                                $lagetxt=$snam." ".$hsnr.", ".$gemeinde; 
    7583                        } 
    76  
    77                         echo "\n\t\t<a title='".$lagetitl."' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp; 
    78                                 if ($showkey) {echo "&amp;showkey=j";} 
    79                                 echo "'>"; 
    80                                 if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";} 
    81                         echo $lagetxt."&nbsp;<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;"; 
    82                 } 
    83                 echo "</td>"; 
    84                 echo "\n\t<td>"; 
    85                 echo "\n\t\t<p class='erkli'>Das Haus hat die Adresse ".$lagetitl."</p>"; 
    86                 echo "\n\t</td>\n</tr>"; 
     84                        echo "\n\t<td class='adrlink'><a title='".$lagetitl."' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp.LnkStf()."'>" 
     85                        .DsKy($skey, 'Stra&szlig;en-*').$lagetxt."&nbsp;<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;"; 
     86                        echo "</td>\n\t<td><p class='erkli'>Adresse: ".$lagetitl."</p></td>\n</tr>"; 
     87                } 
    8788                pg_free_result($resgz); 
    8889        } 
     
    119120                        $titel='Bezeichnung'; 
    120121                break;   
    121         // 1 Verk. 
    122                 case 'durchfahrtshoehe': 
     122                case 'durchfahrtshoehe': // 1 
    123123                        $titel='Durchfahrtsh&ouml;he'; 
    124124                        $einh=' m'; 
    125125                break;   
    126         // 6 Leitung 
    127                 case 'spannungsebene': 
     126                case 'spannungsebene': // 6 
    128127                        $titel='Spannungsebene'; 
    129128                        $einh=' KV'; 
    130129                break; 
    131         // 7 Transport 
    132                 case 'produkt': 
     130                case 'produkt': // 7 
    133131                        $titel='Produkt'; 
    134132                break; 
    135         // Fehler 
     133                case 'kilometerangabe': // 12 
     134                        $titel='Kilometerangabe'; 
     135                        $einh=' KM'; 
     136                break; 
    136137                default: // noch nicht berÃŒcksichtigt 
    137138                        if ($dbg > 1) {echo "<p class='dbg'>Der Feldname ".$col." ist in function zusatz_spalte noch nicht ber&uuml;cksichtigt.</p>";} 
    138139                        $titel=$col; 
    139140        } 
    140  
    141141        if ($inhalt != '') {$inhalt.=$einh;} 
    142142        tab_zeile($titel, '', $inhalt, '', ''); 
     
    156156//      if ($dbg > 1) {echo "<p>Verweis Typ '".$col."' auf Objekt(e): '".$inhalt."'.</p>";} 
    157157        switch ($col) { 
    158                 case 'hatdirektunten': // [] ++ Wie kann man dies Objekt finden? 
     158                case 'hatdirektunten': // [] In welcher Tabelle kann man dies Objekt finden? 
    159159                        $olist=''; 
    160160                        $arrhdu=explode(",", trim($inhalt, "{}")); 
     
    167167                                verweis_zeile('Haus', '', 'Das Bauwerk geh&ouml;rt zum Haus'); 
    168168                        } else { 
    169                                 $link="\n\t\t<a title='geh&ouml;rt zu' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$inhalt; 
    170                                 if ($showkey) {$link.="&amp;showkey=j";} 
    171                                 $link.="'>Haus&nbsp;<img src='ico/Haus.png' width='16' height='16' alt=''></a>"; 
     169                                $link="\n\t\t<a title='geh&ouml;rt zu' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$inhalt.LnkStf() 
     170                                ."'>Haus&nbsp;<img src='ico/Haus.png' width='16' height='16' alt=''></a>"; 
    172171                                verweis_zeile('Haus', $link, 'Das Bauwerk geh&ouml;rt zum Haus'); 
    173172                                bw_gz_lage($inhalt);                             
     
    182181 
    183182// S T A R T 
    184  
    185183ini_set("session.cookie_httponly", 1); 
    186184session_start(); 
     
    199197        die("Fehlender Parameter"); 
    200198} 
    201 if (!preg_match('#^[1-9]{1}$#', $btyp)) {die("Eingabefehler btyp");} // Bauwerks-Typ = Tabelle 
     199if (!preg_match('#^[0-9]{1,2}$#', $btyp)) {die("Eingabefehler btyp");} // Bauwerks-Typ = Tabelle 
    202200if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
    203201if ($showkey === "j") {$showkey=true;} else {$showkey=false;} 
     
    224222 
    225223$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    226 $dbg=$debug; // CONF in Arbeits-Variable 
    227 if ($nodebug === "j") {$dbg=0;} // Entwicklungsumgebung temporÀr ausschalten 
     224$dbg=$debug; 
     225if ($nodebug === "j") {$dbg=0;} 
    228226 
    229227$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbauwerk.php'"); 
    230228if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    231229 
    232 // Konstanten fÃŒr Sortierung und Gruppierung 
     230// Konstanten fÃŒr Sortierung und Gruppierung nach Bauwerks-Typen 
    233231$btyp_verkehr=1; $btyp_gewaesser=2; $btyp_sonst=3; $btyp_indu=4; $btyp_sport=5; 
    234232$btyp_leitg=6; $btyp_trans=7; $btyp_turm=8; $btyp_vorrat=9; 
     233$btyp_hist=10; $btyp_heil=11; $btyp_oeff=12; $btyp_bpkt=13; 
    235234 
    236235/* in ALLEN Bauwerks-Typen folgende Spalten, bisher NICHT verwendet: 
     
    244243        3. sqlz: ZusÀtzliche Spalten, individuell je Objektart (einfache Werte-Darstellung) 
    245244        4. sqlr: Relationen zu anderen Objektarten */ 
     245$WH=" WHERE b".$btyp.".gml_id = $1 AND b".$btyp.".endet IS NULL;"; // WHERE-Clause (mehrfach je Typ verwendet) 
    246246switch ($btyp) { 
    247          
     247 
    248248case $btyp_verkehr:     // 1 - V e r k e h r 
     249        $FR=" FROM ax_bauwerkimverkehrsbereich b1 "; // FROM-Clause (mehrfach je Typ verwendet) 
    249250        $btyptitle='Bauwerk im Verkehrsbereich'; 
    250         $sqlb="SELECT b1.bauwerksfunktion, k1.beschreibung, k1.dokumentation, b1.name, b1.statement, GeometryType(b1.wkb_geometry) as bgeotyp, round(st_area(b1.wkb_geometry)::numeric,2) AS flae 
    251  FROM ax_bauwerkimverkehrsbereich b1 LEFT JOIN ax_bauwerksfunktion_bauwerkimverkehrsbereich k1 ON b1.bauwerksfunktion=k1.wert  
    252  WHERE b1.gml_id = $1 AND b1.endet IS NULL;"; 
    253         $sqlk="SELECT b1.zustand, k1.beschreibung, k1.dokumentation 
    254  FROM ax_bauwerkimverkehrsbereich b1 LEFT JOIN ax_zustand_bauwerkimverkehrsbereich k1 ON b1.zustand=k1.wert  
    255  WHERE b1.gml_id = $1 AND b1.endet IS NULL;"; 
    256         $sqlz="SELECT b1.bezeichnung, b1.breitedesobjekts, b1.durchfahrtshoehe FROM ax_bauwerkimverkehrsbereich b1 WHERE b1.gml_id = $1 AND b1.endet IS NULL;"; 
    257         $sqlr="SELECT b1.hatdirektunten FROM ax_bauwerkimverkehrsbereich b1 WHERE b1.gml_id = $1 AND b1.endet IS NULL;"; 
     251        $sqlb="SELECT b1.bauwerksfunktion, k1.beschreibung, k1.dokumentation, b1.name, b1.statement, GeometryType(b1.wkb_geometry) as bgeotyp, round(st_area(b1.wkb_geometry)::numeric,2) AS flae" 
     252        .$FR."LEFT JOIN ax_bauwerksfunktion_bauwerkimverkehrsbereich k1 ON b1.bauwerksfunktion=k1.wert".$WH; 
     253        $sqlk="SELECT b1.zustand, k1.beschreibung, k1.dokumentation".$FR."LEFT JOIN ax_zustand_bauwerkimverkehrsbereich k1 ON b1.zustand=k1.wert".$WH; 
     254        $sqlz="SELECT b1.bezeichnung, b1.breitedesobjekts, b1.durchfahrtshoehe".$FR.$WH; 
     255        $sqlr="SELECT b1.hatdirektunten".$FR.$WH; 
    258256break; 
    259257 
    260258case $btyp_gewaesser:   // 2 - G e w À s s e r 
     259        $FR=" FROM ax_bauwerkimgewaesserbereich b2 "; 
    261260        $btyptitle='Bauwerk im GewÀsserbereich'; 
    262         $sqlb="SELECT b2.bauwerksfunktion, ug.beschreibung, ug.dokumentation, b2.name, b2.statement, GeometryType(b2.wkb_geometry) as bgeotyp, round(st_area(b2.wkb_geometry)::numeric,2) AS flae 
    263  FROM ax_bauwerkimgewaesserbereich b2 LEFT JOIN ax_bauwerksfunktion_bauwerkimgewaesserbereich ug ON b2.bauwerksfunktion=ug.wert  
    264  WHERE b2.gml_id = $1 AND b2.endet IS NULL;"; 
    265         $sqlk="SELECT b2.zustand, k2.beschreibung, k2.dokumentation 
    266  FROM ax_bauwerkimgewaesserbereich b2 LEFT JOIN ax_zustand_bauwerkimgewaesserbereich k2 ON b2.zustand=k2.wert  
    267  WHERE b2.gml_id = $1 AND b2.endet IS NULL;"; 
    268         $sqlz="SELECT b2.bezeichnung FROM ax_bauwerkimgewaesserbereich b2 WHERE b2.gml_id = $1 AND b2.endet IS NULL;"; 
    269         $sqlr="SELECT b2.hatdirektunten FROM ax_bauwerkimgewaesserbereich b2 WHERE b2.gml_id = $1 AND b2.endet IS NULL;"; 
     261        $sqlb="SELECT b2.bauwerksfunktion, ug.beschreibung, ug.dokumentation, b2.name, b2.statement, GeometryType(b2.wkb_geometry) as bgeotyp, round(st_area(b2.wkb_geometry)::numeric,2) AS flae" 
     262        .$FR."LEFT JOIN ax_bauwerksfunktion_bauwerkimgewaesserbereich ug ON b2.bauwerksfunktion=ug.wert".$WH; 
     263        $sqlk="SELECT b2.zustand, k2.beschreibung, k2.dokumentation".$FR."LEFT JOIN ax_zustand_bauwerkimgewaesserbereich k2 ON b2.zustand=k2.wert".$WH; 
     264        $sqlz="SELECT b2.bezeichnung".$FR.$WH; 
     265        $sqlr="SELECT b2.hatdirektunten".$FR.$WH; 
    270266break; 
    271267 
    272268case $btyp_sonst:       // 3 - S o n s t i g e  Bauwerke 
     269        $FR=" FROM ax_sonstigesbauwerkodersonstigeeinrichtung b3 "; 
    273270        $btyptitle='Sonstiges Bauwerk oder sonstige Einrichtung'; 
    274         $sqlb="SELECT b3.bauwerksfunktion, k3.beschreibung, k3.dokumentation, b3.name, b3.statement, 
    275  GeometryType(b3.wkb_geometry) as bgeotyp, round(st_area(b3.wkb_geometry)::numeric,2) AS flae 
    276  FROM ax_sonstigesbauwerkodersonstigeeinrichtung b3 LEFT JOIN ax_bauwerksfunktion_sonstigesbauwerkodersonstigeeinrichtun k3 ON b3.bauwerksfunktion=k3.wert  
    277  WHERE b3.gml_id = $1 AND b3.endet IS NULL;"; 
    278         $sqlk="SELECT b3.funktion, k3.beschreibung AS beschr, k3.dokumentation AS doku, b3.hydrologischesmerkmal, hm.beschreibung AS hmbeschr, hm.dokumentation AS hmdoku 
    279  FROM ax_sonstigesbauwerkodersonstigeeinrichtung b3  
    280  LEFT JOIN ax_funktion_bauwerk k3 ON b3.funktion=k3.wert  
    281  LEFT JOIN ax_hydrologischesmerkmal_sonstigesbauwerkodersonstigeeinri hm ON b3.hydrologischesmerkmal=hm.wert  
    282  WHERE b3.gml_id = $1 AND b3.endet IS NULL;"; 
    283         $sqlz="SELECT b3.bezeichnung, b3.objekthoehe FROM ax_sonstigesbauwerkodersonstigeeinrichtung b3 WHERE b3.gml_id = $1 AND b3.endet IS NULL;"; 
    284         $sqlr="SELECT b3.hatdirektunten, b3.gehoertzu FROM ax_sonstigesbauwerkodersonstigeeinrichtung b3 WHERE b3.gml_id = $1 AND b3.endet IS NULL;"; 
    285          
    286 /*  gehoertzubauwerk_ax_sonstigesbauwerkodersonstigeeinrichtun  
    287     gehoertzubauwerk_ax_bauwerkoderanlagefuersportfreizeitunde  
    288     gehoertzubauwerk_ax_leitung  
    289     gehoertzubauwerk_ax_bauwerkoderanlagefuerindustrieundgewer  
    290     gehoertzubauwerk_ax_einrichtunginoeffentlichenbereichen  
    291     gehoertzubauwerk_ax_heilquellegasquelle  
    292     gehoertzubauwerk_ax_historischesbauwerkoderhistorischeeinr  
    293     gehoertzubauwerk_ax_turm  
    294     gehoertzubauwerk_ax_vorratsbehaelterspeicherbauwerk  
    295     gehoertzubauwerk_ax_transportanlage  
    296     gehoertzubauwerk_ax_wegpfadsteig  
    297     gehoertzubauwerk_ax_gleis  
    298     gehoertzubauwerk_ax_bahnverkehrsanlage  
    299     gehoertzubauwerk_ax_bauwerkimgewaesserbereich  
    300     gehoertzubauwerk_ax_strassenverkehrsanlage  
    301     gehoertzubauwerk_ax_seilbahnschwebebahn  
    302     gehoertzubauwerk_ax_einrichtungenfuerdenschiffsverkehr  
    303     gehoertzubauwerk_ax_bauwerkimverkehrsbereich  
    304     gehoertzubauwerk_ax_flugverkehrsanlage  
    305     gehoertzubauwerk_ax_gewaesserstationierungsachse  
    306     gehoertzubauwerk_ax_sickerstrecke  
    307     gehoertzubauwerk_ax_schifffahrtsliniefaehrverkehr  
    308     gehoertzubauwerk_ax_wasserspiegelhoehe  
    309     gehoertzubauwerk_ax_abschnitt  
    310     gehoertzubauwerk_ax_ast  
    311     gehoertzubauwerk_ax_netzknoten  
    312     gehoertzubauwerk_ax_nullpunkt  
    313     gehoertzubauwerk_ax_hafen  
    314     gehoertzubauwerk_ax_testgelaende  
    315     gehoertzubauwerk_ax_schleuse  
    316     gehoertzubauwerk_ax_ortslage  
    317     gehoertzubauwerk_ax_grenzuebergang  
    318     gehoertzubauwerk_ax_polder  
    319     gehoertzubauwerk_ax_gewaessermerkmal  
    320     gehoertzubauwerk_ax_untergeordnetesgewaesser  
    321     gehoertzubauwerk_ax_vegetationsmerkmal */  
     271        $sqlb="SELECT b3.bauwerksfunktion, k3.beschreibung, k3.dokumentation, b3.name, b3.statement, GeometryType(b3.wkb_geometry) as bgeotyp, round(st_area(b3.wkb_geometry)::numeric,2) AS flae" 
     272        .$FR."LEFT JOIN ax_bauwerksfunktion_sonstigesbauwerkodersonstigeeinrichtun k3 ON b3.bauwerksfunktion=k3.wert".$WH; 
     273        $sqlk="SELECT b3.funktion, k3.beschreibung, k3.dokumentation, b3.hydrologischesmerkmal, hm.beschreibung AS hmbeschr, hm.dokumentation AS hmdoku" 
     274        .$FR."LEFT JOIN ax_funktion_bauwerk k3 ON b3.funktion=k3.wert " 
     275        ." LEFT JOIN ax_hydrologischesmerkmal_sonstigesbauwerkodersonstigeeinri hm ON b3.hydrologischesmerkmal=hm.wert".$WH; 
     276        $sqlz="SELECT b3.bezeichnung, b3.objekthoehe".$FR.$WH; 
     277        $sqlr="SELECT b3.hatdirektunten, b3.gehoertzu".$FR.$WH; 
    322278break; 
    323279 
    324280case $btyp_indu:        // 4 - Bauwerk oder Anlage fÃŒr  I n d u s t r i e  und Gewerbe 
     281        $FR=" FROM ax_bauwerkoderanlagefuerindustrieundgewerbe b4 "; 
    325282        $btyptitle="Bauwerk oder Anlage fÃŒr Industrie und Gewerbe"; 
    326         $sqlb="SELECT b4.bauwerksfunktion, k4.beschreibung, k4.dokumentation, b4.name, b4.statement, GeometryType(b4.wkb_geometry) as bgeotyp, round(st_area(b4.wkb_geometry)::numeric,2) AS flae 
    327  FROM ax_bauwerkoderanlagefuerindustrieundgewerbe b4 LEFT JOIN ax_bauwerksfunktion_bauwerkoderanlagefuerindustrieundgewer k4 ON b4.bauwerksfunktion=k4.wert  
    328  WHERE b4.gml_id = $1 AND b4.endet IS NULL;"; 
    329         $sqlk="SELECT b4.zustand, k4.beschreibung, k4.dokumentation 
    330  FROM ax_bauwerkoderanlagefuerindustrieundgewerbe b4 LEFT JOIN ax_zustand_bauwerkoderanlagefuerindustrieundgewerbe k4 ON b4.zustand=k4.wert  
    331  WHERE b4.gml_id = $1 AND b4.endet IS NULL;"; 
    332         $sqlz="SELECT b4.bezeichnung, b4.objekthoehe FROM ax_bauwerkoderanlagefuerindustrieundgewerbe b4 WHERE b4.gml_id = $1 AND b4.endet IS NULL;"; 
    333         $sqlr="SELECT b4.hatdirektunten FROM ax_bauwerkoderanlagefuerindustrieundgewerbe b4 WHERE b4.gml_id = $1 AND b4.endet IS NULL;"; 
     283        $sqlb="SELECT b4.bauwerksfunktion, k4.beschreibung, k4.dokumentation, b4.name, b4.statement, GeometryType(b4.wkb_geometry) as bgeotyp, round(st_area(b4.wkb_geometry)::numeric,2) AS flae" 
     284        .$FR."LEFT JOIN ax_bauwerksfunktion_bauwerkoderanlagefuerindustrieundgewer k4 ON b4.bauwerksfunktion=k4.wert".$WH; 
     285        $sqlk="SELECT b4.zustand, k4.beschreibung, k4.dokumentation" 
     286        .$FR."LEFT JOIN ax_zustand_bauwerkoderanlagefuerindustrieundgewerbe k4 ON b4.zustand=k4.wert".$WH; 
     287        $sqlz="SELECT b4.bezeichnung, b4.objekthoehe".$FR.$WH; 
     288        $sqlr="SELECT b4.hatdirektunten".$FR.$WH; 
    334289break; 
    335290 
    336291case $btyp_sport:       // 5 - Bauwerk oder Anlage fÃŒr  S p o r t , Freizeit und Erholung 
     292        $FR=" FROM ax_bauwerkoderanlagefuersportfreizeitunderholung b5 "; 
    337293        $btyptitle="Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung"; 
    338         $sqlb="SELECT b5.bauwerksfunktion, k5.beschreibung, k5.dokumentation, b5.name, b5.statement, GeometryType(b5.wkb_geometry) as bgeotyp, round(st_area(b5.wkb_geometry)::numeric,2) AS flae 
    339  FROM ax_bauwerkoderanlagefuersportfreizeitunderholung b5 LEFT JOIN ax_bauwerksfunktion_bauwerkoderanlagefuersportfreizeitunde k5 ON b5.bauwerksfunktion=k5.wert  
    340  WHERE b5.gml_id = $1 AND b5.endet IS NULL;"; 
    341         $sqlk="SELECT b5.sportart, k5.beschreibung, k5.dokumentation 
    342  FROM ax_bauwerkoderanlagefuersportfreizeitunderholung b5 LEFT JOIN ax_sportart_bauwerkoderanlagefuersportfreizeitunderholung k5 ON b5.sportart=k5.wert  
    343  WHERE b5.gml_id = $1 AND b5.endet IS NULL;"; 
    344         $sqlz="SELECT b5.breitedesobjekts FROM ax_bauwerkoderanlagefuersportfreizeitunderholung b5 WHERE b5.gml_id = $1 AND b5.endet IS NULL;"; 
    345         $sqlr="SELECT b5.hatdirektunten FROM ax_bauwerkoderanlagefuersportfreizeitunderholung b5 WHERE b5.gml_id = $1 AND b5.endet IS NULL;"; 
     294        $sqlb="SELECT b5.bauwerksfunktion, k5.beschreibung, k5.dokumentation, b5.name, b5.statement, GeometryType(b5.wkb_geometry) as bgeotyp, round(st_area(b5.wkb_geometry)::numeric,2) AS flae" 
     295        .$FR."LEFT JOIN ax_bauwerksfunktion_bauwerkoderanlagefuersportfreizeitunde k5 ON b5.bauwerksfunktion=k5.wert".$WH; 
     296        $sqlk="SELECT b5.sportart, k5.beschreibung, k5.dokumentation" 
     297        .$FR."LEFT JOIN ax_sportart_bauwerkoderanlagefuersportfreizeitunderholung k5 ON b5.sportart=k5.wert".$WH; 
     298        $sqlz="SELECT b5.breitedesobjekts".$FR.$WH; 
     299        $sqlr="SELECT b5.hatdirektunten".$FR.$WH; 
    346300break; 
    347301 
    348302case $btyp_leitg:       // 6 - L e i t u n g 
     303        $FR=" FROM ax_leitung b6 "; 
    349304        $btyptitle="Leitung"; 
    350         $sqlb="SELECT b6.bauwerksfunktion, k6.beschreibung, k6.dokumentation, b6.name, b6.statement, GeometryType(b6.wkb_geometry) as bgeotyp, round(st_area(b6.wkb_geometry)::numeric,2) AS flae 
    351  FROM ax_leitung b6 LEFT JOIN ax_bauwerksfunktion_leitung k6 ON b6.bauwerksfunktion=k6.wert  
    352  WHERE b6.gml_id = $1 AND b6.endet IS NULL;";    
     305        $sqlb="SELECT b6.bauwerksfunktion, k6.beschreibung, k6.dokumentation, b6.name, b6.statement, GeometryType(b6.wkb_geometry) as bgeotyp, round(st_area(b6.wkb_geometry)::numeric,2) AS flae" 
     306        .$FR."LEFT JOIN ax_bauwerksfunktion_leitung k6 ON b6.bauwerksfunktion=k6.wert".$WH;      
    353307        $sqlk=""; 
    354         $sqlz="SELECT b6.spannungsebene FROM ax_leitung b6 WHERE b6.gml_id = $1 AND b6.endet IS NULL;"; 
    355         $sqlr="SELECT b6.hatdirektunten FROM ax_leitung b6 WHERE b6.gml_id = $1 AND b6.endet IS NULL;"; 
     308        $sqlz="SELECT b6.spannungsebene".$FR.$WH; 
     309        $sqlr="SELECT b6.hatdirektunten".$FR.$WH; 
    356310break; 
    357311 
    358312case $btyp_trans:       // 7 - T r a n s p o r t a n l a g e 
     313        $FR=" FROM ax_transportanlage b7 "; 
    359314        $btyptitle="Transportanlage"; 
    360         $sqlb="SELECT b7.bauwerksfunktion, k7.beschreibung, k7.dokumentation, NULL AS name, b7.statement, GeometryType(b7.wkb_geometry) as bgeotyp, round(st_area(b7.wkb_geometry)::numeric,2) AS flae 
    361  FROM ax_transportanlage b7 LEFT JOIN ax_bauwerksfunktion_transportanlage k7 ON b7.bauwerksfunktion=k7.wert  
    362  WHERE b7.gml_id = $1 AND b7.endet IS NULL;"; 
    363         $sqlk="SELECT b7.lagezurerdoberflaeche, k7.beschreibung, k7.dokumentation 
    364  FROM ax_transportanlage b7 LEFT JOIN ax_lagezurerdoberflaeche_transportanlage k7 ON b7.lagezurerdoberflaeche=k7.wert  
    365  WHERE b7.gml_id = $1 AND b7.endet IS NULL;"; 
    366         $sqlz="SELECT b7.produkt FROM ax_transportanlage b7 WHERE b7.gml_id = $7 AND b7.endet IS NULL;"; 
    367         $sqlr="SELECT b7.hatdirektunten FROM ax_transportanlage b7 WHERE b7.gml_id = $1 AND b7.endet IS NULL;"; 
     315        $sqlb="SELECT b7.bauwerksfunktion, k7.beschreibung, k7.dokumentation, b7.statement, GeometryType(b7.wkb_geometry) as bgeotyp, round(st_area(b7.wkb_geometry)::numeric,2) AS flae" 
     316        .$FR."LEFT JOIN ax_bauwerksfunktion_transportanlage k7 ON b7.bauwerksfunktion=k7.wert".$WH; 
     317        $sqlk="SELECT b7.lagezurerdoberflaeche, k7.beschreibung, k7.dokumentation" 
     318        .$FR."LEFT JOIN ax_lagezurerdoberflaeche_transportanlage k7 ON b7.lagezurerdoberflaeche=k7.wert".$WH; 
     319        $sqlz="SELECT b7.produkt".$FR.$WH; 
     320        $sqlr="SELECT b7.hatdirektunten".$FR.$WH; 
    368321break; 
    369322 
    370323case $btyp_turm:        // 8 - T u r m  (Sonderfall Array) 
     324        $FR=" FROM ax_turm b8 "; 
    371325        $btyptitle="Turm"; 
    372         $sqlb="SELECT k8.wert AS bauwerksfunktion, k8.beschreibung, k8.dokumentation, b8.name, b8.statement, GeometryType(b8.wkb_geometry) as bgeotyp, round(st_area(b8.wkb_geometry)::numeric,2) AS flae 
    373  FROM ax_turm b8 LEFT JOIN ax_bauwerksfunktion_turm k8 ON k8.wert =ANY(b8.bauwerksfunktion) 
    374  WHERE b8.gml_id = $1 AND b8.endet IS NULL;"; 
    375         $sqlk="SELECT b8.zustand, k8.beschreibung, k8.dokumentation 
    376  FROM ax_turm b8 LEFT JOIN ax_zustand_turm k8 ON b8.zustand=k8.wert  
    377  WHERE b8.gml_id = $1 AND b8.endet IS NULL;"; 
    378         $sqlz="SELECT b8.objekthoehe FROM ax_turm b8 WHERE b8.gml_id = $1 AND b8.endet IS NULL;"; 
    379         $sqlr="SELECT b8.hatdirektunten, b8.zeigtauf FROM ax_turm b8 WHERE b8.gml_id = $1 AND b8.endet IS NULL;"; 
     326        $sqlb="SELECT k8.wert AS bauwerksfunktion, k8.beschreibung, k8.dokumentation, b8.name, b8.statement, GeometryType(b8.wkb_geometry) as bgeotyp, round(st_area(b8.wkb_geometry)::numeric,2) AS flae" 
     327        .$FR."LEFT JOIN ax_bauwerksfunktion_turm k8 ON k8.wert =ANY(b8.bauwerksfunktion)".$WH; 
     328        $sqlk="SELECT b8.zustand, k8.beschreibung, k8.dokumentation" 
     329        .$FR."LEFT JOIN ax_zustand_turm k8 ON b8.zustand=k8.wert".$WH; 
     330        $sqlz="SELECT b8.objekthoehe".$FR.$WH; 
     331        $sqlr="SELECT b8.hatdirektunten, b8.zeigtauf".$FR.$WH; 
    380332break; 
    381333 
    382334case $btyp_vorrat:      // 9 -  V o r r a t s b e h À l t e r ,  S p e i c h e r b a u w e r k 
     335        $FR=" FROM ax_vorratsbehaelterspeicherbauwerk b9 "; 
    383336        $btyptitle="VorratsbehÀlter, Speicherbauwerk"; 
    384         $sqlb="SELECT b9.bauwerksfunktion, k9.beschreibung, k9.dokumentation, b9.name, b9.statement, GeometryType(b9.wkb_geometry) as bgeotyp, round(st_area(b9.wkb_geometry)::numeric,2) AS flae 
    385  FROM ax_vorratsbehaelterspeicherbauwerk b9 LEFT JOIN ax_bauwerksfunktion_vorratsbehaelterspeicherbauwerk k9 ON b9.bauwerksfunktion=k9.wert  
    386  WHERE b9.gml_id = $1 AND b9.endet IS NULL;"; 
     337        $sqlb="SELECT b9.bauwerksfunktion, k9.beschreibung, k9.dokumentation, b9.name, b9.statement, GeometryType(b9.wkb_geometry) as bgeotyp, round(st_area(b9.wkb_geometry)::numeric,2) AS flae" 
     338        .$FR."LEFT JOIN ax_bauwerksfunktion_vorratsbehaelterspeicherbauwerk k9 ON b9.bauwerksfunktion=k9.wert".$WH; 
    387339        $sqlk="SELECT b9.lagezurerdoberflaeche, k9.beschreibung, k9.dokumentation,  
    388          b9.speicherinhalt, sp9.beschreibung AS spbes, sp9.dokumentation AS spdok 
    389  FROM ax_vorratsbehaelterspeicherbauwerk b9  
    390  LEFT JOIN ax_lagezurerdoberflaeche_vorratsbehaelterspeicherbauwerk k9 ON b9.lagezurerdoberflaeche=k9.wert  
    391  LEFT JOIN ax_speicherinhalt_vorratsbehaelterspeicherbauwerk sp9 ON b9.speicherinhalt=sp9.wert  
    392  WHERE b9.gml_id = $1 AND b9.endet IS NULL;"; 
    393         $sqlz="SELECT b9.objekthoehe FROM ax_vorratsbehaelterspeicherbauwerk b9 WHERE b9.gml_id = $1 AND b9.endet IS NULL;"; 
    394         $sqlr="SELECT b9.hatdirektunten FROM ax_vorratsbehaelterspeicherbauwerk b9 WHERE b9.gml_id = $1 AND b9.endet IS NULL;"; 
    395 break; 
     340         b9.speicherinhalt, sp9.beschreibung AS spbes, sp9.dokumentation AS spdok" 
     341        .$FR."LEFT JOIN ax_lagezurerdoberflaeche_vorratsbehaelterspeicherbauwerk k9 ON b9.lagezurerdoberflaeche=k9.wert  
     342 LEFT JOIN ax_speicherinhalt_vorratsbehaelterspeicherbauwerk sp9 ON b9.speicherinhalt=sp9.wert".$WH; 
     343        $sqlz="SELECT b9.objekthoehe".$FR.$WH; 
     344        $sqlr="SELECT b9.hatdirektunten".$FR.$WH; 
     345break; 
     346 
     347case $btyp_hist: // 10 - H i s t o r i s c h e s  Bauwerk oder historische Einrichtung 
     348        $FR=" FROM ax_historischesbauwerkoderhistorischeeinrichtung b10 "; 
     349        $btyptitle="Historisches Bauwerk oder historische Einrichtung"; 
     350        $sqlb="SELECT b10.name, b10.statement, GeometryType(b10.wkb_geometry) as bgeotyp, round(st_area(b10.wkb_geometry)::numeric,2) AS flae".$FR.$WH; 
     351        $sqlk="SELECT b10.archaeologischertyp, k10.beschreibung, k10.dokumentation" 
     352        .$FR."LEFT JOIN ax_archaeologischertyp_historischesbauwerkoderhistorischee k10 ON b10.archaeologischertyp=k10.wert".$WH; 
     353        $sqlz=""; 
     354        $sqlr="SELECT b10.hatdirektunten".$FR.$WH; 
     355break; 
     356 
     357case $btyp_heil: // 11 - H e i l q u e l l e ,  G a s q u e l l e 
     358        $FR=" FROM ax_heilquellegasquelle b11 "; 
     359        $btyptitle="Heilquelle, Gasquelle"; 
     360        $sqlb="SELECT b11.name, b11.statement, GeometryType(b11.wkb_geometry) as bgeotyp, round(st_area(b11.wkb_geometry)::numeric,2) AS flae".$FR.$WH; 
     361        $sqlk="SELECT b11.art, k11.beschreibung, k11.dokumentation, " 
     362        ."b11.hydrologischesmerkmal, hm.beschreibung AS hmbes, hm.dokumentation AS hmdok".$FR 
     363        ."LEFT JOIN ax_art_heilquellegasquelle k11 ON b11.art=k11.wert " 
     364        ."LEFT JOIN ax_hydrologischesmerkmal_heilquellegasquelle hm ON b11.hydrologischesmerkmal=hm.wert".$WH; 
     365        $sqlz=""; 
     366        $sqlr="SELECT b11.hatdirektunten ".$FR.$WH; 
     367break; 
     368 
     369case $btyp_oeff: // 12 - Einrichtung in  ö f f e n t l i c h e n  Bereichen 
     370        $FR=" FROM ax_einrichtunginoeffentlichenbereichen b12 "; 
     371        $btyptitle="Einrichtung in &ouml;ffentlichen Bereichen"; 
     372        $sqlb="SELECT b12.statement, GeometryType(b12.wkb_geometry) as bgeotyp, round(st_area(b12.wkb_geometry)::numeric,2) AS flae".$FR.$WH; 
     373        $sqlk="SELECT b12.art, k12.beschreibung, k12.dokumentation".$FR 
     374        ."LEFT JOIN ax_art_einrichtunginoeffentlichenbereichen k12 ON b12.art=k12.wert".$WH; 
     375        $sqlz="SELECT b12.kilometerangabe".$FR.$WH; 
     376        $sqlr="SELECT b12.hatdirektunten ".$FR.$WH; 
     377break; 
     378/* 
     379case $btyp_bpkt: // 13 - Besonderer Bauwerkspunkt (ohne Geom.) 
     380        $FR=" FROM ax_besondererbauwerkspunkt b13 "; 
     381        $btyptitle="Besonderer Bauwerkspunkt"; 
     382//  punktkennung, sonstigeeigenschaft, zustaendigestelle_land, zustaendigestelle_stelle 
     383break; */ 
    396384 
    397385default: 
    398         die('<p class="stop1">Fehler showkey</p></body>'); 
    399 break; 
    400 } 
    401  
    402 // 1. sqlb: Standard-Spalten, die bei jedem Typ vorhanden sind 
     386        die('<p class="stop1">Falscher Bauwerkstyp.</p></body>'); 
     387break; 
     388} 
     389 
     390// 1. sqlb: Standard-Spalten, die bei (fast) jedem Typ vorhanden sind 
    403391$v=array($gmlid); 
    404392$resb=pg_prepare("", $sqlb); 
     
    423411        } else { // Treffer 
    424412                // Seitenkopf 
    425                 echo "<p class='balken bauwerk".$btyp."'>ALKIS Bauwerk ".$btyp." - ".$gmlid."&nbsp;</p>"; // Balken, Farbe wie WMS 
    426                 echo "\n<h2>".$btyptitle."</h2>"; 
    427                 echo "\n<p class='nwlink noprint'>"; // Umschalter: auch leere Felder 
    428                 echo "Umschalten: <a class='nwlink' href='".selbstverlinkung()."?gkz=".$gkz."&amp;btyp=".$btyp."&amp;gmlid=".$gmlid; 
    429                         if ($showkey) {echo "&amp;showkey=j";} else {echo "&amp;showkey=n";} 
    430                         if ($allefelder) { 
    431                                 echo "&amp;allfld=n'>nur Felder mit Inhalt"; 
    432                         } else { 
    433                                 echo "&amp;allfld=j'>auch leere Felder"; 
    434                         } 
     413                echo "<p class='balken bauwerk".$btyp."'>ALKIS Bauwerk ".$btyp." - ".$gmlid."&nbsp;</p>" // Balken, Farbe wie WMS 
     414                ."\n<h2>".$btyptitle."</h2>" 
     415                ."\n<p class='nwlink noprint'>" // Umschalter: auch leere Felder 
     416                ."Umschalten: <a class='nwlink' href='".selbstverlinkung()."?gkz=".$gkz."&amp;btyp=".$btyp."&amp;gmlid=".$gmlid.LnkStf(); 
     417                if ($allefelder) { 
     418                        echo "&amp;allfld=n'>nur Felder mit Inhalt"; 
     419                } else { 
     420                        echo "&amp;allfld=j'>auch leere Felder"; 
     421                } 
    435422                echo "</a></p>"; 
    436423 
     
    445432                ."\n</tr>"; 
    446433 
    447                 tab_zeile('Bauwerksfunktion', $rowb["bauwerksfunktion"], htmlentities($rowb["beschreibung"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowb["dokumentation"], ENT_QUOTES, "UTF-8")); 
    448                 tab_zeile('Name',        '', htmlentities($rowb["name"], ENT_QUOTES, "UTF-8"), '', ''); 
    449                 tab_zeile('Statement',   '', htmlentities($rowb["statement"], ENT_QUOTES, "UTF-8"), '', ''); 
     434                if (isset($rowb["bauwerksfunktion"])) { // nicht immer vorhanden 
     435                        tab_zeile('Bauwerksfunktion', $rowb["bauwerksfunktion"], htmlentities($rowb["beschreibung"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowb["dokumentation"], ENT_QUOTES, "UTF-8")); 
     436                } 
     437 
     438                if (isset($rowb["name"])) { 
     439                        tab_zeile('Name', '', htmlentities($rowb["name"], ENT_QUOTES, "UTF-8"), '', ''); 
     440                } 
     441 
     442                tab_zeile('Statement', '', htmlentities($rowb["statement"], ENT_QUOTES, "UTF-8"), '', ''); 
    450443 
    451444                // G e o m e t r i e  und FlÀche 
    452                 $geotyp=$rowb["bgeotyp"]; 
    453                 switch ($geotyp) { 
    454                         case "POINT": 
    455                                 $geodeutsch=$geotyp." bedeutet 'Punkt', einzelne Koordinate."; 
    456                         break; 
    457                         case "LINESTRING": 
    458                                 $geodeutsch=$geotyp." bedeutet 'Linie'."; 
    459                         break; 
    460                         case "POLYGON": 
    461                                 $geodeutsch=$geotyp." bedeutet eine einzelne 'Fl&auml;che'."; 
    462                         break; 
    463                         case "MULTIPOLYGON": 
    464                                 $geodeutsch=$geotyp." bedeutet eine 'Fl&auml;che', die aus mehreren Teilen bestehen kann oder die Aussparungen haben kann.";     
    465                         break; 
    466                         default: $geodeutsch=""; 
    467                 } 
    468                 tab_zeile('Geometrietyp', '', $geotyp, '', $geodeutsch); 
    469  
    470                 if ($geotyp == "POLYGON" or $geotyp == "MULTIPOLYGON") { 
    471                         $flaeche=$rowb["flae"]." m&#178;"; 
    472                         tab_zeile('Fl&auml;che', '', $flaeche, '', "Die 'Fl&auml;che' des Bauwerks wird aus der Geometrie berechnet, aber nur bei POLYGON."); 
     445                if (isset($rowb["bgeotyp"])) { 
     446                        $geotyp=$rowb["bgeotyp"]; 
     447                        switch ($geotyp) { 
     448                                case "POINT": 
     449                                        $geodeutsch=$geotyp." bedeutet 'Punkt', einzelne Koordinate."; 
     450                                break; 
     451                                case "LINESTRING": 
     452                                        $geodeutsch=$geotyp." bedeutet 'Linie'."; 
     453                                break; 
     454                                case "POLYGON": 
     455                                        $geodeutsch=$geotyp." bedeutet eine einzelne 'Fl&auml;che'."; 
     456                                break; 
     457                                case "MULTIPOLYGON": 
     458                                        $geodeutsch=$geotyp." bedeutet eine 'Fl&auml;che', die aus mehreren Teilen bestehen kann oder die Aussparungen haben kann.";     
     459                                break; 
     460                                default: $geodeutsch=""; 
     461                        } 
     462                        tab_zeile('Geometrietyp', '', $geotyp, '', $geodeutsch); 
     463 
     464                        if ($geotyp == "POLYGON" or $geotyp == "MULTIPOLYGON") { 
     465                                $flaeche=$rowb["flae"]." m&#178;"; 
     466                                tab_zeile('Fl&auml;che', '', $flaeche, '', "Die 'Fl&auml;che' des Bauwerks wird aus der Geometrie berechnet, aber nur bei POLYGON."); 
     467                        } 
    473468                } 
    474469        } 
     
    476471} 
    477472 
    478 // 2. sqlk:  Z u s À t z l i c h e   K e y - V a l u e - B e z i e h u n g e n 
     473// 2. sqlk:  ZusÀtzliche Key-Value-Beziehungen 
    479474// Andere Art der Darstellung als die schlichten Zusatzfelder, Key optional anzeigen, ErklÀrung zum Wert aus SchlÃŒsseltabelle 
    480475if ($sqlk != '') { 
     
    500495                } else { 
    501496                // Treffer 
     497                        $bes=htmlentities($rowk["beschreibung"], ENT_QUOTES, "UTF-8"); 
     498                        $dok=htmlentities($rowk["dokumentation"], ENT_QUOTES, "UTF-8"); 
    502499                        switch ($btyp) {  // individuell je Typ 
    503500                        case $btyp_verkehr: // 1 
    504                                 tab_zeile('Zustand', $rowk["zustand"], htmlentities($rowk["beschreibung"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["dokumentation"], ENT_QUOTES, "UTF-8")); 
     501                                tab_zeile('Zustand', $rowk["zustand"], $bes, '', $dok); 
    505502                        break; 
    506503                        case $btyp_gewaesser: // 2 
    507                                 tab_zeile('Zustand', $rowk["zustand"], htmlentities($rowk["beschreibung"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["dokumentation"], ENT_QUOTES, "UTF-8")); 
     504                                tab_zeile('Zustand', $rowk["zustand"], $bes, '', $dok); 
    508505                        break; 
    509506                        case $btyp_sonst: // 3 
    510                                 tab_zeile('Funktion', $rowk["funktion"], htmlentities($rowk["beschr"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["doku"], ENT_QUOTES, "UTF-8")); 
     507                                tab_zeile('Funktion', $rowk["funktion"], $bes, '', $dok); 
    511508                                tab_zeile('Hydrologisches Merkmal', $rowk["hydrologischesmerkmal"], htmlentities($rowk["hmbeschr"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["hmdoku"], ENT_QUOTES, "UTF-8")); 
    512509                        break; 
    513510                        case $btyp_indu: // 4 
    514                                 tab_zeile('Zustand', $rowk["zustand"], htmlentities($rowk["beschreibung"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["dokumentation"], ENT_QUOTES, "UTF-8")); 
     511                                tab_zeile('Zustand', $rowk["zustand"], $bes, '', $dok); 
    515512                        break; 
    516513                        case $btyp_sport: // 5 
    517                                 tab_zeile('Sportart', $rowk["sportart"], htmlentities($rowk["beschreibung"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["dokumentation"], ENT_QUOTES, "UTF-8")); 
     514                                tab_zeile('Sportart', $rowk["sportart"], $bes, '', $dok); 
    518515                        break; 
    519516                        case $btyp_trans: // 7 
    520                                 tab_zeile('Lage zur Erdoberfl&auml;che', $rowk["lagezurerdoberflaeche"], htmlentities($rowk["beschreibung"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["dokumentation"], ENT_QUOTES, "UTF-8")); 
     517                                tab_zeile('Lage zur Erdoberfl&auml;che', $rowk["lagezurerdoberflaeche"], $bes, '', $dok); 
    521518                        break; 
    522519                        case $btyp_turm: // 8 
    523                                 tab_zeile('Zustand', $rowk["zustand"], htmlentities($rowk["beschreibung"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["dokumentation"], ENT_QUOTES, "UTF-8")); 
     520                                tab_zeile('Zustand', $rowk["zustand"], $bes, '', $dok); 
    524521                        break; 
    525522                        case $btyp_vorrat: // 9 
    526                                 tab_zeile('Lage zur Erdoberfl&auml;che', $rowk["lagezurerdoberflaeche"], htmlentities($rowk["beschreibung"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["dokumentation"], ENT_QUOTES, "UTF-8")); 
     523                                tab_zeile('Lage zur Erdoberfl&auml;che', $rowk["lagezurerdoberflaeche"], $bes, '', $dok); 
    527524                                tab_zeile('Speicherinhalt', $rowk["speicherinhalt"], htmlentities($rowk["spbes"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["spdok"], ENT_QUOTES, "UTF-8")); 
    528                         break; 
     525                        case $btyp_hist: // 10 
     526                                tab_zeile('Arch&auml;ologischer Typ', $rowk["archaeologischertyp"], $bes, '', $dok); 
     527                        break; 
     528                        case $btyp_heil: // 11 
     529                                tab_zeile('Art', $rowk["art"], $bes, '', $dok); 
     530                                tab_zeile('Hydrologisches Merkmal', $rowk["hydrologischesmerkmal"], htmlentities($rowk["hmbes"], ENT_QUOTES, "UTF-8"), '', htmlentities($rowk["hmdok"], ENT_QUOTES, "UTF-8")); 
     531                        break; 
     532                        case $btyp_oeff: // 12 
     533                                tab_zeile('Art', $rowk["art"], $bes, '', $dok); 
     534                        break; 
     535//                      case $btyp_bpkt: // 13 
     536//                      break; 
    529537                        } 
    530538                } 
  • trunk/info/info/alkisn/alkisbestnw.php

    r425 r427  
    11<?php 
    2 /*      Modul: alkisbestnw.php 
    3  
    4         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    5         Bestandsnachweis fÃŒr ein Grundbuch aus ALKIS PostNAS 
     2/*      alkisbestnw.php 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
     7        Bestandsnachweis fÃŒr ein Grundbuch (-Blatt) aus ALKIS PostNAS 
    68 
    79        Version: 
     
    1416                           Tabellenstruktur verbessert und Title bei "Recht an". 
    1517        2021-12-30 Bestandsnachweis recursiv ÃŒber alle Buchungs-Ebenen 
     18        2022-01-13 Functions aus alkisfkt.php in dies Modul verschoben, wenn nur hier verwendet. Neue Functions LnkStf(), DsKy() 
    1619*/ 
     20 
     21function bnw_bsdaten($gml_h, $ebene) { 
     22/*      Bestandsnachweis - Buchungsstellen-Daten 
     23        "dienende" Buchungsstellen suchen. Miteigentumsanteil, Erbbaurecht usw.  
     24        Return: gml_id der dienenden Buchungsstelle wenn gefunden? Sonst Leerstring */ 
     25        global $dbg, $bartkey, $bart, $bartstory, $anteil; 
     26 
     27//      dann "dienende" Buchungsstellen 
     28//  sh=herrschend          sd=dienend 
     29//  ax_buchungsstelle >zu> ax_buchungsstelle (des gleichen Blattes)  
     30//  ax_buchungsstelle >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an) 
     31//      - "zu" kommt in der Praxis (NRW) nicht vor, wird hier nicht berÃŒcksichtigt 
     32 
     33        if ($ebene > 5) {echo "\n<p class='err'>Ungewöhnlich tiefe Schachtelung ".$ebene." der Buchungs-Stellen.</p>";} 
     34 
     35        $sql ="SELECT sd.gml_id, sd.buchungsart, sd.zaehler, sd.nenner, sd.laufendenummer AS lfd, sd.beschreibungdesumfangsderbuchung AS udb, " 
     36        ."sd.nummerimaufteilungsplan AS nrap, sd.beschreibungdessondereigentums AS sond, " 
     37        ."wb.beschreibung AS bart, wb.dokumentation, " 
     38        ."b.gml_id as gbgml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, b.blattart, " 
     39        ."bb.beschreibung AS blattartv, z.bezeichnung AS beznam " 
     40        ."FROM ax_buchungsstelle sh " 
     41        ."JOIN ax_buchungsstelle sd ON sd.gml_id=ANY(sh.an) " 
     42        ."JOIN ax_buchungsblatt b ON b.gml_id=sd.istbestandteilvon "     
     43        ."LEFT JOIN ax_buchungsart_buchungsstelle wb ON sd.buchungsart = wb.wert " 
     44        ."LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk ".UnqKatAmt("b","z") 
     45        ."LEFT JOIN ax_blattart_buchungsblatt bb ON b.blattart = bb.wert " 
     46        ."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 " 
     47        ."ORDER BY sd.laufendenummer;"; 
     48        $v=array($gml_h); // gml_id "herrschende" B-Stelle 
     49        $resan=pg_prepare("", $sql); 
     50        $resan=pg_execute("", $v); 
     51        if (!$resan) { 
     52                echo "\n<p class='err'>Fehler bei 'dienende Buchungsstelle'.</p>"; 
     53                if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gml_bs."'", $sql), ENT_QUOTES, "UTF-8")."</p>";} 
     54        } 
     55        $zeianz=pg_num_rows($resan); // Zeilen-Anzahl = Returnwert 
     56        $und = false; // mehrfaches "Recht an" auf gleicher Ebene 
     57        while($row= pg_fetch_assoc($resan)) { 
     58                $gml_bsan=$row["gml_id"];       // id der dien. BS 
     59                $blatt=ltrim($row["blatt"], "0");                
     60 
     61                // als Global-Var zur Sub-Function: 
     62                $bartkey=$row["buchungsart"];    
     63                $bart=$row["bart"]; // Buchungsart, entschlÃŒsselt 
     64                $bartstory=htmlentities($row["dokumentation"], ENT_QUOTES, "UTF-8"); 
     65                if ($row["zaehler"] == "") {$anteil = "";}  
     66                else {$anteil = $row["zaehler"]."/".$row["nenner"];} 
     67 
     68                // Zeile ausgeben Buchungsstelle dienend  
     69                bnw_bszeile_d($row["bezirk"], $row["beznam"], $blatt, $row["blattart"], $row["blattartv"], $row["lfd"], $row["gbgml"], $gml_bsan, $ebene, $und); 
     70                $und = true; 
     71                if ($row["nrap"] != "") { // Nr im Auft.Plan 
     72                        echo "\n<tr>\n\t<td colspan=3></td><td class='nrap' colspan=4>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td><td></td>\n</tr>"; 
     73                } 
     74                if ($row["sond"] != "") { // Sondereigentumsbeschreibung 
     75                        echo "\n<tr>\n\t<td></td><td class='sond' colspan=6 title='Sondereigentums-Beschreibung'>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td><td></td>\n</tr>"; 
     76                } 
     77 
     78                // Rekursiver Aufruf der gleichen Function, weitere Ebene dienend? 
     79                $tiefer = bnw_bsdaten($gml_bsan, ($ebene + 1)); 
     80                If ($tiefer == 0) {  // Wenn nicht, dann kann es FlurstÃŒcke dazu geben 
     81                        $fscnt= bnw_fsdaten($gml_bsan, false); // FlurstÃŒcksdaten 
     82                } 
     83        } 
     84        pg_free_result($resan); 
     85        return $zeianz; 
     86} 
     87 
     88function bnw_fsdaten($gml_bs, $mit_buchung_link) { 
     89/*      Bestandsnachweis - FlurstÃŒcksdaten 
     90        Die Tabellenzeilen mit den FlurstÃŒcksdaten zu EINER Buchungsstelle im Bestandsnachweis ausgeben. 
     91        Die Funktion wird entweder aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall) 
     92        oder bei Erbbaurecht fÃŒr die mit "an" verknÃŒpften Buchungsstellen der untersten Ebene (dienende Buchung). 
     93        Der Tabellenkopf wird im aufrufenden Programm ausgegeben.  
     94        Return: Anzahl der ausgegebenen FlurstÃŒcke */ 
     95        global $dbg, $gkz, $showkey, $filtkreis, $filtgem, $trclass, $katAmtMix, $lfdnr, $altlfdnr, $bartkey, $bart, $bartstory, $anteil; 
     96 
     97        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche " 
     98        ."FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ".UnqKatAmt("f","g") 
     99        ."WHERE f.endet IS NULL AND g.endet IS NULL AND f.istgebucht = $1 "; 
     100        if ($filtgem === '') { // ungefiltert 
     101                $v=array($gml_bs); 
     102        } else { 
     103                $sql.="AND f.gemeindezugehoerigkeit_kreis = $2 AND f.gemeindezugehoerigkeit_gemeinde = $3 "; // ZustÀndiges Gebiet 
     104                $v=array($gml_bs, $filtkreis, $filtgem); 
     105        } 
     106        $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     107        $resf = pg_prepare("", $sql); 
     108        $resf = pg_execute("", $v); 
     109        if (!$resf) {echo "\n<p class='err'>Fehler bei Flurst&uuml;ck</p>";} 
     110        $zeianz=pg_num_rows($resf); 
     111        while($rowf = pg_fetch_assoc($resf)) { 
     112                $fskenn=$rowf["zaehler"]; 
     113                if ($rowf["nenner"] != "") { // Bruch 
     114                        $fskenn.="/".$rowf["nenner"]; 
     115                } 
     116                $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;"; 
     117 
     118                echo "\n<tr class='".$trclass."'>"; // eine Zeile je Flurstueck 
     119                 
     120                // Sp. 1-3 der Tab. Daten aus Buchungsstelle, nicht aus FS 
     121                if($lfdnr === $altlfdnr) { // gleiches GrundstÃŒck, leer lassen 
     122                        echo "\n\t<td>&nbsp;</td>" 
     123                        ."\n\t<td>&nbsp;</td>" 
     124                        ."\n\t<td>&nbsp;</td>"; 
     125                } else { // Sprungmarke, BVNR 
     126                        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
     127                        echo "\n\t<td id='bvnr".$bvnr."'><span class='wichtig'>".$bvnr."</span>\n\t</td>" 
     128                        ."\n\t<td title ='".$bartstory."'>".DsKy($bartkey, 'Buchungsart-*').$bart."</td>" 
     129                        ."\n\t<td>&nbsp;</td>"; 
     130                        $altlfdnr=$lfdnr; 
     131                } 
     132 
     133                // Sp. 4-7 aus FlurstÃŒck 
     134                echo "\n\t<td>".DsKy($rowf["gemarkungsnummer"], 'Gemarkungsnummer').$rowf["bezeichnung"]."</td>" 
     135                ."\n\t<td>".$rowf["flurnummer"]."</td>\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span></td>" 
     136                ."\n\t<td class='fla'>".$flae."</td>" 
     137                ."\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     138 
     139                // Buchung BVNR 
     140                If ($mit_buchung_link == true) { // nur bei GrundstÃŒck 
     141                        echo "\n\t\t\t<a href='alkisgsnw.php?gkz=".$gkz."&amp;gmlid=".$gml_bs.LnkStf() 
     142                        ."' title='Grundst&uuml;cksnachweis'>Buchung <img src='ico/Grundstueck_Link.png' width='16' height='16' alt=''></a>&nbsp;";                      
     143                        $mit_buchung_link = false; // nur in erster Zeile 
     144                } 
     145                // Flurstk. 
     146                echo "\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n".LnkStf()."' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
     147                ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
     148                ."\n\t\t</p>\n\t</td>\n</tr>"; 
     149        } 
     150        pg_free_result($resf); 
     151        return $zeianz; 
     152} 
     153 
     154function bnw_bszeile_h() { 
     155/*      Bestandsnachweis - Buchungs-Stellen-Zeile ausgeben - herrschend. 
     156        Die GB-Daten hierzu stehen bereits im Kopf und bleiben in der Tab. leer */ 
     157        global $dbg, $gkz, $trclass, $lfdnr, $bartkey, $bart, $bartstory, $anteil; 
     158 
     159        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
     160        echo "\n<tr class='".$trclass."'>" 
     161        ."\n\t<td id='bvnr".$bvnr."'><span class='wichtig'>".$bvnr."</span></td>" // Sprungmarke=BVNR auf dem GB-Blatt 
     162        ."\n\t<td class='dien' title='".$bartstory."'>".DsKy($bartkey, 'Buchungsart-*').$bart."</td>" 
     163        ."\n\t<td class='dien'>".$anteil."</td>" 
     164        ."\n\t<td colspan=5>&nbsp;</td>\n</tr>"; 
     165} 
     166 
     167function bnw_bszeile_d($bezkey, $beznam, $blatt, $blattartkey, $blattart, $lfdnran, $gbgml, $gml_bsan, $ebene, $und) { 
     168/*      Bestandsnachweis - Buchungsstellen-Zeile ausgeben - dienend 
     169        Eine Folge-Zeile fÃŒr eine dienende Buchung ausgeben. */ 
     170        global $gkz, $trclass, $bartkey, $bart, $bartstory, $anteil; 
     171 
     172        $bvnr=str_pad($lfdnran, 4, "0", STR_PAD_LEFT); 
     173        $filler=str_repeat("&nbsp;", $ebene - 2); // 3 und 4 EinrÃŒcken 
     174        if ($und){$filler.="und ";}; // Unterscheidung Hierarchie (Ebene wechselt) von Liste (gleiche Ebene) 
     175        echo "\n<tr class='".$trclass."'>" 
     176        ."\n\t<td title='Ebene ".$ebene."'>".$filler."an</td>" 
     177        ."\n\t<td class='dien' title='".$bartstory."'>".DsKy($bartkey, 'Buchungsart-*').$bart."</td>" 
     178        ."\n\t<td class='dien'>".$anteil."</td>"; 
     179 
     180        // Sp.4 GB-Bezirk 
     181        echo "\n\t<td class='dien' title='Grundbuch-Bezirk'>".DsKy($bezkey, 'Grundbuch-Bezirk-*').htmlentities($beznam, ENT_QUOTES, "UTF-8")."</td>" 
     182        ."\n\t<td class='dien' title='".$blattart."'>".$blatt."</td>" 
     183        ."\n\t<td class='dien' title='Bestandsverzeichnis-Nummer'>".$bvnr."</td>" 
     184        ."\n\t<td class='dien'></td>";  
     185 
     186        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     187 
     188        // Link Bestand Blatt 
     189        echo "\n\t\t\t".DsKy($blattartkey, 'Blatt-Art-*')."<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gbgml.LnkStf() 
     190        ."#bvnr".$lfdnran."' title='Zum Grundbuchnachweis des dienenden Blattes'>".$blattart 
     191        ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>"; 
     192 
     193        if ($bartkey < 2000){ 
     194                // Link Buchung BVNR nur fÃŒr GrundstÃŒck usw. 
     195                echo "<br>\n\t\t\t<a href='alkisgsnw.php?gkz=".$gkz."&amp;gmlid=".$gml_bsan.LnkStf() 
     196                ."' title='Grundst&uuml;cksnachweis'>Buchung <img src='ico/Grundstueck_Link.png' width='16' height='16' alt=''></a>";    
     197        } 
     198        echo "\n\t\t</p>" 
     199        ."\n\t</td>\n</tr>"; 
     200} 
     201 
     202// Start 
    17203ini_set("session.cookie_httponly", 1); 
    18204session_start(); 
     
    57243 
    58244$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    59 $dbg=$debug; // CONF in Arbeits-Variable 
    60  
    61 // Entwicklungsumgebung (in Conf definiert) ausschalten. 
     245$dbg=$debug; 
    62246if ($nodebug === "j") {$dbg=0;}  
    63247 
     
    112296                        } 
    113297                        echo "\n\t\t\t<tr>" 
    114                                 ."\n\t\t\t<td class='head'>"; 
    115                                 if ($showkey) {echo "<span class='key'>".$row["stellenart"]."&nbsp;</span>";} 
    116                                 echo $row["stellev"]."</td>"; 
    117                                 echo "\n\t\t\t<td class='head'>Bezirk</td>" 
    118                                 ."\n\t\t\t\t<td class='head' title='".htmlentities($row["blattartd"], ENT_QUOTES, "UTF-8")."'>"; 
    119                                 if ($showkey) {echo "<span class='key'>".$blattkey."&nbsp;</span>";} 
    120                                 echo $blattart."</td>" 
     298                                ."\n\t\t\t\t<td class='head'>".DsKy($row["stellenart"], 'Stellenart-*').$row["stellev"]."</td>" 
     299                                ."\n\t\t\t\t<td class='head'>Bezirk</td>" 
     300                                ."\n\t\t\t\t<td class='head' title='".htmlentities($row["blattartd"], ENT_QUOTES, "UTF-8")."'>".DsKy($blattkey, 'Blattart-*').$blattart."</td>" 
    121301                        ."\n\t\t\t</tr>\n\t\t\t<tr>" 
    122                                 ."\n\t\t\t\t<td title='Amtsgerichtsbezirk'>"; 
    123                                 if ($showkey) {echo "<span class='key'>".$row["stelle"]."</span><br>";} 
    124                                 echo htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>" 
    125                                 ."\n\t\t\t\t<td title='Grundbuchbezirk'>"; 
    126                                 if ($showkey) {echo "<span class='key'>".$row["bezirk"]."</span><br>";} 
    127                                 echo htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>" 
     302                                ."\n\t\t\t\t<td title='Amtsgerichtsbezirk'>".DsKy($row["stelle"], 'Stelle-*').htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>" 
     303                                ."\n\t\t\t\t<td title='Grundbuchbezirk'>".DsKy($row["bezirk"], 'Grundbuchbezirk-*').htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>" 
    128304                                ."\n\t\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>" 
    129305                        ."\n\t\t\t</tr>" 
     
    136312        echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt.</p>"; 
    137313} else { // E I G E N T Ü M E R 
    138         $n = eigentuemer($gmlid, true, ""); // MIT Adressen. 
     314        $n = eigentuemer($gmlid, true, false); // MIT Adressen. 
    139315        if ($n === 0) { // keine NamensNr, kein Eigentuemer 
    140316                echo "\n<p class='err'>Keine Namensnummer gefunden.</p>" 
     
    240416 
    241417                $zeianz = bnw_fsdaten($gml_bs, true); // FlurstÃŒcksdaten zur direkten Buchungsstelle 
    242                 if ($zeianz === 0) {echo "\n<tr class='".$trclass."'>\n\t<td></td>\n\t<td colspan='7'><p class='warn'>Keine Flurst&uuml;cke im berechtigten Bereich.</p></td>\n\t<td></td>\n</tr>";} 
     418                if ($zeianz === 0) { 
     419                        echo "\n<tr class='".$trclass."'>\n\t<td><span class='wichtig'>".$lfdnr."</span></td>" 
     420                        ."\n\t<td colspan='7'><p class='warn'>Keine Flurst&uuml;cke im berechtigten Bereich.</p></td>\n\t<td></td>\n</tr>"; 
     421                } 
    243422 
    244423        } else { // herrschende Buchung 
     
    291470$zpaar=false; 
    292471while($rowb = pg_fetch_assoc($resb)) { 
    293         if ($b === 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 
     472        if ($b === 0) { // Überschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 
    294473                echo "\n\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>" 
    295                 ."\n<table class='outer'>" 
    296                 ."\n<tr>" 
    297                         ."\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>" 
    298                         ."\n\t<td class='head'>Dienststelle</td>" 
    299                         ."\n\t<td class='heads'>Bezirk</td>" 
    300                         ."\n\t<td class='heads'><span class='wichtig'>Blatt</span></td>" 
    301                         ."\n\t<td class='heads'>BVNR</td>" 
    302                         ."\n\t<td class='head'>Buchungsart</td>" 
    303                         ."\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>" 
    304                 ."\n</tr>"; 
     474                ."\n<table class='outer'>\n<tr>" 
     475                ."\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>" 
     476                ."\n\t<td class='head'>Dienststelle</td>" 
     477                ."\n\t<td class='heads'>Bezirk</td>" 
     478                ."\n\t<td class='heads'><span class='wichtig'>Blatt</span></td>" 
     479                ."\n\t<td class='heads'>BVNR</td>" 
     480                ."\n\t<td class='head'>Buchungsart</td>" 
     481                ."\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>\n</tr>"; 
    305482        } 
    306483 
     
    324501                ."\n\t<td>"; // Amtsgericht,Grundbuchamt 
    325502                        echo htmlentities($rowb["stellev"], ENT_QUOTES, "UTF-8")." "; 
    326                         if ($showkey) {echo "<span class='key'>".$rowb["stelle"]."</span> ";} 
    327                         echo htmlentities($rowb["bezeichnung"], ENT_QUOTES, "UTF-8") 
     503                        echo DsKy($rowb["stelle"], 'Stelle-*').htmlentities($rowb["bezeichnung"], ENT_QUOTES, "UTF-8") 
    328504                ."</td>" 
    329                 ."\n\t<td>"; 
    330                         if ($showkey) {echo "<span class='key'>".$rowb["bezirk"]."</span> ";} 
    331                         echo htmlentities($rowb["beznam"], ENT_QUOTES, "UTF-8") 
    332                 ."</td>" 
     505                ."\n\t<td>".DsKy($rowb["bezirk"], 'Grundbuch-Bezirk-*').htmlentities($rowb["beznam"], ENT_QUOTES, "UTF-8")."</td>" 
    333506                ."\n\t<td><span class='wichtig'>".$blatt."</span></td>" 
    334507                ."\n\t<td>".$bvnr."</td>" 
    335                 ."\n\t<td title='".htmlentities($rowb["bartd"], ENT_QUOTES, "UTF-8")."'>"; 
    336                         if ($showkey) {echo "<span class='key'>".$buch."</span> ";} 
    337                         echo $bart 
    338                 ."</td>" 
     508                ."\n\t<td title='".htmlentities($rowb["bartd"], ENT_QUOTES, "UTF-8")."'>".DsKy($buch, 'Buchungsart-*').$bart."</td>" 
    339509                ."\n\t<td>" 
    340510                        ."\n\t\t<p class='nwlink noprint'>"; 
    341  
    342511                        // Bestand 
    343                         if ($showkey) {echo "<span class='key'>".$blart."</span> ";} 
    344                         echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b; 
    345                                 if ($showkey) {echo "&amp;showkey=j";} 
    346                                 echo "#bvnr".$lfdnr."' title='Nachweis des berechtigten Blattes an einer Buchung auf ".$blattart."'>".$rowb["blattartv"]; 
    347                                 echo " \n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>"; 
    348                         echo "\n\t\t</p>" 
     512                        echo "\n\t\t\t".DsKy($blart, 'Blattart-*')."<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b.LnkStf() 
     513                        ."#bvnr".$lfdnr."' title='Nachweis des berechtigten Blattes an einer Buchung auf ".$blattart."'>".$rowb["blattartv"] 
     514                        ." \n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>" 
     515                        ."\n\t\t</p>" 
    349516                ."</td>" 
    350517        ."\n</tr>"; 
  • trunk/info/info/alkisn/alkisexport.php

    r425 r427  
    11<?php 
    2 /*      Modul alkisexport.php 
    3  
     2/*      alkisexport.php 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6         
    47        CSV-Export von ALKIS-Daten zu einem Flurstueck, Grundbuch, EigentÃŒmer oder Straße. 
    58        Es wird eine GML-ID ÃŒbergeben. 
     
    6770} 
    6871 
    69 // HIER START 
    70  
     72// START 
    7173$tabtyp='';  $haus=''; // Var. init. 
    7274$cntget = extract($_GET); // Parameter in Variable umwandeln 
     
    101103include "alkis_conf_location.php"; 
    102104include "alkisfkt.php"; 
    103  
    104 // BerechtigungsprÃŒfung fÃŒr CSV vorÃŒbergehend deaktiviert weil darin HTML-Meldungen ausgegeben werden. 
    105 // ggf. dies per Option verhindern und wieder aktivieren. 
    106 //$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('Abbruch'); } 
    107105 
    108106if ($tabtyp === '') { // Parameter (-kombinationen) prÃŒfen 
  • trunk/info/info/alkisn/alkisfkt.php

    r425 r427  
    11<?php 
    2 /*      Modul: alkisfkt.php 
    3  
    4         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    5         F u n c t i o n s 
     2/*      alkisfkt.php 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
     7        F u n c t i o n s , die von mehreren Modulen verwendet werden. 
    68 
    79        Version: 
     
    1517                           Footer: Umschalter fÃŒr SchlÃŒssel und Debug unabhÀngig benutzbar. Authentifizierung aus QWC2 nicht hier behandeln. 
    1618        2021-12-30 Bestandsnachweis recursiv ÃŒber alle Buchungs-Ebenen 
    17  
    18 ++ ToDo: 
    19         - Parameter $lnkclass in eigentuemer() und $jfenster in buchung_anzg() vereinheitlichen 
     19        2022-01-13 Functions in Fach-Modul verschoben, wenn nur von einem verwendet. Neue Functions LnkStf(), DsKy() 
    2020*/ 
    2121 
     
    6767 
    6868function footer($gmlid, $link, $append) { 
    69         // Einen Seitenfuß ausgeben. 
    70         // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor 
    71         // Den URL-Parameter "&showkey=j/n" umschalten lassen. 
    72         // $append wird angehÀngt wenn gefÃŒllt. Anwendung: &eig=j bei FSNW, &ltyp=m/p/o bei Lage 
     69// Einen Seitenfuß ausgeben. 
     70// Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor 
     71// Den URL-Parameter "&showkey=j/n" umschalten lassen. 
     72// $append wird angehÀngt wenn gefÃŒllt. Anwendung: &eig=j bei FSNW, &ltyp=m/p/o bei Lage 
    7373        global $gkz, $showkey, $hilfeurl, $debug, $dbg, $customer; 
    7474 
     
    7878        ."\n\t\t<table class='outer'>\n\t\t<tr>"; 
    7979 
    80         // Spalte 1: Info Benutzerkennung 
     80        // Sp.1: Info Benutzerkennung 
    8181        if (isset($customer) and $customer != '') { // ÃŒber global von fkt. darf_ich() 
    8282                echo "\n\t\t\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>"; 
     
    8585        } 
    8686 
    87         // Spalte 2: Umschalter 
     87        // Sp.2: Umschalter 
     88// +++ ToDo: Texte eindeutiger machen, z.B. Anzeige der SchlÃŒssel ist an >> aus // Anzeige der SchlÃŒssel ist aus >> an 
     89// oder als Formular / Option-Element 
    8890        echo "\n\t\t\t<td title='Konfiguration'>"; 
    8991                $mylink ="\n\t\t\t\t<a class='keyswitch' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append; 
     
    111113        echo "\n\t\t\t</td>"; 
    112114 
    113         // Spalte 3: Dokumentation 
     115        // Sp.3: Dokumentation 
    114116        echo "\n\t\t\t<td title='Hilfe'>" 
    115117                ."\n\t\t\t\t<p class='nwlink'>\n\t\t\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t\t\t</p>\n\t\t\t</td>" 
     
    128130function UnqKatAmt($t1, $t2){ 
    129131// Wenn der Datenbestand aus NBA-Verfahren mehrerer KatasterÀmter gemixt wurde, dann muss beim SQL-JOIN auf einige SchlÃŒsseltabellen 
    130 // zusÀtzlich dafÃŒr gesort werden, dass nur die SchlÃŒssel des gleichen Katasteramtes verwendet werden. Sont bekommt man redundante Treffer. 
     132// zusÀtzlich dafÃŒr gesort werden, dass nur die SchlÃŒssel des gleichen Katasteramtes verwendet werden. Sonst bekommt man redundante Treffer. 
    131133// Benötigt den Alias der zu verbindenden Tabellen. 
    132134// Liefert einen String zum EinfÃŒgen hinter "JOIN .. ON". 
     
    139141} 
    140142 
     143function LnkStf(){ 
     144// Link-Staffeltab - Die Parameter showkey und nodebug im href eines <a>-Tag an ein anderes Modul weiter geben. 
     145// Gibt einen String zurÃŒck, der im href eingefÃŒgt wird. 
     146        global $debug, $dbg, $showkey; 
     147 
     148        if ($showkey) { // SchlÃŒssel anzeigen 
     149                $ret="&amp;showkey=j"; 
     150        } else { 
     151                $ret=""; 
     152        } 
     153 
     154        // Nur relevant in einer Entwicklungsumgebung: 
     155        // Falls debug-Ausgaben erlaubt sind (conf) kann man das temporÀr einschrÀnken, umgekehrt nicht. 
     156        // $dbg = aktueller Arbeitswert, $debug = aus Conf. 
     157        if ($dbg === 0 AND $debug > 0){ 
     158                $ret.="&amp;nodebug=j"; 
     159        } 
     160        return $ret; 
     161} 
     162 
     163function DsKy($derKey, $Tipp){ 
     164// Display Key - Optional einen ALKIS-internen SchlÃŒsselwert vor dem entschlÃŒsselten Wert ausgeben. 
     165// Die Option wird gesteuert durch einen Schalter im Seitenfuß. 
     166// Liefert einen HTML-Text zur Verwendung in einem Echo-Befehl. Zur Verkettung mit Literalen. 
     167        global $showkey; 
     168        $Tipp = str_replace("*", "Schl&uuml;ssel", $Tipp); // hÀufig verwendet 
     169        if ($showkey and $derKey != "") { 
     170                $html="<span class='key' title='".$Tipp."'>(".$derKey.")&nbsp;</span>"; 
     171        } else { 
     172                $html=""; 
     173        } 
     174        return $html; 
     175} 
     176 
    141177function ber_bs_zaehl($gmls) { 
    142         // Berechtigte Buchungs-Stellen zaehlen. 
     178// Berechtigte Buchungs-Stellen zÀhlen. 
    143179 
    144180        // Buchungstelle dienend <(Recht)an< Buchungstelle herrschend 
     
    148184        $resan = pg_prepare("", $sql); 
    149185        $resan = pg_execute("", $v); 
    150         if (!$resan) {echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen zaehlen'.</p>";} 
     186        if (!$resan) {echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen z&auml;hlen'.</p>";} 
    151187        $rowan = pg_fetch_assoc($resan); 
    152188        $anz=$rowan["anz"]; 
     
    156192 
    157193function buchung_anzg($gmlbs, $eig, $jsfenster, $gml_fs, $trtyp) { 
    158         // In einem FS-Nachw. EINE Buchungsstelle anzeigen. 
    159         // Parameter: 
    160         //  $gmlbs: GML-ID der anzuzeigenden Buchungs-Stelle 
    161         //  $eig: EigentÃŒmer ausgeben j/n 
    162         //  $jsfenster: Javascript-Funktion zum Verlassen des Feature-Info-Fensters verwenden (bool) 
    163         //  $gml_fs: GML-ID des FlurstÃŒcke (nur bei erstem Aufruf in einem FS-Nachweis notwendig) 
    164         //      $trtyp: Tabellen-Zeilen-Typ. Werte: 1="mit GS-Link", 2="ohne GS-Link", 3="ohne GS-Link +Zeile einfÀrben" 
     194// In einem FS-Nachw. EINE Buchungsstelle anzeigen. 
     195// Parameter: 
     196//  $gmlbs: GML-ID der anzuzeigenden Buchungs-Stelle 
     197//  $eig: EigentÃŒmer ausgeben j/n 
     198//  $jsfenster: Javascript-Funktion zum Verlassen des Feature-Info-Fensters verwenden (bool) 
     199//  $gml_fs: GML-ID des FlurstÃŒcke (nur bei erstem Aufruf in einem FS-Nachweis notwendig) 
     200//      $trtyp: Tabellen-Zeilen-Typ. Werte: 1="mit GS-Link", 2="ohne GS-Link", 3="ohne GS-Link +Zeile einfÀrben" 
    165201        global $gkz, $dbg, $showkey, $bartgrp, $barttypgrp, $stufe, $katAmtMix; 
    166202 
     
    190226        } 
    191227        if ($rowbs = pg_fetch_assoc($resbs)) { // EIN Treffer 
    192                 $blattkeyber=$rowbs["blattart"]; // Schluessel von Blatt-Art des GB 
     228                $blattkeyber=$rowbs["blattart"]; // SchlÃŒssel von Blatt-Art des GB 
    193229                if ($blattkeyber != '5000' or $dbg > 1) { // "Fiktives Blatt" nur bei Entwicklung anzeigen 
    194230                        $gezeigt = 1; // Funktionswert nach Treffer 
     
    203239                        $blatt=ltrim($rowbs["blatt"], "0"); 
    204240                        $lfd=ltrim($rowbs["lfd"], "0"); 
    205                         if ($bartkey != $bartgrp) { // Wechsel der Buchungsart 
     241                        if ($bartkey != $bartgrp) { // Wechsel Buchungsart 
    206242                                $barttitle=$rowbs["barttitle"]; // Buchungsart ErklÀrung 
    207243                                switch (true) { // Die Buchungsart einem Typ (Gruppierung) zuweisen 
     
    221257                                                echo "\n\t<tr>\n\t\t<td colspan='3'>\n\t\t\t<h3 id='gb'>".$h3txt."</h3>\n\t\t</td>"; // 1-3 
    222258                                                echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>" // 4 
    223                                                         ."\n\t\t\t\t<a href='".selbstverlinkung()."?gkz=".$gkz."&amp;gmlid=".$gml_fs; 
    224                                                         if ($showkey) {echo "&amp;showkey=j";} 
    225                                                         if ($eig=="j") { // Umschalter: FS-Nachweis ruft sich selbst mit geaendertem Parameter auf. Positionierung auf Marke "#gb" 
     259                                                        ."\n\t\t\t\t<a href='".selbstverlinkung()."?gkz=".$gkz."&amp;gmlid=".$gml_fs.LnkStf(); 
     260                                                        if ($eig=="j") { // Umschalter: FS-Nachweis ruft sich selbst mit geÀndertem Param. auf. Pos. auf Marke "#gb" 
    226261                                                                echo "&amp;eig=n#gb' title='Umschalter: Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>"; 
    227262                                                        } else { 
     
    236271                                        $barttypgrp = $barttyp; 
    237272                                } 
    238  
    239                                 // ++ mehr Abstand oben zur Zeile in .css? 
    240273                                echo "\n\t<tr>" // Buchungsart als Zwischenzeile 
    241                                         ."\n\t\t<td class='ll'><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Buchungsart:</td>" // 1 
    242                                         ."\n\t\t<td colspan='2' title='".$barttitle."'>"; // 2-3 
    243                                                 if ($showkey) {echo "<span class='key' title='Buchungsart'>(".$bartkey.")</span> ";} 
    244                                                 echo "<span class='wichtig'>".$bart."</span>" 
    245                                         ."</td>" 
    246                                         ."\n\t\t<td></td>" // 4 
     274                                        ."\n\t\t<td class='ll'><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Buchungsart:</td>" 
     275                                        ."\n\t\t<td colspan='2' title='".$barttitle."'>".DsKy($bartkey, 'Buchungsart')."<span class='wichtig'>".$bart."</span>" 
     276                                        ."</td>\n\t\t<td></td>" // 4 
    247277                                ."\n\t</tr>"; 
    248278                                $bartgrp=$bartkey; // Gruppe merken 
     
    261291                                        } 
    262292                                        echo "\n\t\t\t<tr>" 
    263                                                 ."\n\t\t\t\t<td class='head'>Bezirk</td>" 
    264                                                 ."\n\t\t\t\t<td class='head'>"; 
    265                                                 if ($showkey) {echo "<span class='key' title='Blattart'>(".$blattkeyber.")</span> ";} 
    266                                                 echo $blattartber."</td>" 
    267                                                 ."\n\t\t\t\t<td class='head'>Lfd-Nr</td>" 
     293                                        ."\n\t\t\t\t<td class='head'>Bezirk</td>" 
     294                                        ."\n\t\t\t\t<td class='head'>".DsKy($blattkeyber, 'Blattart-*').$blattartber."</td>" 
     295                                        ."\n\t\t\t\t<td class='head'>Lfd-Nr</td>" 
    268296                                        ."\n\t\t\t</tr>"; 
    269297 
     
    273301                                                echo "\n\t\t\t<tr>"; 
    274302                                        } 
    275                                         echo "\n\t\t\t\t<td title='Grundbuchbezirk'>"; 
    276                                                 if ($showkey) {echo "<span class='key' title='GB-Bezirk-Schl&uuml;ssel'>".$rowbs["bezirk"]."</span><br>";} 
    277                                                 echo $beznam."</td>" 
    278                                                 ."\n\t\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>" 
    279                                                 ."\n\t\t\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$lfd."</td>" 
     303                                        echo "\n\t\t\t\t<td title='Grundbuchbezirk'>".DsKy($rowbs["bezirk"], 'GB-Bezirk-*').$beznam."</td>" 
     304                                        ."\n\t\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>" 
     305                                        ."\n\t\t\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$lfd."</td>" 
    280306                                        ."\n\t\t\t</tr>" 
    281307                                        ."\n\t\t\t</table>"; 
     
    293319 
    294320                                echo "\n\t\t<td>"; // 4 
    295                                         echo "\n\t\t\t<p class='nwlink noprint'>"; 
     321                                        echo "\n\t\t\t<p class='nwlink noprint'>".DsKy($blattkeyber, 'Blattart-*'); 
    296322                                        //      Bestand 
    297                                                 if ($showkey) {echo "<span class='key' title='Blattart'>(".$blattkeyber.")</span> ";} 
    298                                                 $url="alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gbgml; 
    299                                                 if ($showkey) {$url.="&amp;showkey=j";} 
     323                                                $url="alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gbgml.LnkStf(); 
    300324                                                if ($jsfenster) {$url="javascript:imFenster(\"".$url."\")";} // Sonderfall "Inlay" aus Feature-Info 
    301325                                                echo "\n\t\t\t\t<a href='".$url."' title='Grundbuchnachweis'>".$blattartber 
    302                                                         ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
    303                                                 ."</a>"; 
     326                                                ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>"; 
    304327                                        //      Buchung 
    305328                                                if ($trtyp === 1) { 
    306                                                         echo "<br>"; 
    307                                                         if ($showkey) {echo "<span class='key' title='Buchungsart'>(".$bartkey.")</span> ";} 
    308                                                         $url="alkisgsnw.php?gkz=".$gkz."&amp;gmlid=".$hgml; 
    309                                                         if ($showkey) {$url.="&amp;showkey=j";} 
     329                                                        echo "<br>".DsKy($bartkey, 'Buchungsart'); 
     330                                                        $url="alkisgsnw.php?gkz=".$gkz."&amp;gmlid=".$hgml.LnkStf(); 
    310331                                                        if ($jsfenster) {$url="javascript:imFenster(\"".$url."\")";} 
    311332                                                        echo "\n\t\t\t\t<a href='".$url."' title='GrundstÃŒcksnachweis: ".$bart."'>Buchung" 
    312                                                                 ." <img src='ico/Grundstueck_Link.png' width='16' height='16' alt=''>" 
    313                                                         ."</a>"; 
     333                                                        ." <img src='ico/Grundstueck_Link.png' width='16' height='16' alt=''></a>"; 
    314334                                                } 
    315335                                        echo "\n\t\t\t</p>" 
    316                                 ."\n\t\t</td>" // 4 
     336                                ."\n\t\t</td>" 
    317337                        ."\n\t</tr>"; 
    318338                        if ($eig === "j") { 
    319                                 if ($jsfenster) {$lnkclass = "imFenster";} else {$lnkclass = "";}  
    320                                 $n = eigentuemer($gbgml, true, $lnkclass); // mit Adresse 
     339                                $n = eigentuemer($gbgml, true, $jsfenster); // mit Adresse 
    321340                        } 
    322341                } 
    323342        } 
    324343        pg_free_result($resbs); 
    325          
    326         //if ($dbg > 1) {echo "\n<p class='dbg'>Ende function buchung_anzg(), Return = ". $gezeigt ."</p>";} 
    327          
    328344        return $gezeigt; // 1 wenn eine Buchung ausgegeben wurde 
    329345} 
    330346 
    331347function ber_bs_anzg($gmls, $eig, $jsfenster, $gml_fs, $gsanfrd) { 
    332         // In einem FS-Nachw. die berechtigten (herrschenden) Buchungsstellen anzeigen z.B. "Wohnungs-/Teileigentum". 
    333         // Parameter:  
    334         //  $gmls: GML-ID der dienenden Buchungs-Stelle. Im ersten Durchlauf also, die BS auf der das FS gebucht ist. 
    335         //  $eig: EigentÃŒmer ausgeben j/n 
    336         //  $jsfenster: Javascript-Funktion zum Verlassen des Feature-Info-Fensters verwenden (bool) 
    337         //  $gml_fs: GML-ID des FlurstÃŒcke (nur bei erstem Aufruf in einem FS-Nachweis notwendig) 
    338         //      $gsanfrd: In einem GS-Nachw. die GML-ID der in de URL angeforderten Buchungsstelle (-> Hervorhebung) 
     348// In einem FS-Nachw. die berechtigten (herrschenden) Buchungsstellen anzeigen z.B. "Wohnungs-/Teileigentum". 
     349// Parameter:  
     350//  $gmls: GML-ID der dienenden Buchungs-Stelle. Im ersten Durchlauf also, die BS auf der das FS gebucht ist. 
     351//  $eig: EigentÃŒmer ausgeben j/n 
     352//  $jsfenster: Javascript-Funktion zum Verlassen des Feature-Info-Fensters verwenden (bool) 
     353//  $gml_fs: GML-ID des FlurstÃŒcke (nur bei erstem Aufruf in einem FS-Nachweis notwendig) 
     354//      $gsanfrd: In einem GS-Nachw. die GML-ID der in de URL angeforderten Buchungsstelle (-> Hervorhebung) 
    339355        global $dbg, $gezeigt; 
    340356 
     
    379395 
    380396function kurz_namnr($lang) { 
    381         // Namensnummer kÃŒrzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden 
     397// Namensnummer kÃŒrzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden 
    382398        $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) 
    383399        $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) 
    384         $kurz=ltrim($kurz, "0"); // fuehr. Nullen 
    385         $kurz=str_replace(".0",".",$kurz); // fuehr. Null jeder Stufe 
     400        $kurz=ltrim($kurz, "0"); // fÃŒhrd. Nullen 
     401        $kurz=str_replace(".0",".",$kurz); // fÃŒhrd. Null jeder Stufe 
    386402        $kurz=rtrim($kurz); // Leerzeichen hinten 
    387         // echo "/n<p class='dbg'> lang='".$lang."'</p>/n<p class='dbg'> kurz='".$kurz."'</p>"; 
    388403        return $kurz; 
    389404} 
    390405 
    391 function bnw_bszeile_h() { 
    392 /*      Bestandsnachweis - Buchungs-Stellen-Zeile ausgeben - herrschend. 
    393         Die GB-Daten hierzu stehen bereits im Kopf und bleiben in der Tab. leer */ 
    394         global $dbg, $gkz, $showkey, $trclass, $lfdnr, $bartkey, $bart, $bartstory, $anteil; 
    395  
    396         $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    397         echo "\n<tr class='".$trclass."'>" 
    398         ."\n\t<td id='bvnr".$bvnr."'><span class='wichtig'>".$bvnr."</span></td>" // Sprungmarke=BVNR auf dem GB-Blatt 
    399         ."\n\t<td class='dien' title='".$bartstory."'>"; 
    400         if ($showkey) {echo "<span class='key'>".$bartkey."</span> ";} 
    401         echo $bart."</td>" 
    402         ."\n\t<td class='dien'>".$anteil."</td>" 
    403         ."\n\t<td>&nbsp;</td>" 
    404         ."\n\t<td>&nbsp;</td>" 
    405         ."\n\t<td>&nbsp;</td>" 
    406         ."\n\t<td>&nbsp;</td>" 
    407         ."\n\t<td>&nbsp;</td>\n</tr>"; 
    408 } 
    409  
    410 function bnw_bszeile_d($bezkey, $beznam, $blatt, $blattartkey, $blattart, $lfdnran, $gbgml, $gml_bsan, $ebene, $und) { 
    411 /*      Bestandsnachweis - Buchungsstellen-Zeile ausgeben - dienend 
    412         Eine Folge-Zeile fÃŒr eine dienende Buchung ausgeben. */ 
    413         global $gkz, $showkey, $trclass, $bartkey, $bart, $bartstory, $anteil; 
    414  
    415         $bvnr=str_pad($lfdnran, 4, "0", STR_PAD_LEFT); 
    416         $filler=str_repeat("&nbsp;", $ebene - 2); // 3 und 4 EinrÃŒcken 
    417         if ($und){$filler.="und ";}; // Unterscheidung Hierarchie (Ebene wechselt) von Liste (gleiche Ebene) 
    418         echo "\n<tr class='".$trclass."'>" 
    419         ."\n\t<td title='Ebene ".$ebene."'>".$filler."an</td>" 
    420         ."\n\t<td class='dien' title='".$bartstory."'>"; // Sp.2 Buchungsart 
    421         if ($showkey) {echo "<span class='key'>".$bartkey."</span> ";} 
    422         echo $bart."</td>" 
    423         ."\n\t<td class='dien'>".$anteil."</td>"; // Sp.3 Anteil 
    424  
    425         // Sp.4 GB-Bezirk 
    426         echo "\n\t<td class='dien' title='Grundbuch-Bezirk'>";  
    427                 if ($showkey) {echo "<span class='key'>".$bezkey."</span> ";} 
    428                 echo htmlentities($beznam, ENT_QUOTES, "UTF-8") 
    429         ."</td>" 
    430         ."\n\t<td class='dien' title='".$blattart."'>".$blatt."</td>" // Sp.5 
    431         ."\n\t<td class='dien' title='Bestandsverzeichnis-Nummer'>".$bvnr."</td>" // Sp.6 
    432         ."\n\t<td class='dien'></td>";  
    433  
    434         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; // Sp.8 Link 
    435  
    436         // Link Bestand Blatt 
    437         if ($showkey) {echo "<span class='key'>".$blattartkey."</span>";} // Blatt-Art 
    438         echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gbgml; 
    439                 if ($showkey) {echo "&amp;showkey=j";} 
    440                 echo "#bvnr".$lfdnran."' title='Zum Grundbuchnachweis des dienenden Blattes'>".$blattart 
    441         ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>"; 
    442  
    443         if ($bartkey < 2000){ 
    444                 // Link Buchung BVNR nur fÃŒr GrundstÃŒck usw. 
    445                 echo "<br>\n\t\t\t<a href='alkisgsnw.php?gkz=".$gkz."&amp;gmlid=".$gml_bsan; 
    446                 if ($showkey) {echo "&amp;showkey=j";} 
    447                 echo "' title='Grundst&uuml;cksnachweis'>Buchung <img src='ico/Grundstueck_Link.png' width='16' height='16' alt=''></a>";        
    448         } 
    449  
    450         echo "\n\t\t</p>" 
    451         ."\n\t</td>\n</tr>"; 
    452 } 
    453  
    454 function bnw_bsdaten($gml_h, $ebene) { 
    455 /*      Bestandsnachweis - Buchungsstellen-Daten 
    456         "dienende" Buchungsstellen suchen. Miteigentumsanteil, Erbbaurecht usw.  
    457         Return: gml_id der dienenden Buchungsstelle wenn gefunden? Sonst Leerstring */ 
    458         global $dbg, $bartkey, $bart, $bartstory, $anteil; 
    459  
    460 //      dann "dienende" Buchungsstellen 
    461 //  sh=herrschend          sd=dienend 
    462 //  ax_buchungsstelle >zu> ax_buchungsstelle (des gleichen Blattes)  
    463 //  ax_buchungsstelle >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an) 
    464 //      - "zu" kommt in der Praxis (NRW) nicht vor, wird hier nicht berÃŒcksichtigt 
    465  
    466         if ($ebene > 5) {echo "\n<p class='err'>Ungewöhnlich tiefe Schachtelung ".$ebene." der Buchungs-Stellen.</p>";} 
    467  
    468         $sql ="SELECT sd.gml_id, sd.buchungsart, sd.zaehler, sd.nenner, sd.laufendenummer AS lfd, sd.beschreibungdesumfangsderbuchung AS udb, " 
    469         ."sd.nummerimaufteilungsplan AS nrap, sd.beschreibungdessondereigentums AS sond, " 
    470         ."wb.beschreibung AS bart, wb.dokumentation, " 
    471         ."b.gml_id as gbgml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, b.blattart, " 
    472         ."bb.beschreibung AS blattartv, z.bezeichnung AS beznam " 
    473         ."FROM ax_buchungsstelle sh " 
    474         ."JOIN ax_buchungsstelle sd ON sd.gml_id=ANY(sh.an) " 
    475         ."JOIN ax_buchungsblatt b ON b.gml_id=sd.istbestandteilvon "     
    476         ."LEFT JOIN ax_buchungsart_buchungsstelle wb ON sd.buchungsart = wb.wert " 
    477         ."LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk ".UnqKatAmt("b","z") 
    478         ."LEFT JOIN ax_blattart_buchungsblatt bb ON b.blattart = bb.wert " 
    479         ."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 " 
    480         ."ORDER BY sd.laufendenummer;"; 
    481         $v=array($gml_h); // gml_id "herrschende" B-Stelle 
    482         $resan=pg_prepare("", $sql); 
    483         $resan=pg_execute("", $v); 
    484         if (!$resan) { 
    485                 echo "\n<p class='err'>Fehler bei 'dienende Buchungsstelle'.</p>"; 
    486                 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gml_bs."'", $sql), ENT_QUOTES, "UTF-8")."</p>";} 
    487         } 
    488         $zeianz=pg_num_rows($resan); // Zeilen-Anzahl = Returnwert 
    489         //if ($dbg > 0) {echo "\n<p class='dbg'>Auf Ebene ".$ebene.": Anzahl diennende Buchungs-Stellen = ".$zeianz.".</p>";} 
    490         $und = false; // mehrfaches "Recht an" auf gleicher Ebene 
    491         while($row= pg_fetch_assoc($resan)) { 
    492                 $gml_bsan=$row["gml_id"];       // id der dien. BS 
    493                 $blatt=ltrim($row["blatt"], "0");                
    494  
    495                 // als Global-Var zur Sub-Function: 
    496                 $bartkey=$row["buchungsart"];    
    497                 $bart=$row["bart"]; // Buchungsart, entschlÃŒsselt 
    498                 $bartstory=htmlentities($row["dokumentation"], ENT_QUOTES, "UTF-8"); 
    499                 if ($row["zaehler"] == "") {$anteil = "";}  
    500                 else {$anteil = $row["zaehler"]."/".$row["nenner"];} 
    501  
    502                 // Zeile ausgeben Buchungsstelle dienend  
    503                 bnw_bszeile_d($row["bezirk"], $row["beznam"], $blatt, $row["blattart"], $row["blattartv"], $row["lfd"], $row["gbgml"], $gml_bsan, $ebene, $und); 
    504                 $und = true; 
    505                 if ($row["nrap"] != "") { // Nr im Auft.Plan 
    506                         echo "\n<tr>\n\t<td colspan=3></td><td class='nrap' colspan=4>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td><td></td>\n</tr>"; 
    507                 } 
    508                 if ($row["sond"] != "") { // Sondereigentumsbeschreibung 
    509                         echo "\n<tr>\n\t<td></td><td class='sond' colspan=6 title='Sondereigentums-Beschreibung'>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td><td></td>\n</tr>"; 
    510                 } 
    511  
    512                 // Rekursiver Aufruf der gleichen Function, weitere Ebene dienend? 
    513                 $tiefer = bnw_bsdaten($gml_bsan, ($ebene + 1)); 
    514                 If ($tiefer == 0) {  // Wenn nicht, dann kann es FlurstÃŒcke dazu geben 
    515                         $fscnt= bnw_fsdaten($gml_bsan, false); // FlurstÃŒcksdaten 
    516                 } 
    517         } 
    518         pg_free_result($resan); 
    519         return $zeianz; 
    520 } 
    521  
    522 function bnw_fsdaten($gml_bs, $mit_buchung_link) { 
    523 /*      Bestandsnachweis - FlurstÃŒcksdaten 
    524         Die Tabellenzeilen mit den FlurstÃŒcksdaten zu EINER Buchungsstelle im Bestandsnachweis ausgeben. 
    525         Die Funktion wird entweder aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall) 
    526         oder bei Erbbaurecht fÃŒr die mit "an" verknÃŒpften Buchungsstellen der untersten Ebene (dienende Buchung). 
    527         Der Tabellenkopf wird im aufrufenden Programm ausgegeben.  
    528         Return: Anzahl der ausgegebenen FlurstÃŒcke */ 
    529         global $dbg, $gkz, $showkey, $filtkreis, $filtgem, $trclass, $katAmtMix, $lfdnr, $altlfdnr, $bartkey, $bart, $bartstory, $anteil; 
    530  
    531         $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche " 
    532         ."FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ".UnqKatAmt("f","g") 
    533         ."WHERE f.endet IS NULL AND g.endet IS NULL AND f.istgebucht = $1 "; 
    534         if ($filtgem === '') { // ungefiltert 
    535                 $v=array($gml_bs); 
    536         } else { 
    537                 $sql.="AND f.gemeindezugehoerigkeit_kreis = $2 AND f.gemeindezugehoerigkeit_gemeinde = $3 "; // ZustÀndiges Gebiet 
    538                 $v=array($gml_bs, $filtkreis, $filtgem); 
    539         } 
    540         $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
    541         $resf = pg_prepare("", $sql); 
    542         $resf = pg_execute("", $v); 
    543         if (!$resf) {echo "\n<p class='err'>Fehler bei Flurst&uuml;ck</p>";} 
    544         $zeianz=pg_num_rows($resf); 
    545         while($rowf = pg_fetch_assoc($resf)) { 
    546                 $fskenn=$rowf["zaehler"]; 
    547                 if ($rowf["nenner"] != "") { // Bruch 
    548                         $fskenn.="/".$rowf["nenner"]; 
    549                 } 
    550                 $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;"; 
    551  
    552                 echo "\n<tr class='".$trclass."'>"; // eine Zeile je Flurstueck 
    553                  
    554                 // Sp. 1-3 der Tab. Daten aus Buchungsstelle, nicht aus FS 
    555                 if($lfdnr === $altlfdnr) { // gleiches GrundstÃŒck, leer lassen 
    556                         echo "\n\t<td>&nbsp;</td>" 
    557                         ."\n\t<td>&nbsp;</td>" 
    558                         ."\n\t<td>&nbsp;</td>"; 
    559                 } else { // Sprungmarke, BVNR 
    560                         $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    561                         echo "\n\t<td id='bvnr".$bvnr."'>"; // Sprungmarke 
    562                                 echo "<span class='wichtig'>".$bvnr."</span>" 
    563                         ."\n\t</td>"; 
    564                         echo "\n\t<td title ='".$bartstory."'>"; // Buchungsart  
    565                                 if ($showkey) {echo "<span class='key'>".$bartkey."</span>&nbsp;";} 
    566                                 echo $bart; 
    567                         echo "</td>" 
    568                         ."\n\t<td>&nbsp;</td>"; // Anteil 
    569                         $altlfdnr=$lfdnr; 
    570                 } 
    571  
    572                 // Sp. 4-7 aus FlurstÃŒck 
    573                 echo "\n\t<td>"; 
    574                 if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";} 
    575                 echo $rowf["bezeichnung"]."</td>" 
    576                 ."\n\t<td>".$rowf["flurnummer"]."</td>\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span></td>" 
    577                 ."\n\t<td class='fla'>".$flae."</td>"; 
    578                 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    579  
    580                 // Buchung BVNR 
    581                 If ($mit_buchung_link == true) { // nur bei GrundstÃŒck 
    582                         echo "\n\t\t\t<a href='alkisgsnw.php?gkz=".$gkz."&amp;gmlid=".$gml_bs; 
    583                         if ($showkey) {echo "&amp;showkey=j";} 
    584                         echo "' title='Grundst&uuml;cksnachweis'>Buchung <img src='ico/Grundstueck_Link.png' width='16' height='16' alt=''></a>&nbsp;";                  
    585                         $mit_buchung_link = false; // nur in erster Zeile 
    586                 } 
    587                 // Flurstk. 
    588                 echo "\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
    589                         if ($showkey)   {echo "&amp;showkey=j";} 
    590                         echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
    591                         ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
    592                 ."\n\t\t</p>\n\t</td>\n</tr>"; 
    593         } 
    594         pg_free_result($resf); 
    595         return $zeianz; 
    596 } 
    597  
    598 function eigentuemer($gmlid, $mitadresse, $lnkclass) { 
    599         // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben 
    600         //  Sp.1="EigentÃŒmer" Sp.2=NamNr, Sp.3=Name/Adresse, Sp.4=Link 
    601         // Parameter: 
    602         //      $gmlid = ID GB-Blattes 
    603         //      $mitadresse = Option (true/false) ob die Adresszeile ausgegeben werden soll 
    604         // Return = Anzahl Namensnummern 
    605  
    606         // Schleife 1: N a m e n s n u m m e r 
    607         // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 
     406function eigentuemer($gmlid, $mitadresse, $jsfenster) { 
     407/*      Tabelle mit EigentÃŒmerdaten zu einem Grundbuchblatt ausgeben 
     408        Sp.1="EigentÃŒmer" Sp.2=NamNr, Sp.3=Name/Adresse, Sp.4=Link 
     409  Parameter: 
     410        $gmlid: ID GB-Blatt 
     411        $mitadresse: Option (t/f) ob die Adresszeile ausgegeben werden soll 
     412        $jsfenster: Beim Link mit Javascript ein neues Fenster öffnen 
     413  Return = Anzahl Namensnummern */ 
    608414        global $dbg, $gkz, $showkey; 
    609  
    610         if ($lnkclass == "") { 
     415        if ($jsfenster) { // beim Link aus iFrame ausbrechen 
     416                $lnkvor  = "javascript:imFenster(\""; 
     417                $lnknach = "\")";                
     418        } else {         
    611419                $lnkvor = ""; 
    612420                $lnknach = ""; 
    613         } else { // Link ÃŒber Java-Class "imFenster" aus alkisinlayausk.php 
    614                 $lnkvor  = "javascript:".$lnkclass."(\""; 
    615                 $lnknach = "\")"; 
    616         } 
    617  
    618         $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.beschreibung AS adrv, we.beschreibung AS eiartv " 
     421        } 
     422 
     423        // N a m e n s n u m m e r 
     424        // ax_namensnummer >istBestandteilVon> ax_buchungsblatt 
     425        $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, " 
     426        ."wn.beschreibung AS adrv, we.beschreibung AS eiartv, " 
     427        ."p.gml_id AS gmlpers, p.nachnameoderfirma, p.vorname, p.geburtsname, to_char(cast(p.geburtsdatum AS date),'DD.MM.YYYY') AS geburtsdatum, p.namensbestandteil, p.akademischergrad " 
    619428        ."FROM ax_namensnummer n " 
    620429        ."LEFT JOIN ax_artderrechtsgemeinschaft_namensnummer wn ON n.artderrechtsgemeinschaft = wn.wert " 
    621         ."LEFT JOIN ax_eigentuemerart_namensnummer we ON n.eigentuemerart = we.wert " 
    622         ."WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
    623         // VerknÃŒpfungsfeld "benennt" ist leer bei "Beschrieb der Rechtsgemeinschaft". 
     430        ."LEFT JOIN ax_eigentuemerart_namensnummer we ON n.eigentuemerart = we.wert "    
     431        ."LEFT JOIN ax_person p ON p.gml_id = n.benennt " 
     432        ."WHERE n.istbestandteilvon = $1 AND n.endet IS NULL AND p.endet IS NULL " 
     433        ."ORDER BY n.laufendenummernachdin1421;"; 
     434        // "benennt" ist leer bei "Beschrieb der Rechtsgemeinschaft". 
    624435 
    625436        $v = array($gmlid); // GB-Blatt 
    626437        $resn = pg_prepare("", $sqln); 
    627438        $resn = pg_execute("", $v); 
    628  
    629439        if (!$resn) { 
    630                 echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>"; // kein Fehler bei Blattarten > 1000 
    631                 //if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".str_replace("$1", "'".$gmlid."'", $sqln )."</p>";} 
     440                echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>"; 
     441                if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".str_replace("$1", "'".$gmlid."'", $sqln )."</p>";} 
    632442        } 
    633443 
     
    637447                $namnum=kurz_namnr($rown["lfd"]); 
    638448                $rechtsg=$rown["adr"]; 
     449                $beschr=htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8"); 
     450                $adrv=htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8"); 
    639451                $eiartkey=$rown["eigentuemerart"]; // Key 
    640452                $eiart=$rown["eiartv"]; // Value 
    641         //      if ($dbg > 1) {echo "\n<p class='dbg'>Eigent&uuml:merart = '".$eiartkey."' = '".$eiart."'</p>";} 
     453                $anlass=$rown["anlass"]; // ??? 
     454                $gmlpers=$rown["gmlpers"]; // leer bei RechtsverhÀltnis 
     455                $akadem=$rown["akademischergrad"]; 
     456                $nachnam=$rown["nachnameoderfirma"]; 
     457                $vorname=$rown["vorname"]; 
     458                $nbest=$rown["namensbestandteil"]; 
     459                $gebdat=$rown["geburtsdatum"]; 
     460                $gebnam=$rown["geburtsname"]; 
     461                $zaehler=str_replace(".", ",", $rown["zaehler"]); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht 
     462                $nenner=str_replace(".", ",", $rown["nenner"]); 
    642463 
    643464                echo "\n\t<tr>"; 
    644                         if($n === 0) { // erste EigentÃŒmer-Zeile zu einer Buchung 
    645                                 echo "\n\t\t<td class='ll'><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Eigent&uuml;mer:</td>"; // 1 
    646                         } else { // Folgezeile 
    647                                 echo "\n\t\t<td class='ll'>&nbsp;</td>"; // 1 
    648                         } 
    649  
    650                         if ($rechtsg != "" ) { // Erbengemeinschaft usw. 
    651                                 echo "\n\t\t<td colspan='2'>"; // 2-3 
    652                                 if ($rechtsg == 9999) { // sonstiges 
    653                                         echo "\n\t\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 
    654                                 } else { 
    655                                         echo "\n\t\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."</p>"; 
     465                if($n === 0) { // 1. Zeile zum GB 
     466                        echo "\n\t\t<td class='ll'><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Eigent&uuml;mer:</td>"; // 1 
     467                } else { // Folgezeile 
     468                        echo "\n\t\t<td class='ll'>&nbsp;</td>"; 
     469                } 
     470                if ($rechtsg != "" ) { // Erbengemeinschaft usw. 
     471                        echo "\n\t\t<td colspan='2'>"; 
     472                        if ($rechtsg == 9999) { // sonstiges 
     473                                echo "\n\t\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".$beschr."</p>"; 
     474                        } else { 
     475                                echo "\n\t\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".$adrv."</p>"; 
     476                        } 
     477                } else { // Namensnummer 
     478                        echo "\n\t\t<td class='nanu' title='Namens-Nummer'>\n\t\t\t<p>".$namnum."&nbsp;</p>\n\t\t</td>" 
     479                        . "\n\t\t<td>"; 
     480                } 
     481                if ($anlass > 0 ) {echo "<p>Anlass=".$anlass."</p>";} 
     482                // Andere Namensnummern? Relation: ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer  
     483                // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus, dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können.  
     484                // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 
     485 
     486                $diePerson=""; 
     487                if ($akadem != "") {$diePerson=$akadem." ";} 
     488                $diePerson.=$nachnam; 
     489                if ($vorname != "") {$diePerson.=", ".$vorname;} 
     490                if ($nbest != "") {$diePerson.=". ".$nbest;} 
     491                if ($gebdat != "") {$diePerson.=", geb. ".$gebdat;} 
     492                if ($gebnam != "") {$diePerson.=", geb. ".$gebnam;} 
     493                $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); 
     494 
     495                if ($eiartkey == "") {$eiart="Eigent&uuml;mer" ;} // Default 
     496                echo "\n\t\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t\t</td>" 
     497                ."\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>".DsKy($eiartkey, 'Eigent&uuml;merart-*') 
     498                ."\n\t\t\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$gmlpers.LnkStf() 
     499                .$lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart 
     500                ." \n\t\t\t\t\t<img src='ico/Eigentuemer.png' width='16' height='16' alt=''>\n\t\t\t\t</a>\n\t\t\t</p>" 
     501                ."\n\t\t</td>\n\t</tr>"; 
     502 
     503                if ($mitadresse) { // optional 
     504                        // A d r e s s e  zur Person 
     505                        $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland " 
     506                        ."FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) " 
     507                        ."WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL " 
     508                        ."ORDER BY a.beginnt DESC LIMIT 2;"; 
     509                        $v = array($gmlpers); 
     510                        $resa = pg_prepare("", $sqla); 
     511                        $resa = pg_execute("", $v); 
     512                        if (!$resa) { 
     513                                echo "\n\t<p class='err'>Fehler bei Adressen</p>"; 
     514                                if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1", "'".$gmlpers."'", $sqla)."</p>";} 
     515                        } 
     516                        $j=0; 
     517                        while($rowa = pg_fetch_assoc($resa)) { 
     518                                $j++; 
     519                                if ($j === 1) { // erste ("jÃŒngste") Adresse anzeigen 
     520                                        $gmla=$rowa["gml_id"]; 
     521                                        $plz=$rowa["plz"]; // integer 
     522                                        if($plz === 0) { 
     523                                                $plz=""; 
     524                                        } else { 
     525                                                $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); 
     526                                        } 
     527                                        $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); 
     528                                        $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); 
     529                                        $hsnr=$rowa["hausnummer"]; 
     530                                        $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 
     531 
     532                                        echo "\n\t<tr>\n\t\t<td class='ll'>&nbsp;</td>\n\t\t<td>&nbsp;</td>" 
     533                                        ."\n\t\t<td><p class='gadr'>"; 
     534                                        if ($str.$hsnr != "") {echo $str." ".$hsnr."<br>";} 
     535                                        if ($plz.$ort != "") {echo $plz." ".$ort;} 
     536                                        if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} 
     537                                        echo "</p></td>" 
     538                                        ."\n\t\t<td>&nbsp;</td>\n\t</tr>"; 
     539                                } else { // manchmal mehrere Angaben 
     540                                        echo "\n\t<tr>\n\t\t<td class='ll'>&nbsp;</td>\n\t\t<td>&nbsp;</td>" 
     541                                        ."\n\t\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>" 
     542                                        ."\n\t\t<td>&nbsp;</td>\n\t</tr>"; 
    656543                                } 
    657                         } else { // Namensnummer 
    658                                 echo "\n\t\t<td class='nanu' title='Namens-Nummer'>\n\t\t\t<p>".$namnum."&nbsp;</p>\n\t\t</td>" // 2 
    659                                 . "\n\t\t<td>"; // 3 
    660  
    661                         } 
    662                         //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} 
    663  
    664                         // Andere Namensnummern?  Relation:  ax_namensnummer >bestehtAusRechtsverhaeltnissenZu>  ax_namensnummer  
    665                         // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus, dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können.  
    666                         // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 
    667  
    668                 // Schleife 2: P e r s o n 
    669                 // Beziehung: ax_person  <benennt<  ax_namensnummer 
    670                 $sqlp="SELECT nachnameoderfirma, vorname, geburtsname, to_char(cast(geburtsdatum AS date),'DD.MM.YYYY') AS geburtsdatum, namensbestandteil, akademischergrad " 
    671                 ."FROM ax_person WHERE gml_id= $1 AND endet IS NULL;"; 
    672                 $gmlpers=$rown["benennt"]; // leer bei RechtsverhÀltnis 
    673                 $v = array($gmlpers); // gml_id von ax_person 
    674                 $resp = pg_prepare("", $sqlp); 
    675                 $resp = pg_execute("", $v); 
    676                 if (!$resp) { 
    677                         echo "\n\t<p class='err'>Fehler bei Person</p>"; 
    678                         if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1", "'".$gmlpers."'", $sqlp)."</p>";} 
    679                 } 
    680  
    681                 $i=0; // cnt Person 
    682                 while($rowp = pg_fetch_assoc($resp)) { // Schleife weglassen: "benennt" ist KEIN Array! 
    683                         $diePerson=""; //++ Anrede? 
    684                         if ($rowp["akademischergrad"] != "") {$diePerson=$rowp["akademischergrad"]." ";} 
    685                         $diePerson.=$rowp["nachnameoderfirma"]; 
    686                         if ($rowp["vorname"] != "") {$diePerson.=", ".$rowp["vorname"];} 
    687                         if ($rowp["namensbestandteil"] != "") {$diePerson.=". ".$rowp["namensbestandteil"];} 
    688                         if ($rowp["geburtsdatum"] != "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];} 
    689                         if ($rowp["geburtsname"] != "") {$diePerson.=", geb. ".$rowp["geburtsname"];} 
    690                         $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 
    691  
    692                         echo "\n\t\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t\t</td>"; // 3 - Person in Sp.3 hinter NamNum (Sp.2) 
    693                         echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>"; // 4 
    694                                 if ($showkey AND $eiartkey != '') {echo "<span class='key' title='Eigent&uuml;merart'>(".$eiartkey.")</span> ";} 
    695                                 echo "\n\t\t\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$gmlpers; 
    696                                 if ($showkey) {echo "&amp;showkey=j";} 
    697                                 if ($eiartkey == "") {$eiart="Eigent&uuml;mer" ;} // Default. Ersatz-Text, wenn nicht gefÃŒllt 
    698                                 echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart 
    699                                 ." \n\t\t\t\t\t<img src='ico/Eigentuemer.png' width='16' height='16' alt=''>\n\t\t\t\t</a>\n\t\t\t</p>" 
    700                         ."\n\t\t</td>" // 4 
    701                         ."\n\t</tr>"; 
    702  
    703                         if ($mitadresse) { 
    704                                 // Schleife 3: optional  A d r e s s e  zur Person 
    705                                 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland " 
    706                                 ."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 ORDER BY a.beginnt DESC LIMIT 2;"; 
    707                                 $v = array($gmlpers); 
    708                                 $resa = pg_prepare("", $sqla); 
    709                                 $resa = pg_execute("", $v); 
    710                                 if (!$resa) { 
    711                                         echo "\n\t<p class='err'>Fehler bei Adressen</p>"; 
    712                                         if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1", "'".$gmlpers."'", $sqla)."</p>";} 
    713                                 } 
    714                                 $j=0; 
    715                                 while($rowa = pg_fetch_assoc($resa)) { 
    716                                         $j++; 
    717                                         if ($j === 1) { // erste ("jÃŒngste") Adresse anzeigen 
    718                                                 $gmla=$rowa["gml_id"]; 
    719                                                 $plz=$rowa["plz"]; // integer 
    720                                                 if($plz === 0) { 
    721                                                         $plz=""; 
    722                                                 } else { 
    723                                                         $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); 
    724                                                 } 
    725                                                 $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); 
    726                                                 $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); 
    727                                                 $hsnr=$rowa["hausnummer"]; 
    728                                                 $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 
    729  
    730                                                 echo "\n\t<tr>" 
    731                                                         ."\n\t\t<td class='ll'>&nbsp;</td>" // 1 
    732                                                         ."\n\t\t<td>&nbsp;</td>" // 2 
    733                                                         ."\n\t\t<td><p class='gadr'>"; // 3 
    734                                                         if ($str.$hsnr != "") {echo $str." ".$hsnr."<br>";} 
    735                                                         if ($plz.$ort != "") {echo $plz." ".$ort;} 
    736                                                         if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} 
    737                                                 echo "</p></td>" // 3 
    738                                                         ."\n\t\t<td>&nbsp;</td>\n\t</tr>"; // 4 
    739                                         } else { // manchmal doppelte Angaben 
    740                                                 echo "\n\t<tr>" 
    741                                                         ."\n\t\t<td class='ll'>&nbsp;</td>" // 1 
    742                                                         ."\n\t\t<td>&nbsp;</td>" // 2 
    743                                                         ."\n\t\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>" // 3 
    744                                                         ."\n\t\t<td>&nbsp;</td>\n\t</tr>"; // 4 
    745                                         } 
    746                                 } // Ende Loop Adresse zur Person 
    747                                 pg_free_result($resa); 
    748                         } 
    749                         // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 
    750                         $i++; // cnt Person 
    751  
    752                         $zaehler=$rown["zaehler"]; 
    753                         if ($zaehler != "") { // Anteil als eigene Tab-Zeile 
    754                                 $zaehler=str_replace(".", ",", $zaehler); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht 
    755                                 $nenner=str_replace(".", ",", $rown["nenner"]); 
    756                                 $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundst&uuml;ck oder Recht)."; 
    757                                 echo "\n\t<tr>" 
    758                                 ."\n\t\t<td class='ll'>&nbsp;</td>" // 1 
    759                                 ."\n\t\t<td>&nbsp;</td>" // 2 
    760                                 ."\n\t\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>" // 3 
    761                                 ."\n\t\t<td>&nbsp;</td>\n\t</tr>"; // 4 
    762                         } 
    763                 } // End Loop Person 
    764                 pg_free_result($resp); 
    765  
    766                 if ($i === 0) { // KEINE Person. benennt ist leer. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler 
     544                        } 
     545                        pg_free_result($resa); 
     546                }       // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 
     547 
     548                if ($zaehler != "") { // Anteil als eigene Tab-Zeile 
     549                        $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundst&uuml;ck oder Recht)."; 
     550                        echo "\n\t<tr>\n\t\t<td class='ll'>&nbsp;</td>\n\t\t<td>&nbsp;</td>" 
     551                        ."\n\t\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>" 
     552                        ."\n\t\t<td>&nbsp;</td>\n\t</tr>"; 
     553                } 
     554                if ($gmlpers == "") { // KEINE Person. benennt ist leer. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler 
    767555                        if ($dbg > 1) {echo "\n\t\t\t<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>";} 
    768556                        if ($rechtsg !== '9999') { 
     
    771559                        echo "</td>\n\t\t<td>&nbsp;</td>\n\t</tr>"; 
    772560                } 
    773                 $n++; // cnt NamNum 
    774         } // End Loop NamNum 
    775  
     561                $n++; 
     562        } 
    776563        pg_free_result($resn); 
    777564        return $n;  
    778565} 
    779566 
    780 function werteliste ($bez ,$sqlin) { 
    781         // Eine oder mehrere EntschlÃŒsselungen in eine Zeile ausgeben. 
    782         // Dient dazu, SchlÃŒssel-ARRAYs auflösen ohne die Zeile im JOIN mehrfach aufzulisten 
    783         // Anwendung: FS-Nachweis BodenschÀtzung 
    784         global $dbg; 
    785  
    786         if ($bez === 'e') {$tabelle = 'ax_entstehungsartoderklimastufewasserverhaeltnisse_bodensc';}  
    787         elseif ($bez === 's') {$tabelle = 'ax_sonstigeangaben_bodenschaetzung';} 
    788  
    789         $sql="SELECT wert, beschreibung FROM ".$tabelle." WHERE wert IN (".$sqlin.") ORDER BY wert LIMIT $1 ;"; 
    790         $v = array('9'); 
    791         $res = pg_prepare("", $sql); 
    792         $res = pg_execute("", $v); 
    793         if (!$res) { 
    794                 echo "\n<p class='err'>Fehler bei Werteliste.</p>"; 
    795                 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
    796                 return; 
    797         } 
    798         $i=0; 
    799         while($row = pg_fetch_assoc($res)) { 
    800                 echo " ".$row["beschreibung"]; 
    801                 $i++;    
    802         } 
    803         pg_free_result($res); 
    804         if ($i === 0) { 
    805                 echo "(kein Treffer)"; 
    806                 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
    807         } 
    808         return; 
    809 } 
    810  
    811567function fortfuehrungen($entsteh, $dbzeart, $dbzename) { 
    812568// Tabelle im Kopf von FlurstÃŒck und FS-Historie. 2 Z./Sp. Entstehung/FortfÃŒhrung 
    813 // Parameter: Die DB-Spalten "zeitpunktderentstehung", "zeigtaufexternes_art" und "zeigtaufexternes_name" 
     569// Parameter: Die DB-Spalten "zeitpunktderentstehung"[], "zeigtaufexternes_art"[] und "zeigtaufexternes_name"[] 
    814570        global $dbg, $showkey; 
    815571 
    816 //      if ($dbg > 2) {echo "<p class='dbg'>function fortfuehrungen<br>1: ".$dbzeart."<br>2: ".$dbzename."</p>";} 
    817   
    818572        echo "\n\t<table class='fsd'>" // FS-Daten 2 Spalten 
    819                 ."\n\t\t<tr>\n\t\t\t<td>Entstehung</td>" 
    820                 ."\n\t\t\t<td title='Zeitpunkt der Enstehung'>".$entsteh."</td>\n\t\t</tr>"; 
    821         echo "\n\t<tr>" 
    822                 ."\n\t\t\t<td>"; 
     573        ."\n\t\t<tr>\n\t\t\t<td>Entstehung</td>" 
     574        ."\n\t\t\t<td title='Zeitpunkt der Enstehung'>".$entsteh."</td>\n\t\t</tr>"; 
     575        echo "\n\t<tr>\n\t\t\t<td>"; 
    823576        $arrart=explode(",", trim($dbzeart, "{}")); 
    824         foreach($arrart AS $artval) { // Zeile fÃŒr jedes Element 
     577        foreach($arrart AS $artval) { // Eine Zeile fÃŒr jedes Element von "zeigtaufexternes_art" 
    825578                $artval=trim($artval, '"'); 
    826 // ibR: {"Entstehung des FlurstÃŒcks/5200","Letzte FortfÃŒhrung des FlurstÃŒcks/5300",urn:adv:fachdatenverbindung:AA_Antrag} 
    827 // AED: {http://geoportal.kreis-herford.de/alkis/alkis.html#5200,http://geoportal.kreis-herford.de/alkis/alkis.html#5300,urn:adv:fachdatenverbindung:AA_Antrag} 
    828  
    829579                $artpos=strpos($artval, '#'); 
    830580                if ($artpos > 0) { // AED 
    831581                        $artkey=substr($artval, $artpos + 1); 
    832582                        switch ($artkey) { // keine SchlÃŒsseltabelle? 
    833                                 case '5100': $arttxt="Grundst&uuml;ckshinweis (aus ALB-Historie)"; break; 
    834                                 case '5200': $arttxt="Entstehung des Flurst&uuml;cks"; break; 
    835                                 case '5300': $arttxt="Letzte Fortf&uuml;hrung des Flurst&uuml;cks"; break; 
    836                                 default: $arttxt=$artval; 
    837                         } 
    838                         if ($showkey) {echo "<span class='key'><a target='_blank' href='".$artval."'>".$artkey."</a></span> ";} 
     583                                case '5100': 
     584                                        $arttxt="Grundst&uuml;ckshinweis (aus ALB-Historie)"; 
     585                                        $artinfo=""; 
     586                                        break; 
     587                                case '5200': 
     588                                        $arttxt="Entstehung des Flurst&uuml;cks"; 
     589                                        $artinfo="'Entstehung des FlurstÃŒcks' enthÀlt das Jahr der Entstehung, die lfd. Nr. der FortfÃŒhrung und den SchlÃŒssel der FortfÃŒhrungsart zur manuellen Recherche in den Grundbuchakten."; 
     590                                        break; 
     591                                case '5300': 
     592                                        $arttxt="Letzte Fortf&uuml;hrung des Flurst&uuml;cks"; 
     593                                        $artinfo="'Letzte FortfÃŒhrung' enthÀlt das Jahr der letzten FortfÃŒhrung, die lfd. Nr. der FortfÃŒhrung und den SchlÃŒssel der FortfÃŒhrungsart zur manuellen Recherche in den Grundbuchakten."; 
     594                                        break; 
     595                                default: 
     596                                        $arttxt=$artval; 
     597                                        $artinfo=""; 
     598                        } 
     599                        if ($showkey) {echo "<span class='key'><a target='_blank' title='".htmlentities($artinfo, ENT_QUOTES, "UTF-8")."' href='".$artval."'>(".$artkey.")</a></span> ";} 
    839600                        echo $arttxt."<br>"; 
    840601                } else { 
     
    843604                                $artkey=substr($artval, $artpos + 1); 
    844605                                $arttxt=substr($artval, 0, $artpos); 
    845                                 if ($showkey) {echo "<span class='key'>".$artkey."</span> ";} 
    846                                 echo $arttxt."<br>"; 
    847                         } 
    848                 } 
    849         } 
    850         echo "</td>" 
    851         ."\n\t\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
    852         $arrname=explode(",", trim($dbzename, "{}")); 
    853         foreach($arrname AS $val) { 
    854                 echo trim($val, '"')."<br>"; 
    855         } 
    856         echo "</td>" 
    857         ."\n\t\t</tr>" 
    858         ."\n\t</table>"; 
    859 } 
    860  
    861 function fskenn_dbformat ($fskennz) { 
    862         // Erzeugt, wenn notwendig, aus dem Bindetrich-getrennten FlurstÃŒckskennzeichen "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz"  
    863         // das ALKIS-DB-interne Format des FlurstÃŒckskennzeichens. 
     606                                echo DsKy($artkey, 'Fortf&uuml;hrungsart').$arttxt."<br>"; 
     607                        } 
     608                } 
     609        } 
     610        echo "</td>\n\t\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
     611        $arrname=explode(",", trim($dbzename, "{}")); // Eine Zeile fÃŒr jedes Element von "zeigtaufexternes_name" 
     612        foreach($arrname AS $val) {echo trim($val, '"')."<br>";} 
     613        echo "</td>\n\t\t</tr>\n\t</table>"; 
     614} 
     615 
     616function fskenn_dbformat($fskennz) { 
     617// Erzeugt aus dem Bindetrich-getrennten FlurstÃŒckskennzeichen "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz"  
     618// das ALKIS-DB-interne Format des FlurstÃŒckskennzeichens. 
    864619        global $defland; 
    865620        $arr=explode("-", $fskennz, 4); // zerlegen 
     
    875630                } 
    876631                $zflur=str_pad($arr[1], 3 , "0", STR_PAD_LEFT); // Flur-Nr 
    877                 $zfsnr=trim($arr[2]); // FlurstÃŒcke-Nr 
     632                $zfsnr=trim($arr[2]); // FlurstÃŒcks-Nr 
    878633                $zn=explode("/", $zfsnr, 2); // Bruch? 
    879634                $zzaehler=str_pad(trim($zn[0]), 5 , "0", STR_PAD_LEFT); 
     
    894649        return $fskzdb; 
    895650} 
    896  
    897651?> 
  • trunk/info/info/alkisn/alkisfshist.php

    r425 r427  
    11<?php 
    2 /*      Modul: alkisfshist.php 
    3  
    4         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    5         Flurstuecks-Historie fuer ein Flurstueckskennzeichen aus ALKIS PostNAS 
     2/*      alkisfshist.php 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
     7        FlurstÃŒcks-Historie fÃŒr ein FlurstÃŒckskennzeichen aus ALKIS PostNAS 
     8 
    69        Version: 
    710        2016-02-24 Version fÃŒr norGIS-ALKIS-Import 
     
    1114        2020-12-15 Input-Validation und Strict Comparisation (===) 
    1215        2021-12-09 Neuer Parameter $PrntBtn (Drucken-SchaltflÀche) 
     16        2022-01-13 Neue Functions LnkStf(), DsKy() 
    1317*/ 
    1418 
    1519function fzerleg($fs) { 
    16 /*      Flurstueckskennzeichen (20) zerlegen als lesbares Format (wie im Balken): 
     20/*      FlurstÃŒckskennzeichen (20) zerlegen als lesbares Format (wie im Balken): 
    1721        Dies FS-Kennz-Format wird auch als Eingabe in der Navigation akzeptiert  
    1822   ....*....1....*....2 
     
    3741                $arr = explode(",",$stri); 
    3842                foreach($arr AS $val){ 
    39                         echo "Flurst&uuml;ck <a title=' zur Flurst&uuml;ck Historie' href='".selbstverlinkung()."?gkz=".$gkz."&amp;fskennz=".$val; 
    40                         if ($showkey)   {echo "&amp;showkey=j";} 
    41                         echo "'>".fzerleg($val)."</a><br>"; 
     43                        echo "Flurst&uuml;ck <a title=' zur Flurst&uuml;ck Historie' href='".selbstverlinkung()."?gkz=".$gkz."&amp;fskennz=".$val.LnkStf()."'>".fzerleg($val)."</a><br>"; 
    4244                } 
    4345        } 
     
    9092                $gmlv=$rowv["gml_id"]; 
    9193                $vfsk=$rowv["flurstueckskennzeichen"]; 
    92                 echo "Flurst&uuml;ck <a title='Historie des Vorg&auml;ngerflurst&uuml;cks' href='".selbstverlinkung()."?gkz=".$gkz."&amp;fskennz=".$vfsk."&amp;gmlid=".$gmlv; 
    93                         if ($showkey) {echo "&amp;showkey=j";} 
    94                 echo "'>".fzerleg($vfsk)."</a><br>"; 
     94                echo "Flurst&uuml;ck <a title='Historie des Vorg&auml;ngerflurst&uuml;cks' href='".selbstverlinkung()."?gkz=".$gkz."&amp;fskennz=".$vfsk."&amp;gmlid=".$gmlv.LnkStf()."'>".fzerleg($vfsk)."</a><br>"; 
    9595                $zv++; 
    9696        } 
     
    102102 
    103103// Start 
    104  
    105104ini_set("session.cookie_httponly", 1); 
    106105session_start(); 
     
    147146 
    148147$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    149 $dbg=$debug; // CONF in Arbeits-Variable 
    150  
    151 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
    152 // Wirkt temporÀr und wird nicht in Links weiter gereicht. 
     148$dbg=$debug; 
    153149if ($nodebug === "j") {$dbg=0;}  
    154150 
     
    251247        ."\n\t<table class='".$cls."' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" // innere Tabelle Kennzeichen 
    252248                ."\n\t\t<td class='head'>Gemarkung</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>" 
    253                 ."\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
    254                 if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
    255                 echo $gemkname."&nbsp;</td>" 
     249                ."\n\t<tr>\n\t\t<td title='Gemarkung'>".DsKy($gmkgnr, 'Gemarkungsnummer').$gemkname."&nbsp;</td>" 
    256250                ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    257251                ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
     
    263257if ($ftyp === "a") { // Aktuell -> Historie 
    264258        echo "\n<p class='nwlink noprint'>weitere Auskunft: " 
    265                 ."<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n"; 
    266                         if ($showkey)   {echo "&amp;showkey=j";} 
    267                         echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
    268                         ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    269                 ."</a>"; 
     259        ."<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid.LnkStf()."&amp;eig=n' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
     260        ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>"; 
    270261} 
    271262echo "\n<hr>" 
     
    277268        </tr>"; // Head 
    278269         
    279         // Spalte 1: F l u r s t ÃŒ c k 
     270        // Sp.1: FlurstÃŒck 
    280271        echo "\n<tr>\n\t<td>" 
    281272                ."<img src='ico/".$ico."' width='16' height='16' alt=''> ".$wert 
     
    283274        ."</td>"; 
    284275 
    285         // Spalte 2: V o r g À n g e r 
     276        // Sp.2: VorgÀnger 
    286277        echo "\n\t<td>"; 
    287278        switch ($ftyp) { // Diff. Hist./Akt. 
     
    298289        echo"</td>"; 
    299290 
    300         // Spalte 3: N a c h f o l g e r 
     291        // Sp.3: Nachfolger 
    301292        echo "\n\t<td>"; 
    302293                vornach($nach); 
  • trunk/info/info/alkisn/alkisfsnw.php

    r425 r427  
    11<?php 
    2 /*      Modul: alkisfsnw.php 
    3  
    4         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    5         FlurstÃŒcksnachweis fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS 
     2/*      alkisfsnw.php 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
     7        FlurstÃŒcksnachweis fÃŒr ein FlurstÃŒckskennzeichen aus ALKIS PostNAS 
    68 
    79        Version: 
    810        2016-02-24 Version fÃŒr norGIS-ALKIS-Import 
    9         ..... 
    10         2020-02-20 Authentifizierung ausgelagert in Function darf_ich() 
    11         2020-10-13 debug-infos raus 
     11        ... 
    1212        2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF'] 
    1313        2020-12-09 Verschn. mit "Bau-, Raum- oder Bodenordnungsrecht" korrigiert, Entschl. BodenschÀtzung korrigiert 
     
    1515        2021-03-09 Link zum GebÀudenachweis auch mit "Bauwerke" betiteln 
    1616        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche) 
     17        2022-01-13 Functions in Fach-Modul verschoben, die nicht von mehreren verwendet werden. Neue Functions LnkStf(), DsKy() 
    1718 
    1819ToDo: 
     
    2324        - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen)  
    2425*/ 
     26 
     27function werteliste($bez ,$sqlin) { 
     28// Eine oder mehrere EntschlÃŒsselungen in eine Zeile ausgeben. 
     29// Dient dazu, SchlÃŒssel-ARRAYs auflösen ohne die Zeile im JOIN mehrfach aufzulisten 
     30// Anwendung: FS-Nachweis BodenschÀtzung 
     31        global $dbg; 
     32 
     33        if ($bez === 'e') {$tabelle = 'ax_entstehungsartoderklimastufewasserverhaeltnisse_bodensc';}  
     34        elseif ($bez === 's') {$tabelle = 'ax_sonstigeangaben_bodenschaetzung';} 
     35 
     36        $sql="SELECT wert, beschreibung FROM ".$tabelle." WHERE wert IN (".$sqlin.") ORDER BY wert LIMIT $1 ;"; 
     37        $v = array('9'); 
     38        $res = pg_prepare("", $sql); 
     39        $res = pg_execute("", $v); 
     40        if (!$res) { 
     41                echo "\n<p class='err'>Fehler bei Werteliste.</p>"; 
     42                if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
     43                return; 
     44        } 
     45        $zeianz=pg_num_rows($res); 
     46        while($row = pg_fetch_assoc($res)) { 
     47                echo " ".$row["beschreibung"]; 
     48        } 
     49        pg_free_result($res); 
     50        if ($zeianz === 0) { 
     51                echo "(kein Treffer)"; 
     52                if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
     53        } 
     54        return; 
     55} 
     56 
     57// Start 
    2558ini_set("session.cookie_httponly", 1); 
    2659session_start(); 
     
    71104<?php 
    72105$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    73 $dbg=$debug; // CONF in Arbeits-Variable 
    74  
    75 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. Blendet z.B. "fiktives Blatt" aus. 
    76 // Wirkt temporÀr und wird nicht in Links weiter gereicht. 
     106$dbg=$debug; 
    77107if ($nodebug === "j") {$dbg=0;}  
    78108 
     
    91121        } else { 
    92122                echo "\n<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ckskennzeichen='".$fskennz."' (".$fskzdb.")</p>"; 
    93                 echo "<p>Kennzeichen veraltet? <a href='./alkisfshist.php?gkz=".$gkz."&fskennz=".$fskennz."'>Suche in der Flurst&uuml;cks-Historie</a></p>"; 
     123                echo "<p>Kennzeichen veraltet? <a href='./alkisfshist.php?gkz=".$gkz."&fskennz=".$fskennz.LnkStf()."'>Suche in der Flurst&uuml;cks-Historie</a></p>"; 
    94124                echo "\n</body>\n</html>"; 
    95125                return; 
     
    98128} 
    99129 
    100 // F L U R S T U E C K  m. Gebiet 
     130// F L U R S T Ü C K  m. Gebiet 
    101131$sql ="SELECT f.zeigtaufexternes_art, f.zeigtaufexternes_name, f.flurnummer, f.zaehler, f.nenner, f.gemeindezugehoerigkeit_regierungsbezirk, f.gemeindezugehoerigkeit_kreis, f.gemeindezugehoerigkeit_gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae,  
    102132to_char(cast(f.zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, f.istgebucht, g.gemarkungsnummer, g.bezeichnung, r.bezeichnung AS rbez, k.bezeichnung AS kbez, m.bezeichnung AS mbez  
     
    136166        $flstnummer=$zaehler; 
    137167        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr 
    138         $fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld 
     168        $fsbuchflae=$row["amtlicheflaeche"]; // amtl. Fl. aus DB-Feld 
    139169        $fsgeomflae=$row["fsgeomflae"]; // aus Geometrie ermittelte FlÀche 
    140170        $the_Xfactor = $fsbuchflae / $fsgeomflae; // Multiplikator zur Umrechnung geometrische AbschnittsflÀchen in BuchflÀche 
     
    165195if ( ($filtkreis != '' and $filtkreis != $kreis) or ($filtgem != '' and $filtgem != $gemeinde) ) { 
    166196        // Einer der gesetzten Filter passt nicht 
    167         if ($dbg > 2) { //++ Schönes Bild? Stop-Zeichen? 
     197        if ($dbg > 2) { 
    168198                echo "\n<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>" 
    169199                ."\n<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
     
    179209        ."\n\t\t\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t\t\t\t<tr>" // darin Tabelle Kennzeichen 
    180210                ."\n\t\t\t\t\t<td class='head'>Gemarkung</td>\n\t\t\t\t\t<td class='head'>Flur</td>\n\t\t\t\t\t<td class='head'>Flurst-Nr.</td>\n\t\t\t\t</tr>" 
    181                 ."\n\t\t\t\t<tr>\n\t\t\t\t\t<td title='Gemarkung'>"; 
    182                         if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
    183                         echo $gemkname."&nbsp;</td>" 
     211                ."\n\t\t\t\t<tr>\n\t\t\t\t\t<td title='Gemarkung'>".DsKy($gmkgnr, 'Gemarkungsnummer').$gemkname."&nbsp;</td>" 
    184212                ."\n\t\t\t\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    185213                ."\n\t\t\t\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t\t\t\t</tr>" 
     
    194222."\n</tr>"; 
    195223 
    196 echo "\n<tr>" // Zeile: G e b i e t s z u g e h o e r i g k e i t  Gemeinde / Kreis / Regierungsbezirk 
     224echo "\n<tr>" // Zeile: Gebietszugehörigkeit - Gemeinde / Kreis / Reg.bez. 
    197225        ."\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.png' width='16' height='16' alt=''> Gebiet:</td>" 
    198226        ."\n\t<td>Gemeinde<br>Kreis<br>Regierungsbezirk</td>" 
    199         ."\n\t<td class='lr' colspan='3'>"; // 3-5 
    200                 if ($showkey) {echo "<span class='key'>(".$gemeinde.")</span> ";} 
    201                 echo $mbez."<br>"; 
    202                 if ($showkey) {echo "<span class='key'>(".$kreis.")</span> ";} 
    203                 echo $kbez."<br>"; 
    204                 if ($showkey) {echo "<span class='key'>(".$bezirk.")</span> ";} 
    205                 echo $rbez 
    206         ."</td>" 
     227        ."\n\t<td class='lr' colspan='3'>".DsKy($gemeinde, 'Gemeinde-Nummer').$mbez."<br>".DsKy($kreis, 'Kreis-Nummer').$kbez."<br>".DsKy($bezirk, 'Regierungsbezirk-Nummer').$rbez."</td>" 
    207228        ."\n\t<td class='nwlink'>"; 
    208229        if ($fsHistorie){ // conf 
    209230                echo "\n\t\t<p class='nwlink noprint'>" 
    210                 ."\n\t\t\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\t\t</p>\n\t"; 
     231                ."\n\t\t\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid.LnkStf() 
     232                ."' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie <img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''></a>\n\t\t</p>\n\t"; 
    216233        } 
    217234        echo "</td>" 
    218235."\n</tr>"; 
    219236 
    220 // ** L a g e b e z e i c h n u n g ** 
     237// L a g e b e z e i c h n u n g 
    221238 
    222239// Lagebezeichnung  M I T  Hausnummer 
     
    250267                $hsnr=$row["hausnummer"]; 
    251268                echo "\n<tr>"; 
    252                         if ($j === 0) { // 1 
     269                        if ($j === 0) { 
    253270                                echo "\n\t<td class='ll'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> Adresse:</td>"; 
    254271                        } else { 
    255272                                echo "\n\t<td>&nbsp;</td>"; 
    256273                        } 
    257                         echo "\n\t<td>&nbsp;</td>" // 2 
    258                         ."\n\t<td class='lr' colspan='3'>"; // 3-5 
    259                                 if ($showkey) {echo "<span class='key' title='Straßenschl&uuml;ssel'>(".$row["lage"].")</span>&nbsp;";} 
    260                                 echo $sname."&nbsp;".$hsnr."</td>"; 
    261                         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; // 6 
     274                        echo "\n\t<td>&nbsp;</td>" 
     275                        ."\n\t<td class='lr' colspan='3'>".DsKy($row["lage"], 'Straßen-*').$sname."&nbsp;".$hsnr."</td>" 
     276                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    262277 
    263278                        // +++ davor auch Link "Straße" 
     
    266281                                $kgmlalt=$kgml; // Katalog GML-ID 
    267282                                echo "\n\t\t\t<a title='Flurst&uuml;cke mit oder ohne Hausnummer".$slink."' " 
    268                                 ."href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$kgml."'>Stra&szlig;e " 
     283                                ."href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$kgml.LnkStf()."'>Stra&szlig;e " 
    269284                                ."<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a> "; 
    270285                        } 
    271286 
    272                         echo "\n\t\t\t<a title='Flurst&uuml;cke und Geb&auml;ude mit Hausnummer ".$hsnr."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]; 
    273                                 if ($showkey) {echo "&amp;showkey=j";} 
    274                                 echo "'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>" 
     287                        echo "\n\t\t\t<a title='Flurst&uuml;cke und Geb&auml;ude mit Hausnummer ".$hsnr."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"].LnkStf() 
     288                                ."'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>" 
    275289                        ."\n\t\t</p>\n\t</td>"  // 6 
    276290                ."\n</tr>"; 
     
    293307if (!$res) { 
    294308        echo "\n<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>"; 
    295         //if ($dbg > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>";} 
    296309        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";} 
    297310} 
    298 $j=0; 
    299311while($row = pg_fetch_assoc($res)) { 
    300312        $skey=$row["lage"]; // Strassenschl. 
     
    304316                echo "\n<tr>" 
    305317                        ."\n\t<td class='ll' title='unverschl&uuml;sselte Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>" // 1 
    306                         ."\n\t<td></td>" // 2 
    307                         ."\n\t<td class='lr' colspan='3'>".$gewann."</td>" // 3-5 
    308                         ."\n\t<td>\n\t\t<p class='nwlink noprint'>" // 6 
    309                                 ."\n\t\t\t<a title='Flurst&uuml;cke mit der Gewanne ".$gewann."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
    310                                 if ($showkey) {echo "&amp;showkey=j";}                           
    311                                 echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>" 
    312                         ."\n\t\t</p>\n\t</td>" // 6 
     318                        ."\n\t<td></td>" 
     319                        ."\n\t<td class='lr' colspan='3'>".$gewann."</td>" 
     320                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
     321                                ."\n\t\t\t<a title='Flurst&uuml;cke mit der Gewanne ".$gewann."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml.LnkStf() 
     322                                ."'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>" 
     323                        ."\n\t\t</p>\n\t</td>" 
    313324                ."\n</tr>"; 
    314325        } elseif ($skey > 0) { 
     
    320331                } 
    321332                echo "\n<tr>" 
    322                         ."\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>" // 1 
    323                         ."\n\t<td></td>" // 2 
    324                         ."\n\t<td class='lr' colspan='3'>"; // 3-5 
    325                                 if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";} 
    326                                 echo $sname."</td>"; 
    327                         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>" // 6 
    328                                 ."\n\t\t\t<a title='FlurstÃŒcke ".$slink."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
    329                                 if ($showkey) {echo "&amp;showkey=j";}                           
    330                                 echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>" 
    331                         ."\n\t\t</p>\n\t</td>" // 6 
     333                        ."\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>" 
     334                        ."\n\t<td></td>\n\t<td class='lr' colspan='3'>".DsKy($skey, 'Straßen-*').$sname."</td>"; 
     335                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>" 
     336                                ."\n\t\t\t<a title='FlurstÃŒcke ".$slink."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml.LnkStf() 
     337                                ."'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>" 
     338                        ."\n\t\t</p>\n\t</td>" 
    332339                ."\n</tr>"; 
    333340        } 
    334         $j++; 
    335341} 
    336342pg_free_result($res); 
     
    381387                } 
    382388                $absflaebuch = number_format($flae,0,",",".") . " m&#178;"; // Formatierte Abschnitts-Buch-FlÀche 
    383                 echo "\n\t<td></td>"; // 2 
    384                 echo "\n\t<td class='fla' title='Buchfl&auml;che des Abschnitts'>".$absflaebuch."</td>"; // 3 - gleiche Spalte wie Fl. in BodenschÀtzg. 
    385                 echo "\n\t<td></td>"; // 4 
    386                 echo "\n\t<td class='lr' title='".$title."'>"; // 5 - gleiche Sp. wie Zustandsstufe usw. 
    387                         if ($showkey) {echo "<span class='key'>(".$nutzsl.")</span> ";} 
    388                         echo $nutzung 
    389                 ."</td>" 
    390                 ."\n\t<td>"; // 6 
     389                echo "\n\t<td></td>" 
     390                ."\n\t<td class='fla' title='Buchfl&auml;che des Abschnitts'>".$absflaebuch."</td>" // Sp. wie Fl. in BodenschÀtzg. 
     391                ."\n\t<td></td>" 
     392                ."\n\t<td class='lr' title='".$title."'>".DsKy($nutzsl, 'Nutzungsarten-*').$nutzung."</td>" 
     393                ."\n\t<td>"; 
    391394/*              // Derzeit ist keine Gruppe zugeordnet 
    392395                        switch ($grupp) { // Icon nach 4 Objektartengruppen 
     
    395398                                case "Vegetation": $ico = "Wald.png"; break; 
    396399                                case "GewÀsser":   $ico = "Wasser.png";        break; 
    397                                 default:        $ico = "Abschnitt.png"; break; 
     400                                default: $ico = "Abschnitt.png"; break; 
    398401                        } 
    399402                        // Icon ist auch im Druck sichtbar, class='noprint' ?            
    400403                        echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>"; */ 
    401                 echo "</td>" // 6 
     404                echo "</td>" 
    402405        ."\n</tr>"; 
    403406        $j++; 
     
    414417        ."\n\t<td>" // 6 Link auf GebÀude-Auswertung 
    415418                ."\n\t\t<p class='nwlink noprint'>" // Gebaeude-Verschneidung 
    416                 ."\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    417                 if ($showkey) {echo "&amp;showkey=j";} 
     419                ."\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid.LnkStf(); 
    418420                if ($cnt_adressen > 0) { // wenn Adresse vorgekommen ist 
    419421                        echo "' title='Geb&auml;ude oder Bauwerke auf oder an dem Flurst&uuml;ck'>Geb&auml;ude/Bauw."; 
     
    482484                ."\n\t<td class='lr'><span title='".$kbez1."'>".$boedenzahl."</span>/<span title='".$kbez2."'>".$ackerzahl."</span></td>" 
    483485                ."\n\t<td class='lr'>"; 
    484  
    485                         if ($showkey) {echo "\n\t\t<span class='key'>(".$kulturartk.")</span> ";} 
    486                         echo "\n\t\t<span title='Kulturart'>".$kulturartv."</span> "; 
    487  
    488                         if ($showkey) {echo "\n\t\t<span class='key'>(".$row['bodenartk'].")</span> ";} 
    489                         echo "\n\t\t<span title='Bodenart'>".$row['bodenartv']."</span> "; 
    490  
    491                         echo "\n\t\t<span title='Zustandsstufe'>".$row['zustbodv']."</span> "; 
     486                echo "\n\t\t".DsKy($kulturartk, 'Kulturart')." <span title='Kulturart-*'>".$kulturartv."</span>"; 
     487                echo "\n\t\t<br>".DsKy($row['bodenartk'], 'Bodenart-*')." <span title='Bodenart'>".$row['bodenartv']."</span>"; 
     488                echo "\n\t\t<br><span title='Zustandsstufe'>".$row['zustbodv']."</span>"; 
    492489 
    493490                        // 2 ARRAYs auflösen 
    494491                        if (isset($entsteh)) { 
    495492                                $ent=trim($entsteh, "{}"); 
    496                                 echo "\n\t\t <span title='Enststehungsart oder Klimastufe, Wasserverh&auml;ltnisse'>"; 
    497                                         if ($showkey) {echo "\n\t\t <span class='key'>(".$ent.")</span> ";} 
    498                                         werteliste ('e', $ent); 
     493                                echo "\n\t\t<br><span title='Enststehungsart oder Klimastufe, Wasserverh&auml;ltnisse'>".DsKy($ent, '*'); 
     494                                werteliste('e', $ent); // ++ Zeilenweise mit <br> ? 
    499495                                echo "</span>"; 
    500496                        } 
    501497                        if (isset($sonst)) { 
    502498                                $son=trim($sonst, "{}"); 
    503                                 echo "\n\t\t <span title='Sonstige Angaben'>"; 
    504                                         if ($showkey) {echo "\n\t\t <span class='key'>(".$son.")</span> ";} 
    505                                         werteliste ('s', $son); 
    506                                 echo "</span>"; 
     499                                echo "\n\t\t<br><span title='Sonstige Angaben'>".werteliste('s', $son)."</span>"; // ++ Zeilenweise mit <br> ? 
    507500                        } 
    508501                        if (isset($jahr)) { 
    509                                 echo "\n\t\t<span title='Jahreszahl'>".$jahr."</span>"; 
     502                                echo "\n\t\t<br><span title='Jahreszahl'>".$jahr."</span>"; 
    510503                        } 
    511504                echo "\n\t</td>" 
     
    557550                                ."\n\t<td>Bodenrecht</td>" // 1 
    558551                                ."\n\t<td class='re'>Festlegung: </td>" // 2 "Art der Festlegung" zu lang 
    559                                 ."\n\t<td colspan='3'>"; // 3-5 
    560                                         if ($showkey) {echo "<span class='key'>(".$row['wert'].")</span> ";} 
    561                                         echo $row['art_verf'] 
    562                                 ."</td>"; 
    563                                 echo "\n\t<td>" // 6 LINK: 
     552                                ."\n\t<td colspan='3'>".DsKy($row['wert'], 'Art des Verfahrens').$row['art_verf']."</td>"; 
     553                                echo "\n\t<td>" 
    564554                                        ."\n\t\t<p class='nwlink noprint'>" 
    565                                         ."\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml']; 
    566                                         if ($showkey) {echo "&amp;showkey=j";} 
    567                                         echo "' title='Bau-, Raum- oder Bodenordnungsrecht'>Recht <img src='ico/Gericht.png' width='16' height='16' alt=''></a>" 
     555                                        ."\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml'].LnkStf() 
     556                                        ."' title='Bau-, Raum- oder Bodenordnungsrecht'>Recht <img src='ico/Gericht.png' width='16' height='16' alt=''></a>" 
    568557                                        ."\n\t\t</p>"            
    569558                                ."\n\t</td>" 
     
    574563                                        ."\n\t<td>&nbsp;</td>" // 1 
    575564                                        ."\n\t<td class='re'>Dienststelle: </td>" // 2 
    576                                         ."\n\t<td colspan='3'>"; // 3-5 
    577                                                 if ($showkey) {echo "<span class='key'>(".$dstell.")</span> ";} 
    578                                                 echo $row['stelle_bez'] 
    579                                         ."</td>" 
    580                                         ."\n\t<td>&nbsp;</td>" // 6 
     565                                        ."\n\t<td colspan='3'>".DsKy($dstell, 'Art der Dienststelle').$row['stelle_bez']."</td>" 
     566                                        ."\n\t<td>&nbsp;</td>" 
    581567                                ."\n</tr>"; 
    582568                        } 
     
    588574                                        ."\n\t<td class='re'>Verfahren: </td>" 
    589575                                        ."\n\t<td colspan='3'>"; 
    590                                                 if ($vnam == "") { 
    591                                                         echo $vbez; // nur die Nummer 
    592                                                 } else { // Name oder beides 
    593                                                         if ($showkey) {echo "<span class='key'>(".$vbez.")</span> ";} 
    594                                                         echo $vnam; 
    595                                                 } 
     576                                        if ($vnam == "") { 
     577                                                echo $vbez; // nur die Nummer 
     578                                        } else { // Name oder beides 
     579                                                echo DsKy($vbez, 'Nummer des Verfahrens').$vnam; 
     580                                        } 
    596581                                        echo "</td>" 
    597582                                        ."\n\t<td>&nbsp;</td>" 
     
    627612                $verf_next=array(); // .. und zum AuffÃŒllen leeren 
    628613                $stufe++; 
    629                 $i=0; // SchleifenzÀhler Elemente 
    630614                foreach($verf_akt as $gml_ber_bs) { 
    631                         $i++; 
    632615                        if (ber_bs_zaehl($gml_ber_bs) > 0) { 
    633616                                $verf_neu=ber_bs_anzg($gml_ber_bs, $eig, false, $gmlid, ""); // Anzeige ber. Buchungst., ggf. mit EigentÃŒmer. 
    634617                                $anz_neu=count($verf_neu); // Das Ergebnis zÀhlen 
    635                         //      if ($dbg > 2) {echo "<p class='dbg'>Weiter zu verfolgen: Stufe ".$stufe.", Element ".$i.", Anzahl: ".$anz_neu."</p>";} 
    636618                                if ($anz_neu > 0) { // wenn neue geliefert 
    637619                                        $verf_next=array_merge($verf_next, $verf_neu); // die neuen an die Sammlung heften 
     
    647629        // Wenn der Verweis der Buchungsstelle auf ein Grundbuch ins Leere lÀuft, weil das Grundbuch  
    648630        //  nicht im SekundÀrbestand vorhanden ist, dann könnte das am NBA-Verfahren liegen. 
    649         if ( $gezeigt === 0 and $stufe === 1 ) { // and $anzber === 0 
    650         //      Fehlt die Buchung oder das Grundbuch? 
     631        if ( $gezeigt === 0 and $stufe === 1 ) { 
    651632                echo "<p class='err'>Das Grundbuch zur Buchung '".$gml_buchungsstelle."' fehlt in der Datenbank.</p>"; 
    652                  
    653                 if ($dbg > 1) { // fehlt die Buchung?? 
     633                if ($dbg > 2) { // fehlt die Buchung? 
    654634                        echo "<p class='dbg'>Suchen mit SQL: SELECT * FROM ax_buchungsstelle WHERE gml_id='".$gml_buchungsstelle."'; </p>"; 
    655635                } 
    656         // Buchung verlinken fÃŒr weitere Suche:        alkisgsnw.php?gkz=320&gmlid=DENW18AL0000SEbl 
    657         // Aber das Modul zeigt nichts an (inner join ?) 
    658         // +++ ZunÀchst: Auch im Modul alkisgsnw.php den Fall berÃŒcksichtigen, dass die Buchung vorhanden ist, aber das GB nicht ?! 
    659636        } 
    660637} 
  • trunk/info/info/alkisn/alkisgebaeudenw.php

    r425 r427  
    11<?php 
    2 /*      alkisgebaeudenw.php - Gebaeudenachweis 
    3         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
     2/*      alkisgebaeudenw.php 
     3 
     4        ALKIS-Buchauskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
     7        GebÀude- und Bauwerks-Nachweis fÃŒr ein FlurstÃŒck 
    48 
    59        Version: 
    610        2016-02-24 Version fÃŒr norGIS-ALKIS-Import 
    7         .... 
     11        ... 
    812        2020-02-20 Authentifizierung ausgelegert in Function darf_ich() 
    913        2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF'] 
     
    1216        2021-03-11 Adresse(n) des gehörtZu-Haus zum Bauwerk nicht mehr hier anzeigen sondern im neuen Bauwerk-Modul. 
    1317        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche) 
     18        2022-01-13 Neue Functions LnkStf(), DsKy() 
     19        2022-02-17 Neue Bauwerks-Typen 
    1420*/ 
    1521 
     
    3440} 
    3541         
    36 // Kopf fÃŒr die Anzeige der Bauwerke. Nur wenn tatsÀchlich Bauwerke vorkommen. 
    3742function bauw_tab_head() { 
     43// Kopf fÃŒr die Anzeige der Bauwerke. Nur wenn tatsÀchlich Bauwerke vorkommen.         
     44 
    3845        // Überschrift 
    3946        echo "\n\n<h3><img src='ico/Haus.png' width='16' height='16' alt=''> Bauwerke</h3>" 
     
    5461 
    5562// S T A R T 
    56  
    5763ini_set("session.cookie_httponly", 1); 
    5864session_start(); 
     
    9298 
    9399$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    94 $dbg=$debug; // CONF in Arbeits-Variable 
    95  
    96 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
    97 // Wirkt temporÀr und wird nicht in Links weiter gereicht. 
     100$dbg=$debug; 
    98101if ($nodebug === "j") {$dbg=0;}  
    99  
    100102$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisgebaeudenw.php'"); 
    101103if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    102104 
    103 // Flurstueck 
     105// FlurstÃŒck 
    104106$sqlf ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung  
    105107FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ".UnqKatAmt("f","g") 
     
    148150                                        ."\n\t\t\t<td class='head'>Flurst-Nr.</td>" 
    149151                                ."\n\t\t</tr>\n\t\t<tr>" 
    150                                         ."\n\t\t\t<td title='Gemarkung'>"; 
    151                                         if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
    152                                         echo $gemkname."&nbsp;</td>" 
     152                                        ."\n\t\t\t<td title='Gemarkung'>".DsKy($gmkgnr, 'Gemarkungsnummer').$gemkname."&nbsp;</td>" 
    153153                                        ."\n\t\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    154154                                        ."\n\t\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>" 
     
    158158                ."\n\t<td>" 
    159159                        ."\n\t\t<p class='nwlink noprint'>" // Links zu anderem Nachweis 
    160                                 ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    161                                 if ($showkey) {echo "&amp;showkey=j";} 
    162                                 echo "&amp;eig=n' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
     160                                ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid.LnkStf() 
     161                                ."&amp;eig=n' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
    163162                        ."\n\t\t</p>" 
    164163                ."\n\t</td>" 
     
    169168pg_free_result($resf); 
    170169 
    171 // G e b a e u d e 
    172  
     170// GebÀude 
    173171$sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, h.beschreibung AS bauweise_beschreibung, u.beschreibung AS bezeichner, u.dokumentation AS gfktd, g.zustand, z.beschreibung AS bzustand,  
    174 round(st_area(g.wkb_geometry)::numeric,2) AS gebflae, "; // GEB-Flaeche, auch ausserhalb des FS 
     172round(st_area(g.wkb_geometry)::numeric,2) AS gebflae, "; // GEB-FlÀche, auch ausserhalb des FS 
    175173$sqlg.="round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae, "; // wie viel vom GEB liegt im FS? 
    176174$sqlg.="st_within(g.wkb_geometry,f.wkb_geometry) as drin  
     
    181179WHERE f.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL "; 
    182180 
    183 // "within" -> nur Geb., die komplett im FS liegen. "intersects" -> auch teil-ueberlappende Flst. 
     181// "within" -> nur Geb., die komplett im FS liegen. "intersects" -> auch teil-ÃŒberlappende Flst. 
    184182$sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true "; 
    185183// RLP: keine Relationen zu NebengebÀuden. Auf Qualifizierung verzichten, sonst werden NebengebÀude nicht angezeigt 
     
    202200        $ggml=$rowg["gml_id"]; 
    203201        $gebflsum=$gebflsum + $rowg["schnittflae"]; 
    204         $gnam=trim(trim($rowg["name"], "{}"), '"'); // Gebaeude-Name ist ein Array in der DB: '{"A","B"}' 
     202        $gnam=trim(trim($rowg["name"], "{}"), '"'); // GebÀude-Name ist ein Array in der DB: '{"A","B"}' 
    205203        // Mehrfachbelegung nur theoretisch. Entklammern reicht. Mal mit und mal ohne "" drum!? 
    206         /* SELECT name FROM ax_gebaeude WHERE NOT name IS NULL AND array_length(name, 1) > 1; */ 
    207204        $gfktk=htmlentities($rowg["gebaeudefunktion"], ENT_QUOTES, "UTF-8");  // Geb.-Funktion Key 
    208         $gfktv=htmlentities($rowg["bezeichner"], ENT_QUOTES, "UTF-8"); // Geb.Funktion Value 
    209         $gfktd=htmlentities($rowg["gfktd"], ENT_QUOTES, "UTF-8"); // GebÀude-Funktion-Description 
     205        $gfktv=htmlentities($rowg["bezeichner"], ENT_QUOTES, "UTF-8"); // -Value 
     206        $gfktd=htmlentities($rowg["gfktd"], ENT_QUOTES, "UTF-8"); // -Description 
    210207 
    211208        $gbauw=$rowg["bauweise"]; 
     
    235232                ."\n\t<td>"; 
    236233                if ($gnam != "") {echo "<span title='Geb&auml;udename'>".$gnam."</span><br>";} 
    237                 echo "</td>"; 
    238  
    239                 echo "\n\t<td class='fla'>".$f1."</td>" 
    240                 ."\n\t<td class='".$gstyle."'>".$f2."</td>"; // FlÀchenangaben 
    241  
    242                 echo "\n\t<td title='".$gfktd."'>"; // Funktion 
    243                         if ($showkey) {echo "<span class='key'>(".$gfktk.")</span>&nbsp;";} 
    244                         echo $gfktv; 
    245                 echo "</td>"; 
    246  
    247                 echo "\n\t<td>"; 
     234                echo "</td>" 
     235                ."\n\t<td class='fla'>".$f1."</td>\n\t<td class='".$gstyle."'>".$f2."</td>" // FlÀchenangaben 
     236                ."\n\t<td title='".$gfktd."'>".DsKy($gfktk, 'Funktion-*').$gfktv."</td>" 
     237                ."\n\t<td>"; 
    248238                if ($gbauw != "") { 
    249                         if ($showkey) {echo "<span class='key'>(".$gbauw.")</span>&nbsp;";} 
    250                         echo $gbauwb; 
    251                 } 
    252                 echo "</td>"; 
    253  
    254                 echo "\n\t<td>"; 
     239                        echo DsKy($gbauw, 'Bauweise-*').$gbauwb; 
     240                } 
     241                echo "</td>\n\t<td>"; 
    255242                if ($gzus != "") { 
    256                         if ($showkey) {echo "<span class='key'>(".$gzus.")</span>&nbsp;";} 
    257                         echo $gzustand; 
     243                        echo DsKy(gzus, 'Zustand-*').$gzustand; 
    258244                } 
    259245                echo "</td>"; 
     
    298284                                $lagetxt=$snam." ".$hsnr; 
    299285                        } 
    300                         echo "\n\t\t<a title='".$lagetitl."' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp; 
    301                                 if ($showkey) {echo "&amp;showkey=j";} 
    302                                 echo "'>"; 
    303                                 if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";} 
    304                         echo $lagetxt."&nbsp;<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a><br>"; 
     286                        echo "\n\t\t<a title='".$lagetitl."' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp.LnkStf()."'>" 
     287                        .DsKy($skey, 'Stra&szlig;en-*').$lagetxt."&nbsp;<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a><br>"; 
    305288                } // Ende Loop Lage m.H. 
    306289                pg_free_result($resl); 
     
    308291 
    309292                echo "\n\t<td class='nwlink noprint'>" // Link Haus 
    310                         ."\n\t\t<a title='Daten zum Geb&auml;ude-Objekt' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml; 
    311                         if ($showkey) {echo "&amp;showkey=j";} 
    312                         echo "'>Haus&nbsp;<img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
     293                        ."\n\t\t<a title='Daten zum Geb&auml;ude-Objekt' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml.LnkStf() 
     294                        ."'>Haus&nbsp;<img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
    313295                ."\n\t</td>" 
    314296        ."\n</tr>"; 
     
    317299if ($gebnr === 0) { 
    318300        echo "<p><br>Kein Geb&auml;ude auf diesem Flurst&uuml;ck.<br>&nbsp;</p>"; 
    319         //if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    320301} else { 
    321302        echo "\n<tr>" 
     
    331312 
    332313// B a u w e r k e 
    333  
    334314// Konstanten fÃŒr Sortierung und Gruppierung 
    335315$btyp_verkehr=1; $btyp_gewaesser=2; $btyp_sonst=3; $btyp_indu=4; $btyp_sport=5; 
    336316$btyp_leitg=6; $btyp_trans=7; $btyp_turm=8; $btyp_vorrat=9; 
    337  
    338 // Tabllen-Alias, 2stellig. 1. Stelle: f_=FlurstÃŒck, b_=Bauwerk, k_=Key = SchlÃŒsseltabelle. // 2. Stelle: wie Konstante 
    339  
    340 // 1 -V e r k e h r 
     317$btyp_hist=10; $btyp_heil=11; $btyp_oeff=12; $btyp_bpkt=13; 
     318 
     319// Tabllen-Alias, 2-3 stellig. 1. Stelle: f_=FlurstÃŒck, b_=Bauwerk, k_=Key = SchlÃŒsseltabelle. // 2.-3. Stelle: wie Konstante 
     320 
     321// 1 - V e r k e h r 
    341322$sqlb="SELECT ".$btyp_verkehr." AS bwtyp, b1.gml_id,  
    342  b1.bauwerksfunktion, k1.beschreibung AS bezeichner, k1.dokumentation AS bfktd, b1.bezeichnung, b1.name, NULL AS gehoertzu,  
     323 b1.bauwerksfunktion, k1.beschreibung, k1.dokumentation, b1.bezeichnung, b1.name, NULL AS gehoertzu,  
    343324 round(st_area(b1.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b1.wkb_geometry,f1.wkb_geometry))::numeric,2) AS schnittflae,  
    344325 st_within(b1.wkb_geometry,f1.wkb_geometry) as drin, GeometryType(b1.wkb_geometry) as bgeotyp  
     
    349330// 2 - G e w À s s e r 
    350331$sqlb.="UNION 
    351  SELECT ".$btyp_gewaesser." AS bwtyp, b2.gml_id, b2.bauwerksfunktion, ug.beschreibung AS bezeichner, ug.dokumentation AS bfktd,  
    352  b2.bezeichnung, b2.name, NULL AS gehoertzu,  
     332 SELECT ".$btyp_gewaesser." AS bwtyp, b2.gml_id, b2.bauwerksfunktion, k2.beschreibung, k2.dokumentation, b2.bezeichnung, b2.name, NULL AS gehoertzu,  
    353333 round(st_area(b2.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b2.wkb_geometry,f2.wkb_geometry))::numeric,2) AS schnittflae,  
    354334 st_within(b2.wkb_geometry,f2.wkb_geometry) as drin, GeometryType(b2.wkb_geometry) as bgeotyp  
    355335 FROM ax_flurstueck f2  
    356336 JOIN ax_bauwerkimgewaesserbereich b2 ON st_intersects(b2.wkb_geometry,f2.wkb_geometry) = true 
    357  LEFT JOIN ax_bauwerksfunktion_bauwerkimgewaesserbereich ug ON b2.bauwerksfunktion = ug.wert  
     337 LEFT JOIN ax_bauwerksfunktion_bauwerkimgewaesserbereich k2 ON b2.bauwerksfunktion = k2.wert  
    358338 WHERE f2.gml_id = $1 AND f2.endet IS NULL AND b2.endet IS NULL "; 
    359339// 3 - S o n s t i g e  Bauwerke 
    360340$sqlb.="UNION 
    361  SELECT ".$btyp_sonst." AS bwtyp, b3.gml_id, b3.bauwerksfunktion, k3.beschreibung AS bezeichner, k3.dokumentation AS bfktd,  
    362  b3.bezeichnung, b3.name, b3.gehoertzu,  
     341 SELECT ".$btyp_sonst." AS bwtyp, b3.gml_id, b3.bauwerksfunktion, k3.beschreibung, k3.dokumentation, b3.bezeichnung, b3.name, b3.gehoertzu,  
    363342 round(st_area(b3.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b3.wkb_geometry,f3.wkb_geometry))::numeric,2) AS schnittflae,  
    364343 st_within(b3.wkb_geometry,f3.wkb_geometry) as drin, GeometryType(b3.wkb_geometry) as bgeotyp  
     
    369348// 4 - Bauwerk oder Anlage fÃŒr  I n d u s t r i e  und Gewerbe 
    370349$sqlb.="UNION 
    371  SELECT ".$btyp_indu." AS bwtyp, b4.gml_id, b4.bauwerksfunktion, k4.beschreibung AS bezeichner, k4.dokumentation AS bfktd,  
    372  b4.bezeichnung, b4.name, NULL AS gehoertzu,  
     350 SELECT ".$btyp_indu." AS bwtyp, b4.gml_id, b4.bauwerksfunktion, k4.beschreibung, k4.dokumentation, b4.bezeichnung, b4.name, NULL AS gehoertzu,  
    373351 round(st_area(b4.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b4.wkb_geometry,f4.wkb_geometry))::numeric,2) AS schnittflae,  
    374352 st_within(b4.wkb_geometry,f4.wkb_geometry) as drin, GeometryType(b4.wkb_geometry) as bgeotyp  
     
    379357// 5 - Bauwerk oder Anlage fÃŒr  S p o r t , Freizeit und Erholung 
    380358$sqlb.="UNION 
    381  SELECT ".$btyp_sport." AS bwtyp, b5.gml_id, b5.bauwerksfunktion, k5.beschreibung AS bezeichner, k5.dokumentation AS bfktd,  
    382  NULL AS bezeichnung, b5.name, NULL AS gehoertzu,  
     359 SELECT ".$btyp_sport." AS bwtyp, b5.gml_id, b5.bauwerksfunktion, k5.beschreibung, k5.dokumentation, NULL AS bezeichnung, b5.name, NULL AS gehoertzu,  
    383360 round(st_area(b5.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b5.wkb_geometry,f5.wkb_geometry))::numeric,2) AS schnittflae,  
    384361 st_within(b5.wkb_geometry,f5.wkb_geometry) as drin, GeometryType(b5.wkb_geometry) as bgeotyp  
     
    389366// 6 - L e i t u n g 
    390367$sqlb.="UNION 
    391  SELECT ".$btyp_leitg." AS bwtyp, b6.gml_id, b6.bauwerksfunktion, k6.beschreibung AS bezeichner, k6.dokumentation AS bfktd,  
    392  NULL AS bezeichnung, b6.name, NULL AS gehoertzu,  
     368 SELECT ".$btyp_leitg." AS bwtyp, b6.gml_id, b6.bauwerksfunktion, k6.beschreibung, k6.dokumentation, NULL AS bezeichnung, b6.name, NULL AS gehoertzu,  
    393369 round(st_area(b6.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b6.wkb_geometry,f6.wkb_geometry))::numeric,2) AS schnittflae,  
    394370 st_within(b6.wkb_geometry,f6.wkb_geometry) as drin, GeometryType(b6.wkb_geometry) as bgeotyp  
     
    399375// 7 - T r a n s p o r t a n l a g e 
    400376$sqlb.="UNION 
    401  SELECT ".$btyp_trans." AS bwtyp, b7.gml_id, b7.bauwerksfunktion, k7.beschreibung AS bezeichner, k7.dokumentation AS bfktd,  
    402  NULL AS bezeichnung, NULL AS name, NULL AS gehoertzu,  
     377 SELECT ".$btyp_trans." AS bwtyp, b7.gml_id, b7.bauwerksfunktion, k7.beschreibung, k7.dokumentation, NULL AS bezeichnung, NULL AS name, NULL AS gehoertzu,  
    403378 round(st_area(b7.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b7.wkb_geometry,f7.wkb_geometry))::numeric,2) AS schnittflae,  
    404379 st_within(b7.wkb_geometry,f7.wkb_geometry) as drin, GeometryType(b7.wkb_geometry) as bgeotyp  
     
    409384// 8 - T u r m  (Sonderfall Array) 
    410385$sqlb.="UNION 
    411  SELECT ".$btyp_turm." AS bwtyp, b8.gml_id, k8.wert AS bauwerksfunktion, k8.beschreibung AS bezeichner, k8.dokumentation AS bfktd,  
    412  NULL AS bezeichnung, b8.name, NULL AS gehoertzu,  
     386 SELECT ".$btyp_turm." AS bwtyp, b8.gml_id, k8.wert AS bauwerksfunktion, k8.beschreibung, k8.dokumentation, NULL AS bezeichnung, b8.name, NULL AS gehoertzu,  
    413387 round(st_area(b8.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b8.wkb_geometry,f8.wkb_geometry))::numeric,2) AS schnittflae,  
    414388 st_within(b8.wkb_geometry,f8.wkb_geometry) as drin, GeometryType(b8.wkb_geometry) as bgeotyp  
     
    419393// 9 -  V o r r a t s b e h À l t e r ,  S p e i c h e r b a u w e r k 
    420394$sqlb.="UNION 
    421  SELECT ".$btyp_vorrat." AS bwtyp, b9.gml_id, b9.bauwerksfunktion, k9.beschreibung AS bezeichner, k9.dokumentation AS bfktd,  
    422  NULL AS bezeichnung, b9.name, NULL AS gehoertzu,  
     395 SELECT ".$btyp_vorrat." AS bwtyp, b9.gml_id, b9.bauwerksfunktion, k9.beschreibung, k9.dokumentation, NULL AS bezeichnung, b9.name, NULL AS gehoertzu,  
    423396 round(st_area(b9.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b9.wkb_geometry,f9.wkb_geometry))::numeric,2) AS schnittflae,  
    424397 st_within(b9.wkb_geometry,f9.wkb_geometry) as drin, GeometryType(b9.wkb_geometry) as bgeotyp  
     
    427400 LEFT JOIN ax_bauwerksfunktion_vorratsbehaelterspeicherbauwerk k9 ON b9.bauwerksfunktion = k9.wert  
    428401 WHERE f9.gml_id = $1 AND f9.endet IS NULL AND b9.endet IS NULL "; 
     402// 10 - H i s t o r i s c h e s  Bauwerk oder historische Einrichtung 
     403$sqlb.="UNION 
     404 SELECT ".$btyp_hist." AS bwtyp, b10.gml_id, NULL AS bauwerksfunktion, k10.beschreibung, k10.dokumentation, NULL AS bezeichnung, b10.name, NULL AS gehoertzu,  
     405 round(st_area(b10.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b10.wkb_geometry,f10.wkb_geometry))::numeric,2) AS schnittflae,  
     406 st_within(b10.wkb_geometry,f10.wkb_geometry) as drin, GeometryType(b10.wkb_geometry) as bgeotyp  
     407 FROM ax_flurstueck f10  
     408 JOIN ax_historischesbauwerkoderhistorischeeinrichtung b10 ON st_intersects(b10.wkb_geometry,f10.wkb_geometry) = true 
     409 LEFT JOIN ax_archaeologischertyp_historischesbauwerkoderhistorischee k10 ON b10.archaeologischertyp = k10.wert  
     410 WHERE f10.gml_id = $1 AND f10.endet IS NULL AND b10.endet IS NULL "; 
     411// 11 - H e i l q u e l l e ,   G a s q u e l l e 
     412$sqlb.="UNION 
     413 SELECT ".$btyp_heil." AS bwtyp, b11.gml_id, NULL AS bauwerksfunktion, k11.beschreibung, k11.dokumentation, NULL AS bezeichnung, b11.name, NULL AS gehoertzu,  
     414 round(st_area(b11.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b11.wkb_geometry,f11.wkb_geometry))::numeric,2) AS schnittflae,  
     415 st_within(b11.wkb_geometry,f11.wkb_geometry) as drin, GeometryType(b11.wkb_geometry) as bgeotyp  
     416 FROM ax_flurstueck f11  
     417 JOIN ax_heilquellegasquelle b11 ON st_intersects(b11.wkb_geometry,f11.wkb_geometry) = true 
     418 LEFT JOIN ax_art_heilquellegasquelle k11 ON b11.art = k11.wert  
     419 WHERE f11.gml_id = $1 AND f11.endet IS NULL AND b11.endet IS NULL "; 
     420// 12 - Einrichtung in öffentlichen Bereichen 
     421$sqlb.="UNION 
     422 SELECT ".$btyp_oeff." AS bwtyp, b12.gml_id, NULL AS bauwerksfunktion, k12.beschreibung, k12.dokumentation, NULL AS bezeichnung, NULL AS name, NULL AS gehoertzu,  
     423 round(st_area(b12.wkb_geometry)::numeric,2) AS gebflae, round(st_area(ST_Intersection(b12.wkb_geometry,f12.wkb_geometry))::numeric,2) AS schnittflae,  
     424 st_within(b12.wkb_geometry,f12.wkb_geometry) as drin, GeometryType(b12.wkb_geometry) as bgeotyp  
     425 FROM ax_flurstueck f12  
     426 JOIN ax_einrichtunginoeffentlichenbereichen b12 ON st_intersects(b12.wkb_geometry,f12.wkb_geometry) = true 
     427 LEFT JOIN ax_art_einrichtunginoeffentlichenbereichen k12 ON b12.art = k12.wert  
     428 WHERE f12.gml_id = $1 AND f12.endet IS NULL AND b12.endet IS NULL "; 
     429/* TestfÀlle FS: SELECT f.gml_id FROM ax_flurstueck f JOIN ax_einrichtunginoeffentlichenbereichen b ON st_intersects(b.wkb_geometry,f.wkb_geometry) = true; 
     430 140: DENW17AL34g000F6  */ 
     431 
     432/* // 13 - Besonderer Bauwerkspunkt (ohne Geometrie !) 
     433$sqlb.="UNION 
     434 SELECT ".$btyp_bpkt. 
     435// Tab: ax_besondererbauwerkspunkt */ 
    429436 
    430437// Generell ... 
     
    449456        $bauflsum=$bauflsum + $rowb["schnittflae"]; 
    450457        $bbez=htmlentities($rowb["bezeichnung"], ENT_QUOTES, "UTF-8"); 
     458 
    451459        $bfktk=htmlentities($rowb["bauwerksfunktion"], ENT_QUOTES, "UTF-8"); 
    452         $bfktv=htmlentities($rowb["bezeichner"], ENT_QUOTES, "UTF-8"); 
    453         $bfktd=htmlentities($rowb["bfktd"], ENT_QUOTES, "UTF-8"); 
     460        $bfktv=htmlentities($rowb["beschreibung"], ENT_QUOTES, "UTF-8"); 
     461        $bfktd=htmlentities($rowb["dokumentation"], ENT_QUOTES, "UTF-8");  
     462 
    454463        $bnam=htmlentities($rowb["name"], ENT_QUOTES, "UTF-8"); 
    455464        $bgeb=$rowb["gehoertzu"]; 
     
    500509                                $btyptitle='Bauwerk im Verkehrsbereich'; break; 
    501510                        case $btyp_gewaesser: 
    502                                 $btyptitle='Bauwerk im GewÀsserbereich'; break; 
     511                                $btyptitle='Bauwerk im Gew&auml;sserbereich'; break; 
    503512                        case $btyp_sonst:  
    504513                                $btyptitle='Sonstiges Bauwerk oder sonstige Einrichtung'; break; 
    505514                        case $btyp_indu: 
    506                                 $btyptitle="Bauwerk oder Anlage fÃŒr Industrie und Gewerbe"; break; 
     515                                $btyptitle="Bauwerk oder Anlage f&uuml;r Industrie und Gewerbe"; break; 
    507516                        case $btyp_sport: 
    508                                 $btyptitle="Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung"; break; 
     517                                $btyptitle="Bauwerk oder Anlage f&uuml;r Sport, Freizeit und Erholung"; break; 
    509518                        case $btyp_leitg: 
    510519                                $btyptitle="Leitung"; break; 
     
    514523                                $btyptitle="Turm"; break; 
    515524                        case $btyp_vorrat: 
    516                                 $btyptitle="VorratsbehÀlter, Speicherbauwerk"; break; 
     525                                $btyptitle="Vorratsbeh&auml;lter, Speicherbauwerk"; break; 
     526                        case $btyp_hist: 
     527                                $btyptitle="Historisches Bauwerk oder historische Einrichtung"; break; 
     528                        case $btyp_heil: 
     529                                $btyptitle="Heilquelle, Gasquelle"; break; 
     530                        case $btyp_oeff: 
     531                                $btyptitle="Einrichtung in &ouml;ffentlichen Bereichen"; break; 
     532                        case $btyp_bpkt: 
     533                                $btyptitle="Besonderer Bauwerkspunkt"; break; 
    517534                        default: 
    518                                 $btyptitle='Fehler'; break; 
     535                                $btyptitle='Fehler!'; break; 
    519536                } 
    520537                echo "<tr><td colspan=3></td><td colspan=2 class='gw'>".$btyptitle."</td></tr>"; // ++ Symbol? 
     
    528545                echo "\n\t<td class='fla'>".$f1."</td>" 
    529546                ."\n\t<td class='".$bstyle."'>".$f2."</td>"; // FlÀchenangaben 
    530                 echo "\n\t<td>"; 
    531                 if ($showkey) {echo "<span class='key'>(".$bfktk.")</span>&nbsp;";} // Bauwerksfunktion 
    532                 echo "<span title='".$bfktd ."'>".$bfktv."</span>"; 
    533                 echo "</td>"; 
     547                echo "\n\t<td>".DsKy($bfktk, 'Bauwerksfunktion-*')."<span title='".$bfktd ."'>".$bfktv."</span></td>"; 
    534548 
    535549                // Lage / Haus (nur bei Typ 3 sonstige) 
     
    537551                if ($bgeb != "") { // gehört zu GebÀude 
    538552                //      bw_gz_lage($bgeb); // Function: Lage (Adresse) ausgeben 
    539                         echo "\n\t\t<a title='gehört zu' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$bgeb; 
    540                         if ($showkey) {echo "&amp;showkey=j";} 
    541                         echo "'>Haus&nbsp;<img src='ico/Haus.png' width='16' height='16' alt=''></a>"; 
     553                        echo "\n\t\t<a title='gehört zu' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$bgeb.LnkStf() 
     554                        ."'>Haus&nbsp;<img src='ico/Haus.png' width='16' height='16' alt=''></a>"; 
    542555                } 
    543556                echo "\n\t</td>"; 
    544557 
    545558                // Bauwerk Details 
    546                 echo "\n\t<td class='nwlink noprint'>"; // Link 
    547                 echo "\n\t\t<a title='Bauwerksdaten' href='alkisbauwerk.php?gkz=".$gkz."&amp;btyp=".$btyp."&amp;gmlid=".$bgml; 
    548                 if ($showkey) {echo "&amp;showkey=j";} 
    549                 echo "'>Bauwerk&nbsp;<img src='ico/Haus.png' width='16' height='16' alt=''></a>";  // +++ Icon fÃŒr Bauwerk schaffen +++ 
    550                 echo "\n\t</td>" 
     559                echo "\n\t<td class='nwlink noprint'>" // Link 
     560                ."\n\t\t<a title='Bauwerksdaten' href='alkisbauwerk.php?gkz=".$gkz."&amp;btyp=".$btyp."&amp;gmlid=".$bgml.LnkStf() 
     561                ."'>Bauwerk&nbsp;<img src='ico/Haus.png' width='16' height='16' alt=''></a>" // Icon fÃŒr Bauwerk schaffen 
     562                ."\n\t</td>" 
    551563        ."\n</tr>"; 
    552564} 
  • trunk/info/info/alkisn/alkisgsnw.php

    r425 r427  
    11<?php 
    2 /*      Modul: alkisgsnw.php 
    3  
    4         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    5         GrundstÃŒcksnachweis fuer ein GrundstÃŒck aus ALKIS PostNAS 
     2/*      alkisgsnw.php 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
     7        GrundstÃŒcksnachweis fÃŒr ein GrundstÃŒck (Buchung) aus ALKIS PostNAS 
    68 
    79        Version: 
    8         2018-05-03 Neues Modul "gsnw" abgeleitet aus "fsnw" 
    9         2018-11-09 Umstellung Full-Schema 
    10         2020-02-20 Authentifizierung ausgelagert in Function darf_ich() 
     10        2018-05-03 Neues Modul 
     11        ... 
    1112        2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF'] 
    1213        2020-12-15 Input-Validation und Strict Comparisation (===) 
    1314        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche) 
     15        2022-01-13 Neue Functions LnkStf(), DsKy() 
    1416 
    1517ToDo:  
     
    7476// Der GrundstÃŒcksnachweis wird aus anderen Modulen nur fÃŒr die "GrundstÃŒck"-Buchung aufgerufen, so dass diese Suche nicht notwendig ist. 
    7577// Bei Aufrufen von außen kann dies aber sinnvoll sein. 
    76  
    77 // ToDo: um Mehr als eine Stufe zurÃŒck fÃŒhren (max. 3) 
    7878 
    7979        global $gkz, $dbg, $showkey, $gerooted; 
     
    110110                                $gml_d=$row["gml_id"]; 
    111111                                $bvnr=ltrim($row["laufendenummer"], '0'); 
    112                                 echo "\n\t\t\t<a href='alkisgsnw.php?gkz=".$gkz."&amp;gmlid=".$gml_d; 
    113                                 if ($showkey) {echo "&amp;showkey=j";} 
    114                                 echo "' title='Grundst&uuml;cksnachweis'>Buchung ".$bvnr 
     112                                echo "\n\t\t\t<a href='alkisgsnw.php?gkz=".$gkz."&amp;gmlid=".$gml_d.LnkStf() 
     113                                ."' title='Grundst&uuml;cksnachweis'>Buchung ".$bvnr 
    115114                                ." <img src='ico/Grundstueck_Link.png' width='16' height='16' alt=''></a><br>"; 
    116115                        } 
     
    170169<?php 
    171170$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    172 $dbg=$debug; // CONF in Arbeits-Variable 
     171$dbg=$debug; 
    173172if ($nodebug === "j") {$dbg=0;}  
    174173$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisgsnw.php'"); 
     
    227226                if ($zpaar) {$trclass='paa';} else {$trclass='unp';} // Farbwechsel 
    228227                $zpaar=!$zpaar; 
    229                 echo "\n<tr class='".$trclass."'>"; // eine Zeile je Flurstueck 
    230                         echo "\n\t<td>"; 
    231                                 if ($showkey) {echo "<span class='key'>".$rowfs["gemarkungsnummer"]."</span> ";} 
    232                                 echo $rowfs["bezeichnung"] 
    233                         ."</td>" 
     228                echo "\n<tr class='".$trclass."'>"; // eine Zeile je FlurstÃŒck 
     229                        echo "\n\t<td>".DsKy($rowfs["gemarkungsnummer"], 'Gemarkungsnummer').$rowfs["bezeichnung"]."</td>" 
    234230                        ."\n\t<td>".$flur."</td>" 
    235231                        ."\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span></td>" 
    236232                        ."\n\t<td class='fla'>".$flae."</td>" 
    237233                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
    238                                 ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowfs["gml_id"]."&amp;eig=n"; 
    239                                         if ($showkey) {echo "&amp;showkey=j";} 
    240                                         echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
    241                                         ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
     234                                ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowfs["gml_id"]."&amp;eig=n".LnkStf() 
     235                                ."' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
     236                                ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    242237                                ."</a>\n\t\t</p>" 
    243238                        ."\n\t</td>" 
  • trunk/info/info/alkisn/alkishaus.php

    r425 r427  
    11<?php 
    2 /*      alkishaus.php - viele Daten zu EINEM ALKIS-GebÀude-Objekt 
    3         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
     2/*      alkishaus.php 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
     7        Daten zu EINEM ALKIS-GebÀude-Objekt 
    48 
    59        Version: 
     
    1115        2020-12-15 Input-Validation und Strict Comparisation (===) 
    1216        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche). Gemeinde in Adresse 
     17        2022-01-13 Neue Functions LnkStf(), DsKy() 
    1318 
    1419ToDo: 
     20        - per Relation dazugehörige Bauwerke (z.B. Überdachung) suchen, ax_sonstigesbauwerkodersonstigeeinrichtung.gehoertzu 
    1521        - Template im WMS auf Ebene GebÀude hierhin verknÃŒpfen. 
    1622*/ 
     
    5561 
    5662$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    57 $dbg=$debug; // CONF in Arbeits-Variable 
    58  
    59 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
    60 // Wirkt temporÀr und wird nicht in Links weiter gereicht. 
     63$dbg=$debug; 
    6164if ($nodebug === "j") {$dbg=0;}  
    6265 
     
    6467if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    6568 
    66 // G e b a e u d e 
     69// G e b À u d e 
    6770// ... g.qualitaetsangaben,  
    6871$sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug,  
     
    97100 
    98101// Balken 
    99 echo "\n<p class='balken geb'>ALKIS Haus ".$gmlid."&nbsp;</p>"; 
    100 echo "\n<h2><img src='ico/Haus.png' width='16' height='16' alt=''> Haus (Geb&auml;ude)</h2>\n<hr>"; 
    101  
    102 echo "<p class='nwlink noprint'>"; // Umschalter: auch leere Felder 
    103 echo "Umschalten: <a class='nwlink' href='".selbstverlinkung()."?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    104         if ($showkey) {echo "&amp;showkey=j";} else {echo "&amp;showkey=n";} 
    105         if ($allefelder) { 
    106                 echo "&amp;allfld=n'>nur Felder mit Inhalt"; 
    107         } else { 
    108                 echo "&amp;allfld=j'>auch leere Felder"; 
    109         } 
     102echo "\n<p class='balken geb'>ALKIS Haus ".$gmlid."&nbsp;</p>" 
     103."\n<h2><img src='ico/Haus.png' width='16' height='16' alt=''> Haus (Geb&auml;ude)</h2>\n<hr>"; 
     104 
     105echo "<p class='nwlink noprint'>" // Umschalter: auch leere Felder 
     106."Umschalten: <a class='nwlink' href='".selbstverlinkung()."?gkz=".$gkz."&amp;gmlid=".$gmlid.LnkStf(); 
     107if ($allefelder) { 
     108        echo "&amp;allfld=n'>nur Felder mit Inhalt"; 
     109} else { 
     110        echo "&amp;allfld=j'>auch leere Felder"; 
     111} 
    110112echo "</a></p>"; 
    111113 
     
    128130$aug=$rowg["aug"]; 
    129131$hoh=$rowg["hochhaus"]; 
    130 $nam=trim(trim($rowg["name"], "{}"), '"'); // Gebaeude-Name ist ein Array. 
     132$nam=trim(trim($rowg["name"], "{}"), '"'); // GebÀude-Name ist ein Array. 
    131133// Mehrfachbelegung theoretisch. Entklammern reicht. Mal mit und mal ohne "" drum. 
    132134$kfunk=$rowg["gebaeudefunktion"]; 
     
    215217                        ."\n\t<td class='fett'>"; 
    216218        } 
    217         echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;"; 
    218         if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}                       
    219         echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp; 
    220                 if ($showkey) {echo "&amp;showkey=j";} 
    221                 echo "'>".$snam."&nbsp;".$hsnr; 
     219        echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;".DsKy($skey, 'Stra&szlig;en-*');               
     220        echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp.LnkStf()."'>".$snam."&nbsp;".$hsnr; 
    222221                if ($ltyp === "p") {echo ", lfd.Nr ".$hlfd;} 
    223222        echo "</a>, ".$gemeinde."<br>"; 
     
    229228echo "\n<tr>" 
    230229        ."\n\t<td class='li'>Geb&auml;udefunktion</td>" 
    231         ."\n\t<td class='fett'>"; 
    232         if ($showkey and $kfunk != '') {echo "<span class='key'>(".$kfunk.")</span>&nbsp;";} 
    233         echo $bfunk."</td>" 
     230        ."\n\t<td class='fett'>".DsKy($kfunk, 'Geb&auml;udefunktion-*').$bfunk."</td>" 
    234231        ."\n\t<td>" 
    235232                ."\n\t\t<p class='erklk'>'Geb&auml;udefunktion' ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'</p>" 
     
    241238if ($baw != "" OR $allefelder) { 
    242239        echo "\n<tr>" 
    243                 ."\n\t<td class='li'>Bauweise</td>" 
    244                 ."\n\t<td class='fett'>"; 
    245                 if ($showkey and $baw != '') {echo "<span class='key'>(".$baw.")</span>&nbsp;";} 
    246                 echo $bbauw."</td>" 
    247                 ."\n\t<td>" 
    248                         ."\n\t\t<p class='erklk'>'Bauweise' ist die Beschreibung der Art der Bauweise.</p>" 
    249                         ."\n\t\t<p class='erkli'>".$dbauw."</p>" 
    250                 ."\n\t</td>" 
    251         ."\n</tr>"; 
     240        ."\n\t<td class='li'>Bauweise</td>" 
     241        ."\n\t<td class='fett'>".DsKy($baw, 'Bauweise-*').$bbauw."</td>" 
     242        ."\n\t<td>" 
     243                ."\n\t\t<p class='erklk'>'Bauweise' ist die Beschreibung der Art der Bauweise.</p>" 
     244                ."\n\t\t<p class='erkli'>".$dbauw."</p>" 
     245        ."\n\t</td>\n</tr>"; 
    252246} 
    253247 
     
    255249if ($aog != "" OR $allefelder) { 
    256250        echo "\n<tr>" 
    257                 ."\n\t<td class='li'>Geschosse</td>" 
    258                 ."\n\t<td class='fett'>".$aog."</td>" 
    259                 ."\n\t<td>" 
    260                         ."\n\t\t<p class='erklk'>Anzahl oberirdischer Geschosse.</p>" 
    261                 ."\n\t</td>" 
    262         ."\n</tr>"; 
     251        ."\n\t<td class='li'>Geschosse</td>" 
     252        ."\n\t<td class='fett'>".$aog."</td>" 
     253        ."\n\t<td>" 
     254                ."\n\t\t<p class='erklk'>Anzahl oberirdischer Geschosse.</p>" 
     255        ."\n\t</td>\n</tr>"; 
    263256} 
    264257 
     
    266259if ($aug != "" OR $allefelder) { 
    267260        echo "\n<tr>" 
    268                 ."\n\t<td class='li'>U-Geschosse</td>" 
    269                 . "\n\t<td class='fett'>".$aug."</td>" 
    270                 ."\n\t<td>" 
    271                         ."\n\t\t<p class='erklk'>Anzahl unterirdischer Geschosse.</p>" 
    272                 ."\n\t</td>" 
    273         ."\n</tr>"; 
     261        ."\n\t<td class='li'>U-Geschosse</td>" 
     262        . "\n\t<td class='fett'>".$aug."</td>" 
     263        ."\n\t<td>" 
     264                ."\n\t\t<p class='erklk'>Anzahl unterirdischer Geschosse.</p>" 
     265        ."\n\t</td>\n</tr>"; 
    274266} 
    275267 
     
    277269if ($hoh != "" OR $allefelder) { 
    278270        echo "\n<tr>" 
    279                 ."\n\t<td class='li'>Hochhaus</td>" 
    280                 ."\n\t<td class='fett'>".$hoh."</td>" 
    281                 ."\n\t<td>" 
    282                         ."\n\t\t<p class='erklk'>'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." 
    283                 ."\n\t</td>" 
    284         ."\n</tr>"; 
     271        ."\n\t<td class='li'>Hochhaus</td>" 
     272        ."\n\t<td class='fett'>".$hoh."</td>" 
     273        ."\n\t<td>" 
     274                ."\n\t\t<p class='erklk'>'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." 
     275        ."\n\t</td>\n</tr>"; 
    285276} 
    286277 
     
    288279if ($ofl != "" OR $allefelder) { 
    289280        echo "\n<tr>" 
    290                 ."\n\t<td class='li'>Lage zur Erdoberfl&auml;che</td>" 
    291                 ."\n\t<td class='fett'>"; 
    292                 if ($showkey and $ofl != '') {echo "<span class='key'>(".$ofl.")</span>&nbsp;";} 
    293                 echo $oflv."</td>" 
    294                 ."\n\t<td>" 
    295                         ."\n\t\t<p class='erklk'>'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>" 
    296                         ."\n\t\t<p class='erkli'>".$ofld."</p>" 
    297                 ."\n\t</td>" 
    298         ."\n</tr>"; 
     281        ."\n\t<td class='li'>Lage zur Erdoberfl&auml;che</td>" 
     282        ."\n\t<td class='fett'>".DsKy($ofl, '* f&uuml;r Lage zur Erdoberfl&auml;che').$oflv."</td>" 
     283        ."\n\t<td>" 
     284                ."\n\t\t<p class='erklk'>'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>" 
     285                ."\n\t\t<p class='erkli'>".$ofld."</p>" 
     286        ."\n\t</td>\n</tr>"; 
    299287} 
    300288 
     
    302290if ($dga != "" OR $allefelder) { 
    303291        echo "\n<tr>" 
    304                 ."\n\t<td class='li'>Dachgeschossausbau</td>" 
    305                 ."\n\t<td class='fett'>"; 
    306                 if ($showkey and $dga != '') {echo "<span class='key'>(".$dga.")</span>&nbsp;";} 
    307                 echo $dgav."</td>" 
    308                 ."\n\t<td>" 
    309                         ."\n\t\t<p class='erklk'>'Dachgeschossausbau' ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses." 
    310                 ."\n\t</td>" 
    311         ."\n</tr>"; 
     292        ."\n\t<td class='li'>Dachgeschossausbau</td>" 
     293        ."\n\t<td class='fett'>".DsKy($dga, '* Dachgeschossausbau').$dgav."</td>" 
     294        ."\n\t<td>" 
     295                ."\n\t\t<p class='erklk'>'Dachgeschossausbau' ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses." 
     296        ."\n\t</td>\n</tr>"; 
    312297} 
    313298 
     
    315300if ($zus != "" OR $allefelder) { 
    316301        echo "\n<tr>" 
    317                 ."\n\t<td class='li'>Zustand</td>" 
    318                 ."\n\t<td class='fett'>"; 
    319                 if ($showkey and $zus != '') {echo "<span class='key'>(".$zus.")</span>&nbsp;";} 
    320                 echo $zusv."</td>" 
    321                 ."\n\t<td>" 
    322                         ."\n\t\t<p class='erklk'>'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.</p>" 
    323                         ."\n\t\t<p class='erkli'>".$zusd."</p>" 
    324                 ."\n\t</td>" 
    325         ."\n</tr>"; 
     302        ."\n\t<td class='li'>Zustand</td>" 
     303        ."\n\t<td class='fett'>"; 
     304        echo DsKy($zus, 'Zustand-*').$zusv."</td>" 
     305        ."\n\t<td>" 
     306                ."\n\t\t<p class='erklk'>'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.</p>" 
     307                ."\n\t\t<p class='erkli'>".$zusd."</p>" 
     308        ."\n\t</td>\n</tr>"; 
    326309} 
    327310 
    328311// Weitere GebÀudefunktionen 
    329 // Suche Testfall: SELECT gml_id, gebaeudefunktion, weiteregebaeudefunktion FROM ax_gebaeude WHERE (NOT weiteregebaeudefunktion IS NULL) AND cardinality(weiteregebaeudefunktion) > 1 liMIT 10; 
    330312if ($wgf != "" OR $allefelder) { // ... ist ein Array 
    331313        echo "\n<tr>" 
    332                 ."\n\t<td class='li'>Weitere Geb&auml;udefunktionen</td>" 
    333                 ."\n\t<td>"; 
    334                 if ($wgf != "") { // Kommagetrennte Liste aus Array 
    335                         $sqlw="SELECT wert, beschreibung, dokumentation FROM ax_gebaeudefunktion WHERE wert IN ( $1 ) ORDER BY wert;"; 
    336                         $v = array($wgf); 
    337                         $resw = pg_prepare("", $sqlw); 
    338                         $resw = pg_execute("", $v); 
    339                         if (!$resw) { 
    340                                 echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>"; 
    341                                 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";} 
    342                         } 
    343                         $zw=0; 
    344                         while($roww = pg_fetch_assoc($resw)) { // LOOP Funktion 
    345                                 if ($zw > 0) {echo "<br>";} 
    346                                 if ($showkey and $roww["wert"] != '') {echo "<span class='key'>(".$roww["wert"].")</span>&nbsp;";} 
    347                                 echo "<span title='".$roww["dokumentation"]."'>".$roww["beschreibung"]."</span>"; 
    348                                 $zw++; 
    349                    } 
    350                    pg_free_result($resw); 
     314        ."\n\t<td class='li'>Weitere Geb&auml;udefunktionen</td>" 
     315        ."\n\t<td>"; 
     316        if ($wgf != "") { // Kommagetrennte Liste aus Array 
     317                $sqlw="SELECT wert, beschreibung, dokumentation FROM ax_gebaeudefunktion WHERE wert IN ( $1 ) ORDER BY wert;"; 
     318                $v = array($wgf); 
     319                $resw = pg_prepare("", $sqlw); 
     320                $resw = pg_execute("", $v); 
     321                if (!$resw) { 
     322                        echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>"; 
     323                        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";} 
    351324                } 
    352                 echo "</td>" 
    353                 ."\n\t<td>" 
    354                         ."\n\t\t<p class='erklk'>'Weitere Geb&auml;udefunktion' ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat." 
    355                 ."\n\t</td>" 
    356         ."\n</tr>"; 
     325                $zw=0; 
     326                while($roww = pg_fetch_assoc($resw)) { // LOOP Funktion 
     327                        if ($zw > 0) {echo "<br>";} 
     328                        echo DsKy($roww["wert"], 'Geb&auml;udefunktionen-*')."<span title='".$roww["dokumentation"]."'>".$roww["beschreibung"]."</span>"; 
     329                        $zw++; 
     330           } 
     331           pg_free_result($resw); 
     332        } 
     333        echo "</td>" 
     334        ."\n\t<td>" 
     335                ."\n\t\t<p class='erklk'>'Weitere Geb&auml;udefunktion' ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat." 
     336        ."\n\t</td>\n</tr>"; 
    357337} 
    358338 
     
    360340if ($daf != "" OR $allefelder) { 
    361341        echo "\n<tr>" 
    362                 ."\n\t<td class='li'>Dachform</td>" 
    363                 ."\n\t<td class='fett'>"; 
    364                 if ($showkey and $daf != '') {echo "<span class='key'>(".$daf.")</span>&nbsp;";} 
    365                 echo $dach."</td>" 
    366                 ."\n\t<td>" 
    367                         ."\n\t\t<p class='erklk'>'Dachform' beschreibt die charakteristische Form des Daches." 
    368                 ."\n\t</td>" 
    369         ."\n</tr>"; 
     342        ."\n\t<td class='li'>Dachform</td>" 
     343        ."\n\t<td class='fett'>".DsKy($daf, 'Dachform-*').$dach."</td>" 
     344        ."\n\t<td>" 
     345                ."\n\t\t<p class='erklk'>'Dachform' beschreibt die charakteristische Form des Daches." 
     346        ."\n\t</td>\n</tr>"; 
    370347} 
    371348 
     
    373350if ($hho != "" OR $allefelder) { 
    374351        echo "\n<tr>" 
    375                 ."\n\t<td class='li'>Objekth&ouml;he</td>" 
    376                 ."\n\t<td class='fett'>".$hho."</td>" 
    377                 ."\n\t<td>" 
    378                         ."\n\t\t<p class='erklk'>'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." 
    379                 ."\n\t</td>" 
    380         ."\n</tr>"; 
     352        ."\n\t<td class='li'>Objekth&ouml;he</td>" 
     353        ."\n\t<td class='fett'>".$hho."</td>" 
     354        ."\n\t<td>" 
     355                ."\n\t\t<p class='erklk'>'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." 
     356        ."\n\t</td>\n</tr>"; 
    381357} 
    382358 
     
    384360if ($gfl != "" OR $allefelder) { 
    385361        echo "\n<tr>" 
    386                 ."\n\t<td class='li'>Geschossfl&auml;che</td>" 
    387                 ."\n\t<td class='fett'>"; 
    388                 if ($gfl != "") {echo $gfl." m&#178;";} 
    389                 echo "</td>" 
    390                 ."\n\t<td>" 
    391                         ."\n\t\t<p class='erklk'>'Geschossfl&auml;che' ist die Geb&auml;udegeschossfl&auml;che in [qm]." 
    392                 ."\n\t</td>" 
    393         ."\n</tr>"; 
     362        ."\n\t<td class='li'>Geschossfl&auml;che</td>" 
     363        ."\n\t<td class='fett'>"; 
     364        if ($gfl != "") {echo $gfl." m&#178;";} 
     365        echo "</td>" 
     366        ."\n\t<td>" 
     367                ."\n\t\t<p class='erklk'>'Geschossfl&auml;che' ist die Geb&auml;udegeschossfl&auml;che in [qm]." 
     368        ."\n\t</td>\n</tr>"; 
    394369} 
    395370 
     
    397372if ($grf != "" OR $allefelder) { 
    398373        echo "\n<tr>" 
    399                 ."\n\t<td class='li'>Grundfl&auml;che</td>" 
    400                 ."\n\t<td class='fett'>"; 
    401                 if ($grf != "") {echo $grf." m&#178;";} 
    402                 echo "\n\t<td>" 
    403                         ."\n\t\t<p class='erklk'>'Grundfl&auml;che' ist die Geb&auml;udegrundfl&auml;che in [qm]." 
    404                 ."\n\t</td>" 
    405         ."\n</tr>"; 
     374        ."\n\t<td class='li'>Grundfl&auml;che</td>" 
     375        ."\n\t<td class='fett'>"; 
     376        if ($grf != "") {echo $grf." m&#178;";} 
     377        echo "\n\t<td>" 
     378                ."\n\t\t<p class='erklk'>'Grundfl&auml;che' ist die Geb&auml;udegrundfl&auml;che in [qm]." 
     379        ."\n\t</td>\n</tr>"; 
    406380} 
    407381 
     
    409383if ($ura != "" OR $allefelder) { 
    410384        echo "\n<tr>" 
    411                 ."\n\t<td class='li'>Umbauter Raum</td>" 
    412                 ."\n\t<td class='fett'>".$ura."</td>" 
    413                 ."\n\t<td>" 
    414                         ."\n\t\t<p class='erklk'>'Umbauter Raum' ist der umbaute Raum [Kubikmeter] des Geb&auml;udes." 
    415                 ."\n\t</td>" 
    416         ."\n</tr>"; 
     385        ."\n\t<td class='li'>Umbauter Raum</td>" 
     386        ."\n\t<td class='fett'>".$ura."</td>" 
     387        ."\n\t<td>" 
     388                ."\n\t\t<p class='erklk'>'Umbauter Raum' ist der umbaute Raum [Kubikmeter] des Geb&auml;udes." 
     389        ."\n\t</td>\n</tr>"; 
    417390} 
    418391 
     
    420393if ($bja != "" OR $allefelder) { 
    421394        echo "\n<tr>" 
    422                 ."\n\t<td class='li'>Baujahr</td>" 
    423                 ."\n\t<td class='fett'>".$bja."</td>" 
    424                 ."\n\t<td>" 
    425                         ."\n\t\t<p class='erklk'>'Baujahr' ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes." 
    426                 ."\n\t</td>" 
    427         ."\n</tr>"; 
     395        ."\n\t<td class='li'>Baujahr</td>" 
     396        ."\n\t<td class='fett'>".$bja."</td>" 
     397        ."\n\t<td>" 
     398                ."\n\t\t<p class='erklk'>'Baujahr' ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes." 
     399        ."\n\t</td>\n</tr>"; 
    428400} 
    429401 
     
    431403if ($daa != "" OR $allefelder) { 
    432404        echo "\n<tr>" 
    433                 ."\n\t<td class='li'>Dachart</td>" 
    434                 ."\n\t<td class='fett'>".$daa."</td>" 
    435                 ."\n\t<td>" 
    436                         ."\n\t\t<p class='erklk'>'Dachart' gibt die Art der Dacheindeckung (z.B. Reetdach) an." 
    437                 ."\n\t</td>" 
    438         ."\n</tr>"; 
     405        ."\n\t<td class='li'>Dachart</td>" 
     406        ."\n\t<td class='fett'>".$daa."</td>" 
     407        ."\n\t<td>" 
     408                ."\n\t\t<p class='erklk'>'Dachart' gibt die Art der Dacheindeckung (z.B. Reetdach) an." 
     409        ."\n\t</td>\n</tr>"; 
    439410} 
    440411 
     
    461432        if ($erheb != "" OR $allefelder) { 
    462433                echo "\n<tr>" 
    463                         ."\n\t<td class='li'>Datenerhebung</td>" 
    464                         ."\n\t<td class='fett'>"; 
    465                         if ($showkey) {echo "<span class='key'>(".$erheb.")</span>&nbsp;";} 
    466                         echo $berheb."</td>" 
    467                         ."\n\t<td>" 
    468                                 ."\n\t\t<p class='erklk'>'Datenerhebung' beschreibt Qualit&auml;tsangaben, Herkunft.</p>" 
    469                                 ."\n\t\t<p class='erkli'>".$derheb."</p>" 
    470                         ."</td>" 
    471                 ."\n</tr>"; 
     434                ."\n\t<td class='li'>Datenerhebung</td>" 
     435                ."\n\t<td class='fett'>".DsKy($erheb, 'Datenerhebung-*').$berheb."</td>" 
     436                ."\n\t<td>" 
     437                        ."\n\t\t<p class='erklk'>'Datenerhebung' beschreibt Qualit&auml;tsangaben, Herkunft.</p>" 
     438                        ."\n\t\t<p class='erkli'>".$derheb."</p>" 
     439                ."</td>\n</tr>"; 
    472440        } 
    473441} 
     
    515483 
    516484        // 3 FÀlle: 
    517         if ($drin === "t") { // GebÀude liegt komplett in FlurstÃŒck 
     485        if ($drin === "t") { // Geb. komplett in FS 
    518486                $gstyle="gin"; // siehe .css     
    519487                $f1=number_format($schni,2,",",".") . " m&#178;"; 
     
    524492                        $f1="&nbsp;"; 
    525493                        $f2="angrenzend"; 
    526                 } else { // Teile des GebÀudes stehen auf dem FlurstÃŒck 
     494                } else { // Teile des Geb. auf dem FS 
    527495                        $gstyle="gtl"; 
    528496                        $f1=number_format($schni,2,",",".") . " m&#178;"; 
     
    532500        echo "\n<tr>" 
    533501                ."\n\t<td class='fla'>".$f1."</td>" 
    534                 ."\n\t<td class='".$gstyle."'>".$f2."</td>"; 
    535         echo "\n\t<td>"; 
    536         if ($showkey) {echo "<span class='key'>(".$rowf["gemarkungsnummer"].")</span> ";} 
    537         echo $rowf["bezeichnung"]."</td>" 
    538         ."\n\t<td>".$flur."</td>" 
    539         ."\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span></td>"; 
     502                ."\n\t<td class='".$gstyle."'>".$f2."</td>" 
     503                ."\n\t<td>".DsKy($rowf["gemarkungsnummer"], 'Gemarkungsnummer').$rowf["bezeichnung"]."</td>" 
     504                ."\n\t<td>".$flur."</td>" 
     505                ."\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span></td>"; 
    540506 
    541507        echo "\n\t<td class='nwlink noprint'>" // Link FS 
    542                 ."\n\t\t<a title='Flurst&uuml;ck' href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fgml; 
    543                 if ($showkey) {echo "&amp;showkey=j";} 
    544                 echo "'>Flurst&uuml;ck&nbsp;<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
     508                ."\n\t\t<a title='Flurst&uuml;ck' href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fgml.LnkStf() 
     509                ."'>Flurst&uuml;ck&nbsp;<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
    545510                ."\n\t</td>" 
    546511        ."\n</tr>"; 
     
    549514$gfla=number_format($gfla,2,",",".") . " m&#178;"; 
    550515echo "\n<tr>\n\t<td class='fla sum'>".$gfla."</td>\n\t<td>Geb&auml;udefl&auml;che</td>\n\t<td></td>\n</tr>"; 
    551 echo "\n</table>"; // Ende FlurstÃŒcke 
     516echo "\n</table>"; 
    552517 
    553518echo "<div class='buttonbereich noprint'>\n<hr>" 
  • trunk/info/info/alkisn/alkisinlayausk.php

    r425 r427  
    22/*      alkisinlayausk.php 
    33 
    4         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    5         Dies Programm wird in einen iFrame im Mapserver-Template (FeatureInfo) geladen. 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
     7        Dies Programm wird in einen iFrame im Mapserver-Template der FeatureInfo geladen. 
    68        Parameter: &gkz, &gml_id 
    7         Dies Programm gibt einen kurzen Ueberblick zum Flurstueck, z.B. Eigentuemer ohne Adresse. 
     9        Dies Programm gibt einen kurzen Überblick zum FlurstÃŒck, z.B. EigentÃŒmer ohne Adresse. 
    810        FÃŒr detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt. 
    9         Dies ist eine Variante von alkisausk.php welches als vollstaendige Seite aufgerufen wird. 
     11        Dies ist eine Variante von alkisausk.php welches als vollstÀndige Seite aufgerufen wird. 
    1012 
    1113        Version: 
    12         2016-02-24 Version fuer norGIS-ALKIS-Import 
     14        2016-02-24 Version fÃŒr norGIS-ALKIS-Import 
    1315        .... 
    1416        2020-02-03 Fenster-Weite 
     
    5961 
    6062$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    61 $dbg=$debug; // CONF in Arbeits-Variable 
     63$dbg=$debug; 
    6264 
    6365// Body des Inlay muss in Mapbender-Feature-Info-PopUp passen. Kleiner als 750 aus css. 
     
    6567if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";} 
    6668 
    67 // *** F L U R S T U E C K *** 
     69// F L U R S T Ü C K 
    6870$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.gemeindezugehoerigkeit_regierungsbezirk, f.gemeindezugehoerigkeit_kreis, f.gemeindezugehoerigkeit_gemeinde, f.istgebucht 
    6971FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ".UnqKatAmt("f","g") 
     
    208210while($row = pg_fetch_assoc($res)) { 
    209211        $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
    210  
    211         if (substr($sname, strlen($sname) -3, 3) === 'weg') { // Versuch fuer korrekten Satzbau 
     212        if (substr($sname, strlen($sname) -3, 3) === 'weg') { // Versuch fÃŒr korrekten Satzbau 
    212213                $slink=" am ".$sname; 
    213214        } else { 
     
    255256if ($gml_buchungsstelle == '') {echo "\n<p class='err'>Keine Buchungstelle zum Flurst&uuml;ck gefunden.</p>";} 
    256257echo "\n\n<table class='outer'>"; 
    257         $gezeigt=buchung_anzg($gml_buchungsstelle, 'j', true, "", 1); // direkte Buchung anzeigen wenn nicht fiktiv, Eigent. ja, mit JS "imFenster" 
     258        $gezeigt=buchung_anzg($gml_buchungsstelle, 'j', true, "", 1); // direkte Buchung anzeigen 
    258259        $anzber=ber_bs_zaehl($gml_buchungsstelle); // Ber. Buchg., nur Anzahl 
    259260        if ($anzber > 0 ) { 
  • trunk/info/info/alkisn/alkisinlaybaurecht.php

    r425 r427  
    11<?php 
    2 /*      alkisinlaybaurecht.php - Inlay fuer Template: Baurecht 
    3         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
     2/*      alkisinlaybaurecht.php 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
     7        Inlay fÃŒr Template: Baurecht 
    48        Ähnlich alkisbaurecht, aber nur Basisdaten, kein Footer und keine FlurstÃŒcks-Verschneidung. 
    59 
     
    5155 
    5256$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    53 $dbg=$debug; // CONF in Arbeits-Variable 
     57$dbg=$debug; 
    5458 
    5559// Body des Inlay muss in Mapbender-Feature-Info-PopUp passen. Kleiner als 750 aus css. 
  • trunk/info/info/alkisn/alkislage.php

    r425 r427  
    22/*      alkislage.php 
    33 
    4         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
    57        Kann die 3 Arten von Lagebezeichnung anzeigen und verbundene Objekte verlinken 
    68 
     
    1315        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche) 
    1416               Gemarkung und Flur bei Gruppenwechsel FETT anzeigen 
    15  
    16         ToDo: 
     17        2022-01-12 Neue Functions LnkStf(), DsKy() 
     18 
     19ToDo: 
    1720        - Balken-Kennzeichen kompatibel machen mit der Eingabe der Navigation fÃŒr Adresse 
    1821        - das Modul "alkisgebaeudenw" (alle Geb. auf einem FS) verschneidet die FlÀchen und findet damit auch  
    19         Grenz-Uberbauungen und angrenzende GebÀude. Diese fehlen hier, weil nur VerknÃŒpfungen verarbeitet werden. 
     22        Grenz-Überbauungen und angrenzende GebÀude. Diese fehlen hier, weil nur VerknÃŒpfungen verarbeitet werden. 
    2023        Mit FlÀchen-Verschneidung auch weitere FS anzeigen? 
    2124*/ 
     
    4548 
    4649switch ($ltyp) { 
    47         case "m": // "Mit HsNr" = Hauptgebaeude 
     50        case "m": // "Mit HsNr" = HauptgebÀude 
    4851                $tnam = "ax_lagebezeichnungmithausnummer"; break; 
    49         case "p": // "mit PseudoNr" = Nebengebaeude 
    50                 $tnam = "ax_lagebezeichnungmitpseudonummer";    break; 
    51         case "o": //"Ohne HsNr" = Gewanne oder Strasse 
     52        case "p": // "mit PseudoNr" = NebengebÀude 
     53                $tnam = "ax_lagebezeichnungmitpseudonummer"; break; 
     54        case "o": //"Ohne HsNr" = Gewanne oder Straße 
    5255                $tnam = "ax_lagebezeichnungohnehausnummer"; break; 
    5356        default: 
     
    6972 
    7073$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    71 $dbg=$debug; // CONF in Arbeits-Variable 
    72  
    73 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
    74 // Wirkt temporÀr und wird nicht in Links weiter gereicht. 
     74$dbg=$debug; 
    7575if ($nodebug === "j") {$dbg=0;}  
    7676 
     
    173173echo "\n<h2>Lagebezeichnung</h2>\n<p>Typ: ".$untertitel."</p>"; 
    174174echo "\n<table class='outer'>\n<tr>\n\t<td>";   // Tab. Kennz. 
    175         // ToDo: kleiner, wenn ltyp=0 und die Schluesselfelder leer sind 
     175        // ToDo: kleiner, wenn ltyp=0 und die SchlÃŒsselfelder leer sind 
    176176        echo "\n\t\t<table class='kennzla' title='Lage'>" 
    177177                ."\n\t\t<tr>"; 
     
    199199                echo "\n\t\t</tr>\n\t\t<tr>"; 
    200200                        if ($osub != "g") { // nicht bei Gewanne 
    201  
    202                                 echo "\n\t\t\t<td title='Bundesland'>"; 
    203                                 if ($showkey) {echo "<span class='key'>".$land."</span><br>";} 
    204                                 echo $bnam."&nbsp;</td>"; 
    205  
    206                                 echo "\n\t\t\t<td title='Regierungsbezirk'>"; 
    207                                 if ($showkey) {echo "<span class='key'>".$regbez."</span><br>";} 
    208                                 echo $rnam."&nbsp;</td>"; 
    209  
    210                                 echo "\n\t\t\t<td title='Kreis'>"; 
    211                                 if ($showkey and $osub != "g") {echo "<span class='key'>".$kreis."</span><br>";} 
    212                                 echo $knam."&nbsp;</td>"; 
    213  
    214                                 echo "\n\t\t\t<td title='Gemeinde'>"; 
    215                                 if ($showkey and $osub != "g") {echo "<span class='key'>".$gem."</span><br>";} 
    216                                 echo $gnam."&nbsp;</td>"; 
    217  
    218                                 echo "\n\t\t\t<td title='Stra&szlig;e'>"; 
    219                                 if ($showkey and $osub != "g") {echo "<span class='key'>".$lage."</span><br>";} 
     201                                echo "\n\t\t\t<td title='Bundesland'>".DsKy($land, 'Bundesland-*').$bnam."&nbsp;</td>" 
     202                                ."\n\t\t\t<td title='Regierungsbezirk'>".DsKy($regbez, 'Regierungsbezirk-*').$rnam."&nbsp;</td>" 
     203                                ."\n\t\t\t<td title='Kreis'>".DsKy($kreis, 'Kreis-*').$knam."&nbsp;</td>" 
     204                                ."\n\t\t\t<td title='Gemeinde'>".DsKy($gem, 'Gemeinde-*').$gnam."&nbsp;</td>" 
     205                                ."\n\t\t\t<td title='Stra&szlig;e'>".DsKy($lage, 'Stra&szlig;en-*'); 
    220206                                if ($ltyp === "o") { 
    221207                                        echo "<span class='wichtig'>".$snam."</span>"; 
     
    248234        if ($osub != "g") { // Link zu Strasse 
    249235                echo "\n\t\t<p class='nwlink noprint'>" 
    250                         ."\n\t\t\t<a href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$strgml; 
    251                         if ($showkey) {echo "&amp;showkey=j";} 
    252                         echo "' title='Stra&szlig;e'>Stra&szlig;e <img src='ico/Strassen.png' width='16' height='16' alt=''></a>" 
     236                        ."\n\t\t\t<a href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$strgml.LnkStf() 
     237                        ."' title='Stra&szlig;e'>Stra&szlig;e <img src='ico/Strassen.png' width='16' height='16' alt=''></a>" 
    253238                ."\n\t\t</p>"; 
    254239        } 
    255240 
    256241echo "\n\t</td>\n</tr>\n</table>"; 
    257 // Ende Seitenkopf 
    258  
    259 // F L U R S T U E C K E 
     242 
     243// F L U R S T Ü C K E 
    260244// ax_Flurstueck  >weistAuf>  ax_LagebezeichnungMitHausnummer 
    261245// ax_Flurstueck  >zeigtAuf>  ax_LagebezeichnungOhneHausnummer 
     
    304288 
    305289                echo "\n<tr class='".$trclass."'>" 
    306                         ."\n\t<td>"; 
    307                         if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";} 
     290                        ."\n\t<td>".DsKy($rowf["gemarkungsnummer"], 'Gemarkungsnummer'); 
    308291                        if ($gwgmkg != $gmkg) { 
    309292                                echo "<b>".$gmkg."</b></td>"; 
     
    322305                        ."\n\t<td class='fla'>".$flae."</td>" 
    323306                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
    324                                 ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
    325                                 if ($showkey) {echo "&amp;showkey=j";} 
    326                                 echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
     307                                ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"].LnkStf()."&amp;eig=n" 
     308                                ."' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
    327309                        ."\n\t\t</p>\n\t</td>" 
    328310                ."\n</tr>"; 
     
    339321        ."\n<p>Andere Lagebezeichnungen zur gleichen Hausnummer.</p>"; 
    340322        $whereclaus="WHERE land= $1 AND regierungsbezirk= $2 AND kreis= $3 AND gemeinde= $4 AND lage= $5 "; 
    341  
    342         $url=selbstverlinkung()."?gkz=".$gkz; // Basis 
    343         if ($showkey) {$url.="&amp;showkey=j";} 
    344         $url.="&amp;gmlid="; 
     323        $url=selbstverlinkung()."?gkz=".$gkz.LnkStf()."&amp;gmlid="; // Basis 
    345324 
    346325        switch ($ltyp) { 
     
    360339                        $neb=0; 
    361340                        while($row = pg_fetch_assoc($res)) { 
    362                                 echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;"; 
     341                                echo "\n\t<a href='".$url.$row["gml_id"].LnkStf()."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;"; 
    363342                                $neb++; 
    364343                        } 
     
    378357                        $hg=0; 
    379358                        while($row = pg_fetch_assoc($res)) { 
    380                                 echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=m'>Haus-Nr ".$pseu."</a>&nbsp;&nbsp;"; 
     359                                echo "\n\t<a href='".$url.$row["gml_id"].LnkStf()."&amp;ltyp=m'>Haus-Nr ".$pseu."</a>&nbsp;&nbsp;"; 
    381360                                $hg++; 
    382361                        } 
     
    396375                        $neb=0; 
    397376                        while($row = pg_fetch_assoc($res)) { 
    398                                 echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;"; 
     377                                echo "\n\t<a href='".$url.$row["gml_id"].LnkStf()."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;"; 
    399378                                $neb++; 
    400379                        } 
     
    405384} 
    406385 
    407 // G E B A E U D E 
     386// G E B Ä U D E 
    408387if ($ltyp != "o") { // OhneHsNr linkt nur Flurst. 
    409388        echo "\n\n<a id='geb'></a>\n<h3><img src='ico/Haus.png' width='16' height='16' alt=''> Geb&auml;ude</h3>" 
     
    444423                $gfla=$row["flaeche"]; 
    445424                echo "\n<tr>" 
    446                         ."\n\t<td>".$row["name"]."</td>" 
    447                         ."\n\t<td class='fla'>".$gfla." m&#178;</td>"; 
    448  
    449                         echo "\n\t<td title='".htmlentities($row["ud"], ENT_QUOTES, "UTF-8")."'>"; 
    450                         if ($showkey) {echo "<span class='key'>".htmlentities($row["gebaeudefunktion"], ENT_QUOTES, "UTF-8")."</span> ";} 
    451                         echo $row["uv"]."</td>"; 
    452  
    453                         echo "\n\t<td title='".htmlentities($row["hd"], ENT_QUOTES, "UTF-8")."'>"; 
    454                         if ($showkey) {echo "<span class='key'>".htmlentities($row["bauweise"], ENT_QUOTES, "UTF-8")."</span> ";} 
    455                         echo $row["hv"]."</td>"; 
    456                                  
    457                         echo "\n\t<td title='".htmlentities($row["zd"] , ENT_QUOTES, "UTF-8")."'>"; 
    458                         if ($showkey) {echo "<span class='key'>".htmlentities($row["zustand"], ENT_QUOTES, "UTF-8")."</span> ";} 
    459                         echo $row["zv"]."</td>"; 
    460  
    461                         echo "\n\t<td class='nwlink noprint'>" 
    462                                 ."\n\t\t<a title='komplette Hausdaten' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml; 
    463                                 if ($showkey) {echo "&amp;showkey=j";} 
    464                                 echo "'>Haus <img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
    465                         ."\n\t</td>" 
    466                 ."\n</tr>"; 
     425                ."\n\t<td>".$row["name"]."</td>" 
     426                ."\n\t<td class='fla'>".$gfla." m&#178;</td>" 
     427                ."\n\t<td title='".htmlentities($row["ud"], ENT_QUOTES, "UTF-8")."'>".DsKy($row["gebaeudefunktion"], 'Geb&auml;udefunktion-*').$row["uv"]."</td>" 
     428                ."\n\t<td title='".htmlentities($row["hd"], ENT_QUOTES, "UTF-8")."'>".DsKy($row["bauweise"], 'Bauweise-*').$row["hv"]."</td>" 
     429                ."\n\t<td title='".htmlentities($row["zd"], ENT_QUOTES, "UTF-8")."'>".DsKy($row["zustand"], 'Zustand-*').$row["zv"]."</td>" 
     430                ."\n\t<td class='nwlink noprint'>" 
     431                        ."\n\t\t<a title='komplette Hausdaten' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml.LnkStf() 
     432                        ."'>Haus <img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
     433                ."\n\t</td>\n</tr>"; 
    467434        } 
    468435        echo "\n</table>"; 
  • trunk/info/info/alkisn/alkisnamstruk.php

    r425 r427  
    11<?php 
    2 /*      Modul: alkisnamstruk.php 
    3  
    4         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    5         Namens- und Adressdaten fuer einen Eigentuemer aus ALKIS PostNAS 
     2/*      alkisnamstruk.php 
     3 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
     7        Namens- und Adressdaten fÃŒr einen EigentÃŒmer aus ALKIS PostNAS 
    68 
    79        Version: 
     
    1214        2020-12-15 Input-Validation und Strict Comparisation (===) 
    1315        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche). Gruppenwechsel Bezirk. 
     16        2022-01-13 Neue Functions LnkStf(), DsKy() 
    1417*/ 
    1518ini_set("session.cookie_httponly", 1); 
     
    5457<?php 
    5558$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    56 $dbg=$debug; // CONF in Arbeits-Variable 
    57  
    58 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
    59 // Wirkt temporÀr und wird nicht in Links weiter gereicht. 
     59$dbg=$debug; 
    6060if ($nodebug === "j") {$dbg=0;}  
    6161 
    62 echo "<p class='balken nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n" // Balken 
     62echo "<p class='balken nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n" 
    6363."\n<h2><img src='ico/Eigentuemer.png' width='16' height='16' alt=''> Person</h2>"; 
    6464$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisnamstruk.php'"); 
     
    9494 
    9595        echo "<table>" 
    96                 ."\n\t<tr><td class='nhd'>Anrede:</td><td class='nam'>"; 
    97                 if ($showkey) {echo "<span class='key' title='Anredekennung'>(".$anrk.")</span> ";} 
    98                 echo $anr."</td></tr>" 
     96                ."\n\t<tr><td class='nhd'>Anrede:</td><td class='nam'>".DsKy($anrk, '* der Anrede-Kennung').$anr."</td></tr>" 
    9997                ."\n\t<tr><td class='nhd'>Nachname oder Firma:</td><td class='nam'>".$nam."</td></tr>" 
    10098                ."\n\t<tr><td class='nhd'>Vorname:</td><td class='nam'>".$vor."&nbsp;</td></tr>" 
     
    143141                                        } 
    144142                                        echo "\t<tr><td class='nhd'>Datum:</td><td class='nam'>".$datum."</td></tr>\n" 
    145                                         ."\t<tr><td class='nhd'>Anlass:</td><td class='nam'>"; 
    146                                         if ($showkey) {echo "<span class='key'>".$anlass."</span> ";} 
    147                                         echo $anltxt."</td></tr>\n"; 
     143                                        ."\t<tr><td class='nhd'>Anlass:</td><td class='nam'>".DsKy($anlass, 'Anlass-*').$anltxt."</td></tr>\n"; 
    148144                                } 
    149145                                echo "\t<tr><td class='nhd'>PLZ:</td><td class='nam'>".$plz."</td></tr>\n" 
     
    154150                        ."\n</table>\n<br>"; 
    155151 
    156                         // Name und Adresse Kompakt (im Rahmen) - Alles was man fuer ein Anschreiben braucht 
     152                        // Name und Adresse Kompakt (im Rahmen) - Alles was man fÃŒr ein Anschreiben braucht 
    157153                        echo "\n<img src='ico/Namen.png' width='16' height='16' alt='Brief' title='Anschrift'>" 
    158154                        ."\n<div class='adr' title='Anschrift'>\n\t".$anr." ".$aka." ".$vor." ".$nbest." ".$nam."<br>" 
     
    166162        } elseif ($j > 1) { 
    167163                echo "\n\t\t<p class='nwlink noprint'>" 
    168                 ."\n\t\t\t<a href='".selbstverlinkung(). "?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    169                 if ($showkey) {echo "&amp;showkey=j";} 
     164                ."\n\t\t\t<a href='".selbstverlinkung(). "?gkz=".$gkz."&amp;gmlid=".$gmlid.LnkStf(); 
    170165                if ($multiadress === "j") { 
    171166                        echo "&amp;multiadress=n' title='mehrfache Adressen unterdr&uuml;cken'>erste Adresse "; 
     
    177172        } 
    178173 
    179         // *** G R U N D B U C H *** 
     174        // G R U N D B U C H 
    180175        echo "\n<hr>\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>"; 
    181176        // person <benennt< namensnummer >istBestandteilVon>                Buchungsblatt 
     
    224219                $zpaar=!$zpaar; 
    225220                echo "\n<tr class='".$trclass."'>" 
    226                         ."\n\t<td>"; // GB-Bezirk <td class='gbl'> 
    227                                 if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span> ";} 
    228                                 if ($gwbeznam != $beznam){ 
    229                                         echo "<b>".$beznam."</b>"; 
    230                                         $gwbeznam=$beznam; 
    231                                 } else { 
    232                                         echo $beznam; 
    233                                 } 
     221                        ."\n\t<td>".DsKy($rowg["bezirk"], 'Grundbuch-Bezirks-*'); 
     222                        if ($gwbeznam != $beznam){ 
     223                                echo "<b>".$beznam."</b>"; 
     224                                $gwbeznam=$beznam; 
     225                        } else { 
     226                                echo $beznam; 
     227                        } 
    234228                        echo "</td>"; 
    235229 
    236                         echo "\n\t<td>"; // Blattart 
    237                                 if ($showkey) {echo "<span class='key'>".$blattkey."</span> ";} 
    238                                 echo $blattart 
    239                         ."</td>"; 
    240  
    241                         echo "\n\t<td>"; // Blatt 
    242                                 echo "<span class='wichtig'>".$rowg["nr"]."</span>" 
    243                         ."</td>"; 
     230                        echo "\n\t<td>".DsKy($blattkey, 'Blattart-*').$blattart."</td>"; 
     231                        echo "\n\t<td><span class='wichtig'>".$rowg["nr"]."</span></td>";// Blatt 
    244232 
    245233                        echo "\n\t<td>"; // Namensnummer 
    246                                 if ($namnum == "") { 
    247                                         echo "&nbsp;"; 
    248                                 } else { 
    249                                         echo $namnum; 
    250                                 } 
     234                        if ($namnum == "") { 
     235                                echo "&nbsp;"; 
     236                        } else { 
     237                                echo $namnum; 
     238                        } 
    251239                        echo "</td>"; 
    252240 
    253241                        echo "\n\t<td>"; // Anteil 
    254                                 if ($zae == '') { 
    255                                         echo "&nbsp;"; 
    256                                 } else { 
    257                                         echo $zae."/".$rowg["nenner"]." Anteil"; 
    258                                 }  
     242                        if ($zae == '') { 
     243                                echo "&nbsp;"; 
     244                        } else { 
     245                                echo $zae."/".$rowg["nenner"]." Anteil"; 
     246                        }  
    259247                        echo "</td>" 
    260248                        ."\n\t<td>" 
    261                                 ."\n\t\t<p class='nwlink noprint'>" 
    262                                         ."\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg; 
    263                                                 if ($showkey) {echo "&amp;showkey=j";} 
    264                                                 echo "' title='Bestandsnachweis'>".$blattart 
    265                                         ."\n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>" 
    266                                 ."\n\t\t</p>" 
     249                        ."\n\t\t<p class='nwlink noprint'>" 
     250                                ."\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg.LnkStf()."' title='Bestandsnachweis'>".$blattart 
     251                                ."\n\t\t\t<img src='ico/GBBlatt_link.png' width='16' height='16' alt=''></a>" 
     252                        ."\n\t\t</p>" 
    267253                        ."\n\t</td>" 
    268254                ."\n</tr>"; 
  • trunk/info/info/alkisn/alkisstrasse.php

    r425 r427  
    22/*      alkisstrasse.php 
    33 
    4         ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
     4        ALKIS-Auskunft 
     5        Author: Frank JÀger, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo) 
     6 
    57        Alle FlurstÃŒcke an einer Straße anzeigen, egal ob "mit" oder "ohne" Hausnummer 
    68        Parameter: "gml_id" aus der Tabelle "ax_lagebezeichnungkatalogeintrag" 
     
    1214        2020-12-15 Input-Validation und Strict Comparisation (===) 
    1315        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche) 
     16        2022-01-13 Neue Functions LnkStf(), DsKy() 
    1417*/ 
    1518ini_set("session.cookie_httponly", 1); 
     
    5457$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
    5558$dbg=$debug; // CONF in Arbeits-Variable 
    56  
    57 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
    58 // Wirkt temporÀr und wird nicht in Links weiter gereicht. 
    5959if ($nodebug === "j") {$dbg=0;}  
    6060 
     
    8787} 
    8888if ($row = pg_fetch_assoc($res)) { 
    89         $lage=$row["lage"]; // Strassenschluessel 
    90         $snam=$row["snam"]; // Strassenname 
     89        $lage=$row["lage"]; // Str.schl. 
     90        $snam=$row["snam"]; // Str.name 
    9191        $gem=$row["gemeinde"]; 
    92         $kennz=$gem."-".$lage." (".$snam.")"; // Schluessel als Sucheingabe in NAV brauchbar? 
    93         echo "\n<p class='balken strasse'>ALKIS Stra&szlig;e ".$kennz."&nbsp;</p>"; // Balken 
     92        $kennz=$gem."-".$lage." (".$snam.")"; // SchlÃŒssel als Sucheingabe in NAV brauchbar? 
     93        echo "\n<p class='balken strasse'>ALKIS Stra&szlig;e ".$kennz."&nbsp;</p>"; 
    9494} else { 
    9595        echo "\n<p class='err'>Kein Treffer bei Lagebezeichnungskatalogeintrag.</p>"; 
     
    108108                        ."\n\t\t\t<td class='head'>Kreis</td>" 
    109109                        ."\n\t\t\t<td class='head'>Gemeinde</td>" 
    110                         ."\n\t\t<td class='head'>Stra&szlig;e</td>" 
     110                        ."\n\t\t\t<td class='head'>Stra&szlig;e</td>" 
    111111                ."\n\t\t</tr>" 
    112112                ."\n\t\t<tr>"; 
    113                         echo "\n\t\t\t<td title='Bundesland'>"; 
    114                         if ($showkey) {echo "<span class='key'>".$row["land"]."</span><br>";} 
    115                         echo $row["bnam"]."&nbsp;</td>" 
    116                         ."\n\t\t\t<td title='Regierungsbezirk'>"; 
    117                         if ($showkey) {echo "<span class='key'>".$row["regierungsbezirk"]."</span><br>";} 
    118                         echo $row["rnam"]."&nbsp;</td>" 
    119                         ."\n\t\t\t<td title='Kreis'>"; 
    120                         if ($showkey) {echo "<span class='key'>".$row["kreis"]."</span><br>";} 
    121                         echo $row["knam"]."&nbsp;</td>" 
    122                         ."\n\t\t\t<td title='Gemeinde'>"; 
    123                         if ($showkey) {echo "<span class='key'>".$gem."</span><br>";} 
    124                         echo $row["gnam"]."&nbsp;</td>" 
    125                         . "\n\t\t\t<td title='Stra&szlig;e'>"; 
    126                         if ($showkey) {echo "<span class='key'>".$lage."</span><br>";} 
    127                         echo "<span class='wichtig'>".$snam."</span>" 
    128                         . "&nbsp;</td>" 
     113                echo "\n\t\t\t<td title='Bundesland'>".DsKy($row["land"], 'Bundesland-*').$row["bnam"]."&nbsp;</td>" 
     114                        ."\n\t\t\t<td title='Regierungsbezirk'>".DsKy($row["regierungsbezirk"], 'Regierungsbezirk-*').$row["rnam"]."&nbsp;</td>" 
     115                        ."\n\t\t\t<td title='Kreis'>".DsKy($row["kreis"], 'Kreis-*').$row["knam"]."&nbsp;</td>" 
     116                        ."\n\t\t\t<td title='Gemeinde'>".DsKy($gem, 'Gemeinde-*').$row["gnam"]."&nbsp;</td>" 
     117                        ."\n\t\t\t<td title='Stra&szlig;e'>".DsKy($lage, 'Stra&szlig;en-*')."<span class='wichtig'>".$snam."</span>&nbsp;</td>" 
    129118                ."\n\t\t</tr>" 
    130119        ."\n\t\t</table>"; 
     
    135124if ($ogml != "") { 
    136125        echo "\n\t\t<p class='nwlink noprint'>" 
    137                 ."\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$ogml; 
    138                 if ($showkey) {echo "&amp;showkey=j";} 
    139                 echo "' title='Lage Ohne Hausnummer'>Lage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''></a>" 
     126                ."\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$ogml.LnkStf() 
     127                ."' title='Lage Ohne Hausnummer'>Lage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''></a>" 
    140128        ."\n\t\t</p>"; 
    141129} 
     
    199187        $zpaar=!$zpaar; 
    200188        echo "\n<tr class='".$trclass."'>" 
    201                 ."\n\t<td>"; 
    202                 if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";} 
     189                ."\n\t<td>".DsKy($rowf["gemarkungsnummer"], 'Gemarkungsnummer'); 
    203190                if ($gwgmkg != $gmkg) { 
    204191                        echo "<b>".$gmkg."</b></td>"; 
     
    221208                ."\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    222209                        if ($ltyp === 'm') { // nur Typ "Mit Haus" anzeigen. Dar Typ 'o' ist immer gleich und identisch mit dem Link im Kopf 
    223                                 echo "\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=".$ltyp."&amp;gmlid=".$lgml; 
    224                                 if ($showkey) {echo "&amp;showkey=j";} 
    225                                 echo "' title='Lagebezeichnung mit Hausnummer'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;"; 
     210                                echo "\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=".$ltyp."&amp;gmlid=".$lgml.LnkStf() 
     211                                ."' title='Lagebezeichnung mit Hausnummer'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;"; 
    226212                                $cnths++; 
    227213                        } 
    228214                        // Link FlurstÃŒcksnachweis 
    229                         echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
    230                         if ($showkey) {echo "&amp;showkey=j";} 
    231                         echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>"; 
    232                 echo "\n\t\t</p>\n\t</td>" 
     215                        echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"].LnkStf()."&amp;eig=n" 
     216                        ."' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
     217                ."\n\t\t</p>\n\t</td>" 
    233218        ."\n</tr>"; 
    234219        $j++; 
     
    238223        echo "<p class='cnt'>".$j." Flurst&uuml;cke"; 
    239224        if ($cnths > 1) {echo " und ".$cnths." Hauptgeb&auml;ude";} 
    240         echo " mit dieser Straße in der Lagebezeichnung</p>"; 
     225        echo " mit dieser Stra&szlig;e in der Lagebezeichnung</p>"; 
    241226} 
    242227pg_free_result($resf); 
Note: See TracChangeset for help on using the changeset viewer.