Ignore:
Timestamp:
05/14/13 18:26:41 (11 years ago)
Author:
frank.jaeger
Message:

Mapbender-Navigation verbessert.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mapbender/http/nav/alkisnav_fls.php

    r283 r284  
    77        2013-04-29      Test mit IE 
    88        2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen 
    9         2013-05-08  Variablen-Namen geordnet, Hervorhebung aktuelles Objekt, in Arbeit ... 
     9        2013-05-14  Variablen-Namen geordnet, Hervorhebung aktuelles Objekt, Title auch auf Icon, IE zeigt sonst alt= als Title dar. 
    1010*/ 
    1111$cntget = extract($_GET); 
     
    4141 
    4242END; 
    43  
    44 function is_ne_zahl($wert) { 
    45         // Prueft, ob ein Wert ausschließlich aus den Zahlen 0 bis 9 besteht 
    46         if (trim($wert, "0..9") == "") {return true;} else {return false;} 
    47 } 
    4843 
    4944function h_hinten($zahl) { 
     
    158153        if ($aktuell) {$cls=" aktuell";} 
    159154        echo "\n<div class='gk".$cls."' title='Gemarkung'>"; 
    160         echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; 
     155        echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='GKG' title='Gemarkung'>"; 
    161156        echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gkgnr."'>";             
    162157        echo  " ".$gnam."</a> (".$gkgnr.")"; 
     
    169164        if ($aktuell) {$cls=" aktuell";} 
    170165        echo "\n<div class='fl".$cls."' title='Flur'>"; 
    171         echo "\n\t\t<img class='nwlink' src='ico/Flur.ico' width='16' height='16' alt='Flur'> "; 
     166        echo "\n\t\t<img class='nwlink' src='ico/Flur.ico' width='16' height='16' alt='FL' title='Flur'> "; 
    172167        $url=$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gkgnr."-".$flurnr; 
    173168        echo "<a title='Aktuelle Flurst&uuml;cke suchen' href='".$url."'>Flur ".$flurnr." </a>";  
     
    194189        // Icon -> Buchnachweis 
    195190        echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."\")'>"; 
    196                 echo "\n\t\t<img class='nwlink' src='ico/".$ico."' width='16' height='16' alt='Hist'>"; 
     191                echo "\n\t\t<img class='nwlink' src='ico/".$ico."' width='16' height='16' alt='Hist' title='".$titl."'>"; 
    197192        echo "\n\t</a>"; 
    198193 
     
    232227        echo "\n<div class='hn' title='Nachfolger: ".$titl."'>";                         
    233228                echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath.$auskprog.".php?gkz=".$gkz."&amp;gmlid=".$gml."\")'>"; 
    234                         echo "\n\t\t<img class='nwlink' src='ico/".$ico."' width='16' height='16' alt='FS'>"; 
     229                        echo "\n\t\t<img class='nwlink' src='ico/".$ico."' width='16' height='16' alt='FS' title='Nachweis'>"; 
    235230                echo "\n\t</a> ";                
    236231                echo "Flst. <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$fs.$hisparm."'>".$fskenn."</a>";                                      
     
    464459 
    465460function HistFlur() { 
    466         // Kennzeichen aus Gemarkung und FlurNr wurde eingegeben 
     461        // Kennzeichen aus Gemarkung und FlurNr wurde eingegeben. 
    467462        // Die Flur nach historischen FlurstÃŒcken durchsuchen 
    468463        global $con, $gkz, $gemeinde, $epsg, $debug, $scalefs, $auskpath, $land, $zgemkg, $zflur; 
     
    506501 
    507502function EinFlurstueck() { 
    508         // FlurstÃŒckskennzeichen wurde komplett bis zum Zaehler eingegeben 
    509         // Sonderfall: bei Bruchnummer, mehrere Nenner zum Zaehler 
     503        // FlurstÃŒckskennzeichen wurde komplett bis zum Zaehler (oder Nenner) eingegeben 
     504        // Sonderfall: bei Bruchnummer, mehrere Nenner zum Zaehler suchen wenn kein Nenner eingegeben wurde. 
    510505        global $con, $gkz, $debug, $epsg, $gemeinde, $fskennz, $zgemkg, $zflur, $zzaehler, $znenner; 
    511506 
     
    555550 
    556551function HistFlurstueck() { 
    557         // Die Nachfolger-FS-Kennzeichen sollen recherchiert werden. 
     552        // Die Nachfolger-FS-Kennzeichen zu einem Historischen FS sollen recherchiert werden. 
    558553        global $debug, $land, $zgemkg, $zflur, $zzaehler, $znenner; 
    559554 
     
    561556        gg_head($zgemkg, false); 
    562557        zeile_flur($zgemkg, $zflur, true, false); 
     558        echo "\n<hr>"; 
    563559 
    564560        // Body 
    565561        // Suche ueber das Flurstueckskennzeichen, gml unbekannt 
    566         $fldlist=" AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner, "; 
    567         $whcl.="WHERE flurstueckskennzeichen= $1 "; 
    568         $sql ="SELECT 'a'".$fldlist."null as nachf FROM ax_flurstueck ".$whcl; 
    569         $sql.="UNION SELECT 'h'".$fldlist."nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueck ".$whcl; 
    570         $sql.="UNION SELECT 'o'".$fldlist."nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueckohneraumbezug ".$whcl; 
    571562        $fskzwhere =$land.$zgemkg; // Flurst-Kennz. f. Where 
    572563        $fskzwhere.=str_pad($zflur, 3, "0", $STR_PAD_LEFT); 
    573564        $fskzwhere.=str_pad($zzaehler, 5, "0", $STR_PAD_LEFT); 
    574         if ($znenner == "") {$fskzwhere.="______";} 
    575         else {$fskzwhere.=str_pad($znenner, 4, "0", $STR_PAD_LEFT)."__";} 
     565        if ($znenner == "") {   // Wenn kein Nenner angegeben wurde,  
     566                //wird mit Wildcard und like nach allen Nennern gesucht. 
     567                $fskzwhere.="____\_\_"; // fÃŒr like  
     568                // Das Wildcard-Zeichen "_" ist dummerweise mit FÃŒllzeichen im Feldinhalt identisch 
     569                $whereop=" like "; 
     570        } else { // Ein Nenner wurde angegeben 
     571                $fskzwhere.=str_pad($znenner, 4, "0", $STR_PAD_LEFT)."__"; 
     572                $whereop=" = "; 
     573        } 
     574        $whcl.="WHERE flurstueckskennzeichen ".$whereop." $1 "; 
     575         
     576        $fldlist=" AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner, "; 
     577 
     578        // NICHT in aktuell suchen wenn explizit historisch gesucht wird 
     579        #$sql ="SELECT 'a'".$fldlist."null as nachf FROM ax_flurstueck ".$whcl." UNION "; 
     580        $sql ="SELECT 'h'".$fldlist."nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueck ".$whcl; 
     581        $sql.="UNION SELECT 'o'".$fldlist."nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueckohneraumbezug ".$whcl; 
     582 
    576583        $v=array($fskzwhere); 
     584        #echo "<p class='dbg'>SQL=".$sql."<br>WHERE=".$fskzwhere."</p>";  // ++++ TEST 
    577585 
    578586        $res=pg_prepare("", $sql); 
     
    581589        $zfs=0; 
    582590 
    583         while($row = pg_fetch_array($res)) { 
     591        while($row = pg_fetch_array($res)) { // Schleife Hist-FS 
    584592                $ftyp=$row["ftyp"]; 
    585593                $fs_gml=$row["gml_id"]; 
     
    589597                $nachf=$row["nachf"]; 
    590598                if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} 
    591                 if ($ftyp == "a") { // als aktuelles FS gefunden, das "h" war also unnötig! 
    592                         $koor=flurstueckskoordinaten($fs_gml); 
    593                         echo "\n<p>Flurst&uuml;ck ".$fskenn." ist aktuell, nicht historisch</p>";        
    594                         zeile_flurstueck ($fs_gml, $fskenn, $koor["x"], $koor["y"], $gknr, $flur, true); 
    595                 } else { // Historisches FS gefunden (h oder o) 
    596                         zeile_hist_fs($fs_gml, $fskenn, $ftyp, $gknr, $flur, true); 
    597                         if ($nachf == "") { 
    598                                 echo "\n<p class='err'>keine Nachfolger</p>";    
    599                         } else { 
    600                                 echo "\n<p>Nachfolger-Flurst&uuml;cke:</p>"; 
    601                                 // Direkte Nachfolger ermitteln. In $nachf steht ein Array von FS-Kennzeichen. 
    602                                 // Von den einzelnen Kennz. ist unbekannt, ob diese noch aktuell sind  
    603                                 // oder auch schon wieder historisch. 
    604                                 // Nachfolger in DB suchen um den Status aktuell/historisch zu ermitteln 
    605                                 $stri=trim($nachf, "{}"); 
    606                                 $stri="'".str_replace(",", "','", $stri)."'"; 
    607                                 $whcln.="WHERE flurstueckskennzeichen IN ( ".$stri." ) "; 
    608                                 $nasql ="SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_flurstueck ".$whcln; 
    609                                 $nasql.="UNION SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueck ".$whcln; 
    610                                 $nasql.="UNION SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueckohneraumbezug ".$whcln; 
    611                                 $v=array(); 
    612                                 $nares=pg_prepare("", $nasql); 
    613                                 $nares=pg_execute("", $v); 
    614                                 if (!$nares) {echo "\n<p class='err'>Fehler bei Nachfolger.</p>";} 
    615                                 $zfsn=0; 
    616                                 while($narow = pg_fetch_array($nares)) { 
    617                                         $naftyp=$narow["ftyp"]; 
    618                                         $nagml=$narow["gml_id"]; 
    619                                         $nagknr=$narow["gemarkungsnummer"]; 
    620                                         $naflur=$narow["flurnummer"]; 
    621                                         $nafskenn=$narow["zaehler"]; 
    622                                         if ($narow["nenner"] != "") {$nafskenn.="/".$narow["nenner"];} 
    623                                         zeile_nachf_fs ($nagml, $nagknr, $naflur, $nafskenn, $naftyp); 
    624                                         $zfsn++; 
    625                                 } 
    626                                 if ($zfsn == 0) { 
    627                                         echo "\n<p class='anz'>keine Nachfolger gefunden</p>"; 
    628                                 } else { // if($zfsn > 1) 
    629                                         echo "\n<p class='anz'>".$zfsn." Nachfolger-Flurst&uuml;cke</p>"; 
    630                                 } 
     599 
     600                #if ($ftyp == "a") { // als aktuelles FS gefunden, das "h" war also unnötig! 
     601                #       $koor=flurstueckskoordinaten($fs_gml); 
     602                #       echo "\n<p>Flurst&uuml;ck ".$fskenn." ist aktuell, nicht historisch</p>";        
     603                #       zeile_flurstueck ($fs_gml, $fskenn, $koor["x"], $koor["y"], $gknr, $flur, true); 
     604                #} else { // Historisches FS gefunden (h oder o) 
     605 
     606                zeile_hist_fs($fs_gml, $fskenn, $ftyp, $gknr, $flur, true); 
     607                if ($nachf == "") { 
     608                        echo "\n<p class='anz'>keine Nachfolger</p>";    
     609                } else { 
     610                        echo "\n<p class='hn'>Nachfolger-Flurst&uuml;cke:</p>"; 
     611                        // Direkte Nachfolger ermitteln. In $nachf steht ein Array von FS-Kennzeichen. 
     612                        // Von den einzelnen Kennz. ist unbekannt, ob diese noch aktuell sind  
     613                        // oder auch schon wieder historisch. 
     614                        // Nachfolger in DB suchen um den Status aktuell/historisch zu ermitteln 
     615                        $stri=trim($nachf, "{}"); 
     616                        $stri="'".str_replace(",", "','", $stri)."'"; 
     617 
     618                        $nawhcl="WHERE flurstueckskennzeichen IN ( ".$stri." ) "; 
     619 
     620                        $nasql ="SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_flurstueck ".$nawhcl; 
     621                        $nasql.="UNION SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueck ".$nawhcl; 
     622                        $nasql.="UNION SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueckohneraumbezug ".$nawhcl; 
     623 
     624                        $v=array(); 
     625                        $nares=pg_prepare("", $nasql); 
     626                        $nares=pg_execute("", $v); 
     627                        if (!$nares) {echo "\n<p class='err'>Fehler bei Nachfolger.</p>";} 
     628                        $zfsn=0; 
     629                        // inner Body 
     630                        while($narow = pg_fetch_array($nares)) { 
     631                                $naftyp=$narow["ftyp"]; 
     632                                $nagml=$narow["gml_id"]; 
     633                                $nagknr=$narow["gemarkungsnummer"]; 
     634                                $naflur=$narow["flurnummer"]; 
     635                                $nafskenn=$narow["zaehler"]; 
     636                                if ($narow["nenner"] != "") {$nafskenn.="/".$narow["nenner"];} 
     637                                zeile_nachf_fs ($nagml, $nagknr, $naflur, $nafskenn, $naftyp); 
     638                                $zfsn++; 
    631639                        } 
    632                 } 
     640                        // inner Footer 
     641                        if ($zfsn == 0) { 
     642                                echo "\n<p class='anz'>keine Nachfolger</p>"; 
     643                        } elseif ($zfsn > 1) { 
     644                                echo "\n<p class='anz'>".$zfsn." Nachfolger-Flst.</p>"; 
     645                        } 
     646                        echo "\n<hr>"; 
     647                } 
     648                #} // aktuell ... 
    633649                $zfs++; 
    634650        } 
Note: See TracChangeset for help on using the changeset viewer.