Changeset 417


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

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

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

Legend:

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

    r412 r417  
    1717        2018-05-03 GrundstÃŒcksnachweis 
    1818        2018-11-09 Umstellung Full-Schema 
     19        2018-11-19 EntschlÃŒsseln "zeigtaufexternes_art" mit function fortfuehrungen(). 
    1920 
    2021        ++ ToDo: Parameter $lnkclass in eigentuemer() und $jfenster in buchung_anzg() vereinheitlichen 
     
    611612} 
    612613 
     614function fortfuehrungen($entsteh, $dbzeart, $dbzename) { 
     615// Tabelle im Kopf von FlurstÃŒck und FS-Historie. 2 Z./Sp. Entstehung/FortfÃŒhrung 
     616// Parameter: Die DB-Spalten "zeitpunktderentstehung", "zeigtaufexternes_art" und "zeigtaufexternes_name" 
     617        global $debug, $showkey; 
     618 
     619//      if ($debug > 2) {echo "<p class='dbg'>function fortfuehrungen<br>1: ".$dbzeart."<br>2: ".$dbzename."</p>";} 
     620  
     621        echo "\n\t<table class='fsd'>" // FS-Daten 2 Spalten 
     622                ."\n\t\t<tr>\n\t\t\t<td>Entstehung</td>" 
     623                ."\n\t\t\t<td title='Zeitpunkt der Enstehung'>".$entsteh."</td>\n\t\t</tr>"; 
     624        echo "\n\t<tr>" 
     625                ."\n\t\t\t<td>"; 
     626        $arrart=explode(",", trim($dbzeart, "{}")); 
     627        foreach($arrart AS $artval) { // Zeile fÃŒr jedes Element 
     628                $artval=trim($artval, '"'); 
     629// ibR: {"Entstehung des FlurstÃŒcks/5200","Letzte FortfÃŒhrung des FlurstÃŒcks/5300",urn:adv:fachdatenverbindung:AA_Antrag} 
     630// AED: {http://geoportal.kreis-herford.de/alkis/alkis.html#5200,http://geoportal.kreis-herford.de/alkis/alkis.html#5300,urn:adv:fachdatenverbindung:AA_Antrag} 
     631 
     632                $artpos=strpos($artval, '#'); 
     633                if ($artpos > 0) { // AED 
     634                        $artkey=substr($artval, $artpos + 1); 
     635                        switch ($artkey) { // keine SchlÃŒsseltabelle? 
     636                                case '5100': $arttxt="Grundst&uuml;ckshinweis (aus ALB-Historie)"; break; 
     637                                case '5200': $arttxt="Entstehung des Flurst&uuml;cks"; break; 
     638                                case '5300': $arttxt="Letzte Fortf&uuml;hrung des Flurst&uuml;cks"; break; 
     639                                default: $arttxt=$artval; 
     640                        } 
     641                        if ($showkey) {echo "<span class='key'><a target='_blank' href='".$artval."'>".$artkey."</a></span> ";} 
     642                        echo $arttxt."<br>"; 
     643                } else { 
     644                        $artpos=strpos($artval, '/'); 
     645                        if ($artpos > 0) { // ibR 
     646                                $artkey=substr($artval, $artpos + 1); 
     647                                $arttxt=substr($artval, 0, $artpos); 
     648                                if ($showkey) {echo "<span class='key'>".$artkey."</span> ";} 
     649                                echo $arttxt."<br>"; 
     650                        } 
     651                } 
     652        } 
     653        echo "</td>" 
     654        ."\n\t\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
     655        $arrname=explode(",", trim($dbzename, "{}")); 
     656        foreach($arrname AS $val) { 
     657                echo trim($val, '"')."<br>"; 
     658        } 
     659        echo "</td>" 
     660        ."\n\t\t</tr>" 
     661        ."\n\t</table>"; 
     662} 
     663 
    613664?> 
  • 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': 
  • trunk/info/info/alkisn/alkisfsnw.php

    r412 r417  
    2222        2018-05-03 Anpassung fÃŒr GrundstÃŒcksnachweis 
    2323        2018-11-09 Umstellung Full-Schema 
     24        2018-11-19 EntschlÃŒsseln "zeigtaufexternes_art" mit function fortfuehrungen(). 
    2425 
    2526++ToDo: 
     
    129130 
    130131// F L U R S T U E C K  m. Gebiet 
    131 $sql ="SELECT 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,  
    132 to_char(cast(f.zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, f.istgebucht, g.gemarkungsnummer, g.bezeichnung,  
    133 r.bezeichnung AS rbez, k.bezeichnung AS kbez, m.bezeichnung AS mbez  
     132$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,  
     133to_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  
    134134FROM ax_flurstueck f  
    135135LEFT JOIN ax_gemarkung g ON f.gemeindezugehoerigkeit_land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
     
    165165        $fsbuchflaed=number_format($fsbuchflae,0,",",".") . " m&#178;"; // Display-Format dazu 
    166166        $fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m&#178;"; 
     167        $gml_buchungsstelle=$row["istgebucht"]; // wird erst im GB-Teil benötigt 
    167168        $entsteh=$row["zeitpunktderentstehung"]; 
    168         $gml_buchungsstelle=$row["istgebucht"]; // wird erst im GB-Teil benötigt 
    169         $ffnr=$row["zeigtaufexternes_name"]; // Fortfuehrungsnummer(n) 
    170         $arrn=explode(",", trim($ffnr, "{}") ); // PHP-Array 
     169        $zeart=$row["zeigtaufexternes_art"]; 
     170        $zename=$row["zeigtaufexternes_name"]; 
    171171} else { 
    172172        echo "\n<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ck mit gml_id=".$gmlid."</p>"; 
     
    209209                ."\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>" 
    210210        ."\n\t\t\t</table>" 
    211         ."\n\t\t</td>\n\t\t<td>" // Rechts 
    212         ."\n\t\t\t<table class='fsd'>" // FS-Daten 2 Spalten 
    213                 ."\n\t\t\t\t<tr>\n\t\t\t\t\t<td>Entstehung</td>" 
    214                 ."\n\t\t\t\t\t<td>".$entsteh."</td>\n\t\t\t\t</tr>" 
    215                 ."\n\t\t\t\t<tr>" 
    216                         ."\n\t\t\t\t\t<td>letz. Fortf</td>" 
    217                         ."\n\t\t\t\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
    218                                 foreach($arrn AS $val) { // Zeile f. jedes Element des Array 
    219                                         echo trim($val, '"')."<br>"; 
    220                                 } 
    221                         echo "</td>" 
    222                 ."\n\t\t\t\t</tr>" 
    223         ."\n\t\t\t</table>" 
    224 ."\n\t\t</td>\n\t</tr>\n</table>"; 
     211        ."\n\t\t</td>\n\t\t<td>"; // Rechts 
     212        fortfuehrungen($entsteh, $zeart, $zename); 
     213echo "\n\t\t</td>\n\t</tr>\n</table>"; 
    225214 
    226215echo "\n<hr>\n<table class='fs'>"; // FS-Teil 6 Spalten 
Note: See TracChangeset for help on using the changeset viewer.