Ignore:
Timestamp:
04/12/11 09:58:26 (13 years ago)
Author:
frank.jaeger
Message:

ALKIS-Navigation fuer Mapbender erweitert: EPSG aus Mapframe entnehmen, Liste der Gemeinden oder Amtsgerichte bei leerer Eingabe

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/mapbender/http/nav/alkisnav_grd.php

    r68 r86  
    11<?php 
    2 // Version vom 13.01.2011   
     2/* Version vom 
     3        14.01.2011 
     4        12.04.2011 epsg in Link, transform nur wenn notwendig,  
     5        neue Suchstrategie bei Leer-Eingabe (Liste Amtsgerichte), Icon GB-Bez. 
     6*/ 
    37import_request_variables("PG"); 
    48include("../../conf/alkisnav_conf.php"); 
     
    2731function ZerlegungGBKennz($gbkennz) { 
    2832        // Das eingegebene Grundbuch-Kennzeichen auseinander nehmen (gggg-999999z-BVNR) 
    29         // Return: 0=Fehler, 1=Such Bezirk-Name oder Listen alle Bezirke 
     33        // Return: 9=Fehler, 0=Listen alle Bezirke 1=Such Bezirk-Name 
    3034        //         2=Such Bezirk-Nummer $zgbbez, 3=Such Blatt $zblatt, 4=Such BVNR $zbvnr 
    3135        global $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr;     
     
    3539        $zbvnr=trim($arr[2]); 
    3640        if ($zgbbez == "") { // keine Eingabe 
    37                 return 1; // alle Bezirke listen 
     41                return 0; // Amtsgerichte oder Bezirke listen 
    3842        } elseif ( ! is_ne_zahl($zgbbez)) { // Alphabetische Eingabe 
    3943                return 1; // Such Bezirk-NAME 
     
    4953                                $zblattn=substr($zblatt,0,$len-1); 
    5054                                $zblattz=strtoupper(substr($zblatt,$len-1,1));  
    51                                 if ( (trim($zblattn, "0..9") == "") and (trim($zblattz, "A..Z") == "")) { 
     55                                if ((trim($zblattn, "0..9") == "") and (trim($zblattz, "A..Z") == "")) { 
    5256                                        $zblatt=$zblattn.$zblattz; 
    5357                                        $zblattn= ltrim($zblattn, "0"); // ohne fuehrende Nullen 
    5458                                } else { 
    5559                                        echo "<p class='err>Format 'Blatt': bis zu 6 Zahlen und ggf. ein Buchstabe</p>";         
    56                                         return 0; 
     60                                        return 9; 
    5761                                } 
    5862                        } 
     
    6569                        } else { 
    6670                                echo "<p class='err>Die Buchungsstelle (BVNR) '".$zbvnr."' ist nicht numerisch</p>"; 
    67                                 return 0; 
     71                                return 9; 
    6872                        } 
    6973                } else { 
    7074                        echo "<p class='err>Das Grundbuch-Blatt '".$zblatt."' ist ung&uuml;ltig.</p>"; 
    71                         return 0; 
    72                 } 
    73         } 
     75                        return 9; 
     76                } 
     77        } 
     78} 
     79 
     80function ListAG($liste_ag) { 
     81        // Amtsgerichte (Grundbuch) auflisten, dazu als Filter eine AG-Liste aus conf 
     82        global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz; 
     83        $linelimit=40; 
     84        $sql ="SELECT a.stelle, a.bezeichnung AS ag FROM ax_dienststelle a "; 
     85        $sql.="WHERE a.stelle IN (".$liste_ag.") AND a.stellenart = 1000 "; // Amtsgerichte aus Liste 
     86        $sql.="ORDER BY a.bezeichnung LIMIT $1 ;"; 
     87        $res = pg_prepare("", $sql); 
     88        $res = pg_execute("", array($linelimit)); 
     89        if (!$res) { 
     90                echo "\n<p class='err'>Fehler bei Amtsgerichte</p>"; 
     91                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     92                return 0; 
     93        } 
     94        $cnt = 0; 
     95        while($row = pg_fetch_array($res)) { // Loop AG  
     96                $anr=$row["stelle"]; 
     97                $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");               
     98                echo "\n<div class='ga' title='Amtsgricht'>"; 
     99                        echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Amtsgericht'> "; 
     100                        echo "AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>";                
     101                                echo $ag."</a> (".$anr.")"; 
     102                echo "\n</div>"; 
     103                $cnt++; 
     104        } 
     105        if($cnt == 0){ // falsch configuriert! 
     106                echo "\n<p class='err'>Kein Amtsgericht aus Liste ".$$liste_ag.".</p>"; 
     107        } elseif ($cnt >= $linelimit) { 
     108                echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     109        } 
     110        return 0; 
     111} 
     112 
     113function ListGBBez($liste_ag, $mit_ag) { 
     114        // Grundbuch-Bezirke auflisten. 
     115        global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz; 
     116        $linelimit=70; 
     117        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     118        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
     119        $sql.="WHERE a.stelle IN (".$liste_ag.") AND a.stellenart = 1000 "; // Amtsgericht aus Liste 
     120        $sql.="ORDER BY g.bezeichnung LIMIT $1 ;"; 
     121        $res = pg_prepare("", $sql); 
     122        $res = pg_execute("", array($linelimit)); 
     123        if (!$res) { 
     124                echo "\n<p class='err'>Fehler bei Grundbuch-Bezirk</p>"; 
     125                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     126                return 0; 
     127        } 
     128        $cnt = 0; 
     129        while($row = pg_fetch_array($res)) { // Loop  B E Z I R K 
     130                $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
     131                $gnr=$row["bezirk"]; 
     132                $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8"); 
     133                $anr=$row["stelle"]; 
     134                echo "\n<div class='gk' title='GB-Bezirk'>"; 
     135                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Gemkg'> "; 
     136                        echo "Bezirk <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$gnr."'>";               
     137                                echo $gnam."</a> (".$gnr.")"; 
     138                                if ($mit_ag) { 
     139                                        echo " AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>".$ag."</a>"; 
     140                                } 
     141                echo "\n</div>"; 
     142                $cnt++; 
     143        } 
     144        if($cnt == 0){ // falsch configuriert 
     145                echo "\n<p class='err'>Kein Grundbuchbezirk zu den Amtsgerichten ".$liste_ag.".</p>"; 
     146        } elseif ($cnt >= $linelimit) { 
     147                echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     148        } 
     149        return 0; 
    74150} 
    75151 
     
    78154        global $con, $gkz, $gemeinde, $debug, $gbkennz; 
    79155        $linelimit=50; 
    80         $sql ="SELECT a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     156        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    81157        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    82158        $sql.="WHERE g.bezeichnung ILIKE $1 "; //       "AND a.stellenart=1000 " // Amtsgericht 
     
    100176        } 
    101177        $cnt = 0; 
    102         // Loop  B E Z I R K      
    103         // +++ Sortierung und Gruppierung nach Amtsgericht ?? 
     178        // Loop  B E Z I R K 
    104179        while($row = pg_fetch_array($res)) { 
    105180                $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    106181                $gnr=$row["bezirk"]; 
    107182                $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");               
     183                $anr=$row["stelle"]; 
    108184                echo "\n<div class='gk' title='GB-Bezirk'>"; 
    109                         echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Gemkg'> "; 
    110                         echo "<a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$gnr."'>";                 
    111                                 echo $gnam."</a> (".$gnr.") AG ".$ag; 
     185                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Gemkg'> "; 
     186                        echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$gnr."'>";            
     187                                echo $gnam."</a> (".$gnr.")"; 
     188                                echo " AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>".$ag."</a>"; 
    112189                echo "\n</div>"; 
    113190                $cnt++; 
     
    125202function EinBezirk($showParent) { 
    126203        // Kennzeichen bestehend nur aus GB-Bezirk-SchlÃŒssel wurde eingegeben 
    127         global $con, $gkz, $gemeinde, $debug, $zgbbez, $auskpath; 
     204        global $con, $gkz, $gemeinde, $epsg, $debug, $zgbbez, $auskpath; 
    128205        $linelimit=200; // max. Blatt je Bezirk 
    129206        // Dies linelimit ist nicht ausreichend fuer alle Blaetter eines Bezirks, aber ... 
     
    131208        // Es nutzt also nichts, hier Tausende Nummern aufzulisten. 
    132209        if ($showParent) { 
    133                 $sql ="SELECT a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     210                $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    134211                $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    135212                $sql.="WHERE g.bezirk= $1 ;"; 
     
    146223                        $gnr=$row["bezirk"]; 
    147224                        $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");       
     225                        $anr=$row["stelle"]; 
    148226                        $zgmk++; 
    149227                } 
    150228                if ($zgmk == 0) { 
    151229                        echo "\n<div class='gk' title='Grundbuchbezirk'>"; 
    152                                 echo "\n\t\t<p class='err'><img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'>"; 
     230                                echo "\n\t\t<p class='err'><img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'>"; 
    153231                                        echo  " Bezirk ".$zgbbez." ist unbekannt.</p>"; 
    154232                        echo "\n</div>"; 
    155233                        return; 
    156234                } 
    157                 // > 1 auch möglich? 
     235 
     236                // AG-Knoten davor setzen 
     237                echo "\n<div class='ga' title='Amtsgricht'>"; 
     238                        echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Amtsgericht'> "; 
     239                        echo "AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>";                
     240                                echo $ag."</a> (".$anr.")"; 
     241                echo "\n</div>"; 
    158242                echo "\n<div class='gk' title='GB-Bezirk'>"; 
    159                         echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'> "; 
    160                         echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";           
    161                         echo $gnam."</a> (".$zgbbez.") AG ".$ag; 
     243                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
     244                        echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                
     245                        echo $gnam."</a> (".$zgbbez.")"; 
     246                        // alternativ AG-Link hinter dem Bezirk 
     247                //      echo " des AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>".$ag."</a>";                        
    162248                echo "\n</div>"; 
    163249        } 
     
    180266                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    181267                        echo "\n\t</a> "; 
    182                         echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gblatt=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blatt."&nbsp;</a>"; 
     268                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gblatt=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blatt."&nbsp;</a>"; 
    183269                echo "\n</div>"; 
    184270                $cntbl++; 
     
    218304        if($cntbl == 0) {  
    219305                echo "\n<p class='err'>Grundbuchblatt '".$zgbbez."-".$zblatt."' nicht gefunden.</p>"; 
    220                 if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    221306        } elseif($cntbl == 1) { 
    222307                return $bl_gml; 
     
    227312function EinBlatt($showParent) { 
    228313        // Kennzeichen Bezirk + Blatt wurde eingegeben 
    229         global $con, $gkz, $debug, $gemeinde, $auskpath, $zgbbez, $zblatt, $gblatt, $zbvnr; 
     314        global $con, $gkz, $debug, $gemeinde, $epsg, $auskpath, $zgbbez, $zblatt, $zblattn, $zblattz, $gblatt, $zbvnr; 
    230315 
    231316        if ($showParent) {       
    232317                echo "\n<div class='gk' title='GB-Bezirk'>"; 
    233                         echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'> "; 
    234                         echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";           
    235                         echo "Bezirk ".$zgbbez."</a>"; 
     318                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
     319                        echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                 
     320                        echo $zgbbez."</a>"; 
    236321                        // Key ist bekannt. Sollte man sich die Muehe machen, Namen und Amtsgericht zu ermitteln? 
    237322                echo "\n</div>"; 
     
    240325                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    241326                        echo "\n\t</a> "; 
    242                         echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gblatt=".$gblatt."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
     327                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gblatt=".$gblatt."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
    243328                echo "\n</div>"; 
    244329        } 
     
    263348                echo "\n<div class='gs'>"; 
    264349                        echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
    265                         echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbuchung=".$bs_gml."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$lfd."'>&nbsp;".$lfd."&nbsp;</a>"; 
     350                        echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbuchung=".$bs_gml."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$lfd."'>&nbsp;".$lfd."&nbsp;</a>"; 
    266351                echo "\n</div>"; 
    267352                $cntbu++; 
     
    271356        } elseif($cntbu == 1) { 
    272357                //echo "\n<p>genau EINE Buchung gefunden".$lfd."</p>"; 
    273                 $zbvnr=$lfd; // mit dieser BVNR gleich weiter machen  
     358                $zbvnr=$lfd; // mit dieser BVNR gleich weiter machen 
     359                // Blatt zerteilen (benoetigt in gml_buchungsstelle) 
     360                if (trim($zblatt, "0..9") == "") { // Normalfall: nur Zahlen 
     361                        $zblattn= ltrim($zblatt, "0"); 
     362                        $zblattz=""; 
     363                } else { // Sonderfall: Zusatz-Buchstabe am Ende 
     364                        $zblattn=ltrim(substr($zblatt,0,$len-1), "0"); // ohne fuehrende Nullen 
     365                        $zblattz=strtoupper(substr($zblatt,$len-1,1));  
     366                } 
    274367        } 
    275368        return $cntbu; 
     
    278371function gml_buchungsstelle() { 
    279372        // Kennzeichen "Bezirk + Blatt + BVNR" eingegeben. Dazu die gml_id der Buchungsstelle ermitteln. 
    280         global $con, $gkz, $debug, $zgbbez, $zblatt, $zbvnr; 
     373        global $con, $gkz, $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr; 
    281374        // Blatt ->  B u c h u n g s s t e l l e 
    282375        $sql ="SELECT s.gml_id FROM ax_buchungsstelle s "; 
     
    284377        $sql.="JOIN ax_buchungsblatt b ON b.gml_id=v.beziehung_zu ";  
    285378        $sql.="WHERE v.beziehungsart='istBestandteilVon' "; 
    286         $sql.="AND b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung= $2 AND s.laufendenummer= $3 ;"; 
    287         $v=array($zgbbez, $zblatt, $zbvnr); 
     379        $sql.="AND b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung IN ( $2, $3 ) AND s.laufendenummer= $4 ;"; 
     380        $zblatt0v=str_pad($zblattn, 6, "0", STR_PAD_LEFT).$zblattz;     // mit 0 vorne 
     381        $v=array($zgbbez, $zblattn.$zblattz, $zblatt0v, $zbvnr); 
    288382        $res=pg_prepare("", $sql); 
    289383        $res=pg_execute("", $v); 
     
    298392        } 
    299393        if($zbs == 0) {  
    300                 echo "\n<p class='err'>Buchung ".$zgbbez."-".$zblatt."-".$zbvnr." nicht gefunden.</p>"; 
     394                echo "\n<p class='err'>Buchung ".$zgbbez."-".$zblattn.$zblattz."-".$zbvnr." nicht gefunden.</p>"; 
    301395                return; 
    302396        } elseif($zbs > 1) { // nur TEST 
     
    310404function EinGrundstueck($showParent) { 
    311405        // Die gml_id der Buchungsstelle ist bekannt. 
    312         global $con, $gkz, $debug, $gemeinde, $scalefs, $epsg, $auskpath, $gbuchung, $zgbbez, $zblatt, $zbvnr; 
     406        global $con, $gkz, $debug, $gemeinde, $epsg, $scalefs, $epsg, $auskpath, $gbuchung, $zgbbez, $zblatt, $zbvnr, $gfilter; 
    313407        if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben 
    314408                if (isset($zgbbez) and isset($zblatt)) { 
    315409                        echo "\n<div class='gk' title='GB-Bezirk'>"; 
    316                                 echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'> "; 
    317                                 echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";           
     410                                echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
     411                                echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                
    318412                                echo "Bezirk ".$zgbbez."</a>"; 
    319413                                // Key ist bekannt. Sollte man sich die Muehe machen, Namen und Amtsgericht zu ermitteln? 
     414                                // ++++ Namen als &bez= ÃŒbermitteln? 
    320415                        echo "\n</div>";                         
    321416                        echo "\n<div class='gb' title='GB-Blatt'>"; 
    322417                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt.ico' width='16' height='16' alt='Blatt'> "; 
    323                                 echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
     418                                echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
    324419                        echo "\n</div>"; 
    325420                } else { 
     
    328423                echo "\n<div class='gs'>"; 
    329424                        echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
    330                         echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbuchung=".$gbuchung."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$zbvnr."'>&nbsp;".$zbvnr."&nbsp;</a>"; 
     425                        echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbuchung=".$gbuchung."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$zbvnr."'>&nbsp;".$zbvnr."&nbsp;</a>"; 
    331426                echo "\n</div>"; 
    332427        } 
     
    338433        // Buchungsstelle -> Flurstueck 
    339434        $sql ="SELECT t.gemeinde, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; 
    340         $sql.="x(st_transform (st_centroid(f.wkb_geometry),".$epsg.")) AS x, "; 
    341         $sql.="y(st_transform (st_centroid(f.wkb_geometry),".$epsg.")) AS y "; 
     435 
     436        //      $sql.="x(st_transform (st_centroid(f.wkb_geometry),".$epsg.")) AS x, "; 
     437        //      $sql.="y(st_transform (st_centroid(f.wkb_geometry),".$epsg.")) AS y "; 
     438        if($epsg == "25832") { // Transform nicht notwendig 
     439                $sql.="x(st_Centroid(f.wkb_geometry)) AS x, "; 
     440                $sql.="y(st_Centroid(f.wkb_geometry)) AS y "; 
     441        } 
     442        else {   
     443                $sql.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
     444                $sql.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";                   
     445        } 
    342446        $sql.="FROM ax_gemarkung g "; 
    343447        $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
     
    363467                $x=$row["x"]; 
    364468                $y=$row["y"]; 
    365                 if($gemeinde > 0 and $gemeinde != $gemei) { // ex-territorial 
     469                if($gemeinde > 0 and $gemeinde != $gemei and $gfilter == 1) { // ex-territorial  
     470                // +++ Wie Abgleich mit Filter=Gemeinde-Liste? Als Array aufbereiten? 
    366471                        echo "\n<div class='fs' title='Kein Zugriff! Liegt au&szlig;erhalb des Gebietes.'>"; 
    367                                 echo "\n\t\t<img class='nwlink' src='ico/Flurstueck.ico' width='16' height='16' alt='FS'> ".$gmkg." ".$flur."-".$fskenn; 
     472                                echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Leer.ico' width='16' height='16' alt='FS'> (".$gmkg." ".$flur."-".$fskenn." )"; 
    368473                        echo "\n</div>";                         
    369474                } else { 
     
    391496if(isset($epsg)) { 
    392497        if ($debug >= 2) {echo "<p>aktueller EPSG='".$epsg."'</p>";} // aus MB 
    393         If (substr($epsg, 0, 5) == "EPSG:") {$epsg=substr($epsg, 5);} 
     498        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    394499} else { 
    395         if ($debug >= 2) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
     500        if ($debug >= 1) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
    396501        $epsg=$gui_epsg; // aus Conf 
    397502} 
     
    400505        } else {echo "<p>Kein Filter Gemeinde</p>";} 
    401506} 
     507if ($gemeinde == "") { 
     508        $gfilter = 0; // ungefiltert 
     509} elseif(strpos($gemeinde, ",") === false) { 
     510        $gfilter = 1; // Einzelwert 
     511} else { 
     512        $gfilter = 2; // Liste 
     513} 
    402514 
    403515// Auch wenn redundant: Das Kennzeichen fÃŒr Anzeige und weitere Links zerlegen 
     
    407519// Wurde eine gml_id (internes Kennzeichen) aus einem Self-Link verwendet? 
    408520// Dann hat das Prioritaet, nicht nach $gbkennz suchen. 
    409 If (isset($gbuchung)) { // gml der Buchungsstelle 
     521if (isset($gbuchung)) { // gml der Buchungsstelle 
    410522        if ($debug >= 2) {echo "<p>Link Buchung(gml)=".$gbuchung."</p>";} 
    411523        EinGrundstueck(true); 
     
    415527                $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    416528                EinGrundstueck(false); 
    417         }; 
    418 } else { 
    419         // Kein internes Kennzeichen (gml_id), die (manuelle) Eingabe interpretieren. 
    420         switch ($kennztyp) { 
    421         // +++ Ersten Schritt "Suche Amtsgericht" voranstellen? 
    422         // +++ Wie kann Filter "Gemeinde" berÃŒcksichtigt werden? 
    423         case 0: // Fehler 
    424                 echo "<p class='err'>Bitte ein Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>"; 
    425                 break; 
    426         case 1: // Eingabe Bezirk-Name (-Teil) -> Liste der Bezirke 
    427                 if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez."</p>";} 
    428                 $beznr=SuchGBBezName(); 
    429                 if ($beznr > 0) { 
    430                         $zgbbez=$beznr; 
    431                         EinBezirk(false); 
    432                 };       
    433                 break; 
    434         case 2: // Eingabe Bezirk-Nummer -> Liste der BlÀtter 
    435                 if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez."</p>";}       
    436                 EinBezirk(true); 
    437                 break; 
    438         case 3: // Eingabe Blatt -> Liste der Buchungen 
    439                 if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt."</p>";} 
    440                 $gblatt=gml_blatt(); // gml_id zum Blatt suchen 
    441                 if ($gblatt != "") { // gefunden                 
    442                         if (EinBlatt(true) == 1) { // darauf genau eine Buchung 
    443                                 $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    444                                 EinGrundstueck(false); 
     529        } 
     530} elseif(isset($ag)) { // Key 'stelle' des Amtsgerichtes 
     531        if ($debug >= 2) {echo "<p>Link Amtsgericht=".$ag."</p>";} 
     532        ListAG( "'".$ag."'" ); // noch mal Kopfzeile 
     533        ListGBBez("'".$ag."'", false); 
     534} else { // Kein Self-Link 
     535        // (manuelle) Eingabe im Formular interpretieren. 
     536        switch ($kennztyp) { // +++ Wie kann Filter "Gemeinde" berÃŒcksichtigt werden? 
     537                case 0: // keine Eingabe, 2 Alternativen 
     538                        // +++ Alternativen-Auswahl konfigurieren? 
     539                //      ListGBBez($ag_liste, true); // gefilterte Liste der Bezirke 
     540                        ListAG($ag_liste); // gefilterte Liste der Amtsgerichte 
     541                        break; 
     542                case 1: // Eingabe Bezirk-Name (-Teil) -> gefilterte Liste der Bezirke 
     543                        if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez."</p>";} 
     544                        $beznr=SuchGBBezName(); 
     545                        if ($beznr > 0) {  // eindeutig 
     546                                $zgbbez=$beznr; 
     547                                EinBezirk(false); // gleich weiter 
     548                        };       
     549                        break; 
     550                case 2: // Eingabe Bezirk-Nummer -> Liste der BlÀtter 
     551                        if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez."</p>";}       
     552                        EinBezirk(true); 
     553                        break; 
     554                case 3: // Eingabe Blatt -> Liste der Buchungen 
     555                        if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt."</p>";} 
     556                        $gblatt=gml_blatt(); // gml_id zum Blatt suchen 
     557                        if ($gblatt != "") { // gefunden                 
     558                                if (EinBlatt(true) == 1) { // darauf genau eine Buchung 
     559                                        $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
     560                                        EinGrundstueck(false); 
     561                                } 
    445562                        } 
    446                 } 
    447                 break; 
    448         case 4: // Eingabe Buchung (Grundstueck) -> Liste der Flurstuecke 
    449                 if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt." BVNR ".$zbvnr."</p>";} 
    450                 $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    451                 EinGrundstueck(true); 
    452                 break; 
     563                        break; 
     564                case 4: // Eingabe Buchung (Grundstueck) -> Liste der Flurstuecke 
     565                        if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt." BVNR ".$zbvnr."</p>";} 
     566                        $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
     567                        if ($gbuchung != "") { // .. wurde geliefert  
     568                                EinGrundstueck(true); 
     569                        } 
     570                        break; 
     571                case 9: // Fehler 
     572                        echo "<p class='err'>Bitte ein Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>"; 
     573                        break; 
    453574        } 
    454575} 
Note: See TracChangeset for help on using the changeset viewer.