Ignore:
Timestamp:
11/19/18 18:33:36 (5 years ago)
Author:
frank.jaeger
Message:

Korrektur der Auskunft: Vorgängerflurstücke und Fortführungen bei Flurstücks-Historie.

File:
1 edited

Legend:

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

    r412 r417  
    1212        2018-03-16 NULL-Werte in gemeinde und kreis in ax_historischesflurstueck berÃŒcksichtigen 
    1313        2018-04-23 &nodebug 
    14         2018-11-09 Umstellung Full-Schema 
     14        2018-11-19 Full-Schema: EntschlÃŒsseln "zeigtaufexternes_art" mit function fortfuehrungen(). Tab. "ax_historischesflurstueck" hat kein "vorgaengerflurstueckskennzeichen" mehr. 
    1515*/ 
    1616 
     
    6868 
    6969function such_vor_arr($fsk) { 
    70 // Suchen der Vorgaenger zum aktuellen Flurst. Ausgabe von Selbst-Links Zeilenweise in <td>. 
    71 // Akt. FS hat keine Verweise auf Vorgaenger. Darum in den Nachfolger-Verweisen von Hist.-FS suchen. 
     70// Suchen Vorgaenger zum aktuellen Flurst. Ausgabe von Selbst-Links Zeilenweise in <td>. 
     71// Akt. FS und hist.FS hat keine Verweise auf Vorgaenger. Darum in den Nachfolger-Verweisen von Hist.-FS suchen. 
    7272        global $gkz, $con, $debug, $showkey, $filtkreis, $filtgem; 
    7373 
     
    7575        ."WHERE $1 = ANY (h.nachfolgerflurstueckskennzeichen) AND h.endet IS NULL " 
    7676        ."UNION SELECT 'o' AS ftyp, o.gml_id, o.flurstueckskennzeichen FROM ax_historischesflurstueckohneraumbezug o " 
    77         ."WHERE $1 = ANY (o.nachfolgerflurstueckskennzeichen) AND o.endet IS NULL " 
    78         ."ORDER BY flurstueckskennzeichen"; 
     77        ."WHERE $1 = ANY (o.nachfolgerflurstueckskennzeichen) AND o.endet IS NULL ORDER BY flurstueckskennzeichen"; 
    7978 
    8079        $v=array($fsk); 
     
    9796        if ($zv == 0) { 
    9897                echo "(keine)"; 
    99                 // if ($debug > 2) {echo "\n<p class='dbg'>SQL='".$sqlv."' FSK='".$fsk."'</p>";} 
    100         } else { 
    101                 // if ($debug > 2) {echo "\n<p class='dbg'>Treffer=".$zv."</p>";} 
    10298        } 
    10399        return; 
     
    165161if ($parmtyp != "") { // einer der beiden erlaubten FÀlle 
    166162        // UNION-Abfrage auf 3Àhnliche Tabellen, darin aber immer nur 1 Treffer. 
    167  
    168163        $felder="gml_id, flurnummer, cast(zaehler AS character varying), cast(nenner AS character varying), flurstueckskennzeichen, amtlicheflaeche, to_char(cast(zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, gemarkungsnummer, "; 
    169164 
     
    174169        } else { // ZusÀtze zur WHERE-Clausel 
    175170                $wheref=" AND f.gemeindezugehoerigkeit_kreis = '".$filtkreis."' AND f.gemeindezugehoerigkeit_gemeinde = '".$filtgem."' "; 
    176                 $whereh=" AND (h.kreis IS NULL OR h.kreis = '".$filtkreis."' ) AND (h.gemeinde IS NULL OR h.gemeinde = '".$filtgem."') "; 
    177                 $whereo=" AND (o.gemeinde IS NULL OR o.gemeinde = '".$filtgem."') "; 
    178         } 
    179  
    180         $sqlu ="SELECT 'a' AS ftyp, ".$felder."null AS nach, null AS vor, null AS \"name\" FROM ax_flurstueck f ".$whereclause.$wheref." AND f.endet IS NULL " 
    181         ."UNION SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueck h ".$whereclause.$whereh." AND h.endet IS NULL " 
    182         ."UNION SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueckohneraumbezug o ".$whereclause.$whereo." AND o.endet IS NULL;"; 
     171                $whereh=" AND (h.gemeindezugehoerigkeit_kreis IS NULL OR h.gemeindezugehoerigkeit_kreis = '".$filtkreis."' ) AND (h.gemeindezugehoerigkeit_gemeinde IS NULL OR h.gemeindezugehoerigkeit_gemeinde = '".$filtgem."') "; 
     172                $whereo=" AND (o.gemeindezugehoerigkeit_gemeinde IS NULL OR o.gemeindezugehoerigkeit_gemeinde = '".$filtgem."') "; 
     173        } 
     174 
     175        $sqlu ="SELECT 'a' AS ftyp, ".$felder."null::character varying[] AS nach, null::character varying[] AS vor, zeigtaufexternes_art AS zart, zeigtaufexternes_name AS zname FROM ax_flurstueck f ".$whereclause.$wheref." AND f.endet IS NULL " 
     176        ."UNION SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, null AS vor, zeigtaufexternes_art AS zart, zeigtaufexternes_name AS zname FROM ax_historischesflurstueck h ".$whereclause.$whereh." AND h.endet IS NULL " 
     177        ."UNION SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, zeigtaufexternes_art AS zart, zeigtaufexternes_name AS zname FROM ax_historischesflurstueckohneraumbezug o ".$whereclause.$whereo." AND o.endet IS NULL;"; 
    183178 
    184179        $resu = pg_prepare("", $sqlu); 
     
    194189                $fskenn=$rowu["flurstueckskennzeichen"]; 
    195190                $flae=number_format($rowu["amtlicheflaeche"],0,",",".") . " m&#178;"; 
    196                 $name=$rowu["name"]; // in DB ein Array 
    197                 $arrn=explode(",", trim($name, "{}") ); // PHP-Array  
    198191                $gemkname= gemkg_name($gmkgnr); 
    199                 $entsteh=$rowu["zeitpunktderentstehung"]; 
    200192                $vor=$rowu["vor"]; 
    201193                $nach=$rowu["nach"]; 
     194                $entsteh=$rowu["zeitpunktderentstehung"]; 
     195                $zeart=$rowu["zart"]; 
     196                $zename=$rowu["zname"]; 
    202197                if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // fuer selbst-link-Umschalter ueber footer 
     198 
     199                switch ($ftyp) { // Diff. Hist./Akt. 
     200                        case 'a':  
     201                                $wert = "aktuell"; 
     202                                $ico= "Flurstueck.png"; 
     203                                $cls= "kennzfs";         
     204                        break; 
     205                        case 'h':  
     206                                $wert = "historisch<br>(mit Raumbezug)"; 
     207                                $ico= "Flurstueck_Historisch.png"; // 
     208                                $cls= "kennzfsh"; 
     209                        break; 
     210                        case 'o':  
     211                                $wert = "historisch<br>ohne Raumbezug"; 
     212                                $ico= "Flurstueck_Historisch_oR.png"; 
     213                                $cls= "kennzfsh"; 
     214                        break; 
     215                        default: 
     216                                $wert = "<b>nicht gefunden: ".$parmtyp." = '".$parmval."'</b>"; 
     217                                $ico= "Flurstueck_Historisch.png"; 
     218                                $cls= "kennzfsh"; 
     219                        break; 
     220                } 
    203221        } else { 
    204222                if ($debug > 1) { 
     
    211229} 
    212230 
    213 switch ($ftyp) { // Unterschiede Hist./Aktuell 
    214         case 'a':  
    215                 $wert = "aktuell"; 
    216                 $ico= "Flurstueck.png"; 
    217                 $cls= "kennzfs";         
    218         break; 
    219         case 'h':  
    220                 $wert = "historisch<br>(mit Raumbezug)"; 
    221                 $ico= "Flurstueck_Historisch.png"; // 
    222                 $cls= "kennzfsh"; 
    223         break; 
    224         case 'o':  
    225                 $wert = "historisch<br>ohne Raumbezug"; 
    226                 $ico= "Flurstueck_Historisch_oR.png"; 
    227                 $cls= "kennzfsh"; 
    228         break; 
    229         default: 
    230                 $wert = "<b>nicht gefunden: ".$parmtyp." = '".$parmval."'</b>"; 
    231                 $ico= "Flurstueck_Historisch.png"; 
    232                 $cls= "kennzfsh"; 
    233         break; 
    234 } 
    235  
    236231// Balken 
    237232echo "<p class='fshis'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>"; 
    238 echo "\n<h2><img src='ico/".$ico."' width='16' height='16' alt=''> Flurst&uuml;ck Historie</h2>"; 
    239  
    240 echo "\n<table class='outer'>\n<tr>\n\t<td>"; 
    241         // darin Tabelle Kennzeichen 
    242         echo "\n\t<table class='".$cls."' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" 
     233echo "\n<h2>Flurst&uuml;ck Historie</h2>"; 
     234 
     235echo "\n<table class='outer'>\n<tr>\n\t<td>" 
     236        ."\n\t<tr>\n\t\t<td class='ll'><img src='ico/".$ico."' width='16' height='16' alt=''> Kennzeichen:</td>" // Links 
     237        ."\n\t\t<td>" // Mitte 
     238        ."\n\t<table class='".$cls."' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" // innere Tabelle Kennzeichen 
    243239                ."\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>" 
    244240                ."\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
     
    249245        ."\n\t</table>" 
    250246."\n\t</td>\n\t<td>"; 
    251         // FS-Daten 2 Spalten 
    252         echo "\n\t<table class='fsd'>" 
    253                 ."\n\t<tr>\n\t\t<td>Entstehung</td>" 
    254                         ."\n\t\t<td>".$entsteh."</td>" 
    255                 ."\n\t</tr>\n\t<tr>" 
    256                         ."\n\t\t<td>letz. Fortf</td>" 
    257                         ."\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
    258                                 foreach($arrn AS $val) { // Zeile f. jedes Element 
    259                                         echo trim($val, '"')."<br>"; 
    260                                 } 
    261                         echo "</td>" 
    262                 ."\n\t</tr>" 
    263         ."\n\t</table>" 
    264 ."\n\t</td>\n</tr>\n</table>"; 
     247fortfuehrungen($entsteh, $zeart, $zename); 
     248echo "\n\t</td>\n</tr>\n</table>"; 
    265249 
    266250if ($ftyp == "a") { // Aktuell -> Historie 
     
    288272        // Spalte 2: V o r g À n g e r 
    289273        echo "\n\t<td>"; 
    290         switch ($ftyp) { // Unterschiede Historisch/Aktuell 
     274        switch ($ftyp) { // Diff. Hist./Akt. 
    291275                case 'a': 
    292276                        such_vor_arr($fskenn); 
    293277                break; 
    294278                case 'h': 
    295                         if ($vor == "") { 
    296                                 echo "Geometrische Suche<br>(noch nicht m&ouml;glich)"; 
    297                         } else { 
    298                                 vornach($vor); 
    299                         } 
     279                        such_vor_arr($fskenn); 
    300280                break; 
    301281                case 'o': 
Note: See TracChangeset for help on using the changeset viewer.