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

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

File:
1 edited

Legend:

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

    r355 r376  
    55        Dies Programm wird in einen iFrame im Mapserver-Template (FeatureInfo) geladen. 
    66        Parameter: &gkz, &gml_id 
    7         Dies Programm gibt einen kurzen Ueberblick zum Flurstueck. 
    8         Eigentuemer ohne Adresse. 
    9         Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt. 
     7        Dies Programm gibt einen kurzen Ueberblick zum Flurstueck, z.B. Eigentuemer ohne Adresse. 
     8        FÃŒr detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt. 
    109        Dies ist eine Variante von alkisausk.php welches als vollstaendige Seite aufgerufen wird. 
    1110 
    1211        Version: 
    13         2011-11-17 Link FS-Historie, Parameter der Functions geÀndert 
    14         2011-11-30 import_request_variables, $dbvers PostNAS 0.5 entfernt 
    15         2011-12-14 "window.open(..,width=680)" 
    16         2013-04-08 deprecated "import_request_variables" ersetzt 
    17         2013-05-06 Fehlende Leerstelle 
    18         2014-01-28 Link zu alkisstrasse.php 
    19         2014-02-06 pg_free_result 
    20         2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    21         2014-09-15 Bei Relationen den Timestamp abschneiden 
    22         2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 
    23         2014-12-16 hr-Tag vor Eigentum entfernt 
    24         2015-12-09 Austausch .ico durch .png, Korrektur "zahler" nach "zaehler" 
    25  
     12        2016-02-24 Version fuer norGIS-ALKIS-Import 
     13        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Berechtigung fÃŒr Gemeinde prÃŒfen) 
    2614*/ 
    2715session_start(); 
     
    3220$gmlid = isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0; 
    3321echo <<<END 
    34 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    35 <html> 
     22<!doctype html> 
     23<html lang="de"> 
    3624<head> 
    37         <meta name="author" content="b600352" > 
    38         <meta http-equiv="cache-control" content="no-cache"> 
    39         <meta http-equiv="pragma" content="no-cache"> 
    40         <meta http-equiv="expires" content="0"> 
    41         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     25        <meta charset="utf-8"> 
    4226        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    4327        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
     
    5236<body> 
    5337END; 
    54 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     38$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisinlayausk.php'"); 
    5539if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";} 
    5640 
    5741// *** F L U R S T U E C K *** 
    58 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung  
     42$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde 
    5943FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    6044WHERE f.gml_id= $1 AND f.endet IS NULL ;"; 
     
    7761        $flae=$row["amtlicheflaeche"]; 
    7862        $flae=number_format($flae,0,",",".") . " m&#178;"; 
     63        $fsreg=$row["regierungsbezirk"]; // Filter ZustÀndigkeit 
     64        $fskrs=$row["kreis"]; 
     65        $fsgem=$row["gemeinde"]; 
    7966} else { 
    8067        echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; 
     
    8269} 
    8370 
     71// PrÃŒfung der Gebiets-Berechtigung bei gemeinsam genutzten Datenbanken (Kreis und Gemeinde) 
     72// FÃŒr das gkz (z.B. aus dem Mapfile-Namen) wird in der Konfiguration ein Filter gesetzt. 
     73if ( ($filtkreis != '' and $filtkreis != $fskrs) or ($filtgem != '' and $filtgem != $fsgem) ) { 
     74        // Einer der gesetzten Filter passt nicht 
     75        if ($debug > 2) { 
     76                echo "<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>"; 
     77                echo "<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
     78        } 
     79        echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p> 
     80        \n<br><p class='stop2'>Dies Flurst&uuml;ck liegt ausserhalb der zust&auml;ndigen Stadt oder Gemeinde.</p>\n</body>\n</html>"; 
     81        pg_free_result($res); 
     82        exit; 
     83} 
     84 
    8485echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>"; 
    8586 
    86 echo "\n<table class='outer'>\n<tr>\n<td>"; 
    87         echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>"; 
    88         echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>"; 
    89         echo "\n\t<tr>\n\t\t<td title='Gemarkung'>".$gemkname."</td>"; 
    90         echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 
    91         echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>"; 
    92         echo "\n\t</table>"; 
    93 echo "\n</td>\n<td>"; 
    94 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
    95  
    96 // Flurstuecksnachweis (mit EigentÃŒmer) 
    97 echo "\n\t\t<a href='javascript:imFenster(\"alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j\")' "; 
    98         echo "title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck&nbsp;"; 
    99         echo "<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; 
    100 echo "</a><br>"; 
     87echo "\n<table class='outer'>\n<tr>\n<td>" 
     88        ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" 
     89        ."\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>" 
     90        ."\n\t<tr>\n\t\t<td title='Gemarkung'>".$gemkname."</td>" 
     91        ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
     92        ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
     93        ."\n\t</table>" 
     94."\n</td>\n<td>" 
     95."\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
     96 
     97// FlurstÃŒcksnachweis (mit EigentÃŒmer) 
     98echo "\n\t\t<a href='javascript:imFenster(\"alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j\")' " 
     99        ."title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck&nbsp;" 
     100        ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
     101."</a><br>"; 
    101102 
    102103// FS-Historie 
    103 echo "\n\t\t<a href='javascript:imFenster(\"alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' "; 
    104         echo "title='Vorg&auml;nger des Flurst&uuml;cks'>Historie&nbsp;"; 
    105         echo "<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>"; 
    106 echo "</a><br>"; 
     104echo "\n\t\t<a href='javascript:imFenster(\"alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' " 
     105        ."title='Vorg&auml;nger des Flurst&uuml;cks'>Historie&nbsp;" 
     106        ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 
     107."</a><br>"; 
    107108 
    108109// Gebaeude-NW zum FS 
    109 echo "\n\t\t<a href='javascript:imFenster(\"alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' "; 
    110         echo "title='Geb&auml;udenachweis'>Geb&auml;ude&nbsp;"; 
    111         echo "<img src='ico/Haus.png' width='16' height='16' alt=''>"; 
    112 echo "</a>"; 
     110echo "\n\t\t<a href='javascript:imFenster(\"alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' " 
     111        ."title='Geb&auml;udenachweis'>Geb&auml;ude&nbsp;" 
     112        ."<img src='ico/Haus.png' width='16' height='16' alt=''>" 
     113."</a>"; 
    113114 
    114115echo "\n\t</p>\n</td>"; 
     
    133134while($row = pg_fetch_array($res)) { 
    134135        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
    135         echo "\n<tr>\n\t\n\t<td class='lr'>".$sname."&nbsp;".$row["hausnummer"]."</td>"; 
    136         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     136        echo "\n<tr>\n\t\n\t<td class='lr'>".$sname."&nbsp;".$row["hausnummer"]."</td>" 
     137        ."\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    137138        $kgml=$row["kgml"]; // Wiederholung vermeiden 
    138139        if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage 
    139140                $kgmlalt=$kgml; // Katalog GML-ID 
    140                 echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' "; 
    141                 echo "href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e "; 
    142                 echo "<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>"; 
    143         } 
    144                 echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' "; 
    145                 echo "href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."\")'>Lage "; 
    146                 echo "<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'></a>&nbsp;"; 
    147         echo "\n\t\t</p>\n\t</td>\n</tr>"; 
     141                echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' " 
     142                ."href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e " 
     143                ."<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>"; 
     144        } 
     145                echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' " 
     146                ."href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."\")'>Lage " 
     147                ."<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'></a>&nbsp;" 
     148        ."\n\t\t</p>\n\t</td>\n</tr>"; 
    148149        $j++; 
    149150} 
     
    151152if ($j == 0) { // keine HsNr gefunden 
    152153        // Lage OHNE HausNr 
    153         $sql ="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.unverschluesselt  
     154        $sql="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.unverschluesselt  
    154155        FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf) 
    155156        LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    156         WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL   
    157         ORDER BY s.bezeichnung;"; 
     157        WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY s.bezeichnung;"; 
    158158 
    159159        $v=array($gmlid); 
     
    179179                if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage-O 
    180180                        $kgmlalt=$kgml; // Katalog GML-ID 
    181                         echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' "; 
    182                         echo "href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e "; 
    183                         echo "<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>"; 
    184                 } 
    185                 echo "\n\t\t\t<a title='Lagebezeichnung ohne Hausnummer' "; 
    186                 echo "href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$row["gml_id"]."\")'>Lage "; 
    187                 echo "<img src='ico/".$ico."' width='16' height='16' alt='OHNE'></a>&nbsp;"; 
    188                 echo "\n\t\t</p>\n\t</td>\n</tr>"; 
     181                        echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' " 
     182                        ."href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e " 
     183                        ."<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>"; 
     184                } 
     185                echo "\n\t\t\t<a title='Lagebezeichnung ohne Hausnummer' " 
     186                ."href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$row["gml_id"]."\")'>Lage " 
     187                ."<img src='ico/".$ico."' width='16' height='16' alt='OHNE'></a>&nbsp;" 
     188                ."\n\t\t</p>\n\t</td>\n</tr>"; 
    189189        } 
    190190        pg_free_result($res); 
     
    200200// FS >istgebucht> GS >istbestandteilvon> GB. 
    201201$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart,  
    202 s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, a.bezeichner AS bart  
    203 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
     202s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, wa.v AS blattartv, wb.v AS bart  
     203FROM ax_flurstueck f  
     204JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
    204205JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id 
    205206LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
    206 LEFT JOIN v_bs_buchungsart a ON s.buchungsart=a.wert  
     207LEFT JOIN alkis_wertearten wa ON cast(b.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart' 
     208LEFT JOIN alkis_wertearten wb ON cast(s.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' 
    207209WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL  
    208210ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
     
    218220        $beznam=$rowg["bezeichnung"]; 
    219221        echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>"; 
    220                 $blattkey=$rowg["blattart"]; 
    221                 $blattart=blattart($blattkey); 
     222                $blattkey=$rowg["blattart"]; // Key 
     223                $blattart=$rowg["blattartv"]; // Value 
     224 
    222225                if ($blattkey == 1000) { 
    223226                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     
    225228                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    226229                } 
    227                         echo "\n\t<tr>"; 
    228                                 echo "\n\t\t<td class='head'>Bezirk</td>"; 
    229                                 echo "\n\t\t<td class='head'>".$blattart."</td>"; 
    230                                 echo "\n\t\t<td class='head'>Lfd-Nr,</td>"; 
    231                                 echo "\n\t\t<td class='head'>Buchungsart</td>"; 
    232                         echo "\n\t</tr>"; 
    233                         echo "\n\t<tr>"; 
    234                                 echo "\n\t\t<td title='Grundbuchbezirk'>"; 
    235                                 echo $beznam."</td>"; 
    236                                 echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>"; 
    237                                 echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>"; 
    238                                 echo "\n\t\t<td title='Buchungsart'>".$rowg["bart"]."</td>"; 
    239                         echo "\n\t</tr>"; 
    240                 echo "\n\t</table>"; 
     230                        echo "\n\t<tr>" 
     231                                ."\n\t\t<td class='head'>Bezirk</td>" 
     232                                ."\n\t\t<td class='head'>".$blattart."</td>" 
     233                                ."\n\t\t<td class='head'>Lfd-Nr,</td>" 
     234                                ."\n\t\t<td class='head'>Buchungsart</td>" 
     235                        ."\n\t</tr>\n\t<tr>" 
     236                                ."\n\t\t<td title='Grundbuchbezirk'>".$beznam."</td>" 
     237                                ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>" 
     238                                ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>" 
     239                                ."\n\t\t<td title='Buchungsart'>".$rowg["bart"]."</td>" 
     240                        ."\n\t</tr>" 
     241                ."\n\t</table>"; 
    241242 
    242243                if ($rowg["zaehler"] <> "") { 
    243244                        echo "\n<p class='ant'>".$rowg["zaehler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    244245                } 
    245                 echo "\n</td>\n<td>"; 
    246                 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
    247                         echo "\n\t\t<a href='javascript:imFenster(\"alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."\")' "; 
    248                                 echo "title='Grundbuchnachweis'>"; 
    249                                 echo $blattart; 
    250                                 echo " <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>"; 
    251                         echo "</a>"; 
    252                 echo "\n\t</p>"; 
    253         echo "\n</td>\n</tr>\n</table>"; 
     246                echo "\n</td>\n<td>" 
     247                ."\n\t<p class='nwlink'>weitere Auskunft:<br>" 
     248                        ."\n\t\t<a href='javascript:imFenster(\"alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."\")' " 
     249                                ."title='Grundbuchnachweis'>".$blattart." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
     250                        ."</a>" 
     251                ."\n\t</p>" 
     252        ."\n</td>\n</tr>\n</table>"; 
    254253 
    255254        // E I G E N T U E M E R 
    256255        if ($blattkey == 5000) { // Schluessel Blattart 
    257                 echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n"; 
    258                 echo "\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n"; 
     256                echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n" 
     257                ."\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n"; 
    259258        } else {// kein Eigent. bei fiktiv. Blatt 
    260259                echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 
     
    264263 
    265264                if ($n == 0) { // keine NamensNr, kein Eigentuemer 
    266                         echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>"; 
    267                         echo "\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>"; 
    268                         linkgml($gkz, $gmlid, "Buchungsblatt", ""); 
     265                        echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>" 
     266                        ."\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>"; 
    269267                } 
    270268        } 
Note: See TracChangeset for help on using the changeset viewer.