Changeset 389 for trunk


Ignore:
Timestamp:
10/11/17 13:10:47 (2 years ago)
Author:
frank.jaeger
Message:

ALKIS Buchauskunft überarbeitet: Bodenschätzung im FS-Nachweis. Filter auf "endet IS NULL".

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

Legend:

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

    r387 r389  
    1212        2016-02-24 Version fuer norGIS-ALKIS-Import 
    1313        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Berechtigung fÃŒr Gemeinde prÃŒfen) 
     14        2017-10-11 Sauber filtern auf endet IS NULL 
    1415 
    1516        H i n w e i s :  Dies Modul wird beim Entwickler nicht mehr produktiv eingesetzt. 
     
    4243$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde 
    4344FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
    44 WHERE f.gml_id= $1 AND f.endet IS NULL;"; 
     45WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; 
    4546 
    4647$v = array($gmlid); 
     
    176177JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id  
    177178LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
    178 LEFT JOIN alkis_wertearten wa ON cast(b.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart' 
    179 LEFT JOIN alkis_wertearten wb ON cast(s.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' 
    180 WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL  
     179LEFT JOIN alkis_wertearten wa ON cast(b.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart'  
     180LEFT JOIN alkis_wertearten wb ON cast(s.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart'  
     181WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL  
    181182ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
    182183 
     
    236237                ."\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>"; 
    237238        } else { // kein Eigent. bei fiktiv. Blatt 
    238                 echo "\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>"; 
    239  
    240239                // Ausgabe Name in Function 
    241240                $n = eigentuemer($rowg["gml_id"], false, "imFenster"); // ohne Adressen 
  • trunk/info/info/alkisn/alkisauszug.css

    r388 r389  
    1717        2017-06-08      Tab-Zeilen-Farbe wechseln, Spaltenbreite td.flag, media screen 
    1818        2017-06-09      ErlÀrung zu Haus: 2 Arten 
     19        2017-10-11      span.absfla 
    1920*/ 
    2021body    {background-color: #FEFFFE;} 
     
    6869        overflow: auto; padding: 6px; background: #e4f7dd;} 
    6970 
    70 span.key        {color: gray; font-style: italic;} /* Schluesselwert vor Text, Wert zurueck nehmen */ 
     71span.key        {color: gray; font-style: italic;} /* Schluesselwert vor Text */ 
    7172span.wichtig{color: #BB0000; font-weight: bold;} /* Wert hervorheben */ 
    7273span.flae       {font-weight: bold;} /* FlÀchensumme Flurst. */ 
     74/* SchÀtzg.-Abschnitt */ 
     75span.absfla     {position: absolute; min-width: 90px; text-align: right; background: #fbfbfb;} /* -FlÀche */ 
     76span.absbew     {position: absolute; left: 100px; min-width: 45px;} /* -Bewertung */ 
     77span.absart     {position: absolute; left: 145px;} /* -Bodenart usw. */ 
    7378 
    7479/* ** T a b e l l e n ** */ 
     
    9196/* border: 1px dotted gray;  Variante fuer TEST */ 
    9297 
    93 td.ll   {width: 130px;} /* Liste Links */ 
     98td.ll   {width: 140px;} /* Liste Links */ 
    9499td.lr   {color: black;} /* Liste Rechts */ 
     100td.ls   {color: #005500; position: relative;}   /* Liste SchÀtzung */ 
    95101td.ph   {color: gray;}  /* Platzhalter, vorlaeufig, spaeter loschen */ 
    96102td.fla  {width: 110px; padding-right: 4px; text-align: right;} /* Flaechen rechtsbuendig (stellengerecht) */ 
  • trunk/info/info/alkisn/alkisbaurecht.php

    r387 r389  
    77        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    88        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
     9        2017-10-09 Sauber filtern auf endet IS NULL 
    910*/ 
    1011session_start(); 
     
    3435<body> 
    3536END; 
    36  
    3737 
    3838$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbaurecht.php'"); 
  • trunk/info/info/alkisn/alkisbestnw.php

    r387 r389  
    1010        2017-06-01 Function "eigentuemer" ohne Parameter $con 
    1111        2017-06-08 Validierung Eingabeparameter, Farbwechsel der Tabelle je GrundstÃŒck, Feinschliff und HTML-Profilierung 
     12        2017-10-09 SchlÃŒssel der Blattart bei berechtigten BlÀttern, sauber filtern auf endet IS NULL 
    1213*/ 
    1314session_start(); 
     
    5354LEFT JOIN alkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' 
    5455LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
    55 WHERE g.gml_id= $1 AND g.endet IS NULL AND d.endet IS NULL;"; 
     56WHERE g.gml_id= $1 AND g.endet IS NULL AND b.endet IS NULL AND d.endet IS NULL;"; 
    5657// .. AND d.stellenart=1000  
    5758 
     
    198199                //  ax_buchungsstelle >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an) 
    199200 
    200 /* alte Version  
    201                 $sql="SELECT sd.gml_id, sd.buchungsart, sd.laufendenummer AS lfd, sd.beschreibungdesumfangsderbuchung AS udb, sd.nummerimaufteilungsplan AS nrap, sd.beschreibungdessondereigentums AS sond, wb.v AS bart " 
    202                 ."FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (sd.gml_id=ANY(sh.an) OR sd.gml_id=ANY(sh.zu)) " 
    203                 ."LEFT JOIN alkis_wertearten wb ON cast(sd.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' " 
    204                 ."WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL ORDER BY sd.laufendenummer;"; */ 
    205  
    206201                // Mit "UNION" um die FÀlle mit JOIN ÃŒber die Arrays "an" und "zu" unterscheiden zu können 
    207202                $sql="SELECT uni.*, wb.v AS bart FROM " 
     
    239234                        ."LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk " 
    240235                        ."LEFT JOIN alkis_wertearten wb ON cast(b.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' " 
    241                         ."WHERE s.gml_id= $1 AND b.endet IS NULL ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
     236                        ."WHERE s.gml_id= $1 AND b.endet IS NULL AND s.endet IS NULL AND z.endet IS NULL ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
    242237                        $v=array($gml_bsan); 
    243238                        $fbres=pg_prepare("", $sql); 
     
    360355LEFT JOIN alkis_wertearten wb ON cast(sb.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' 
    361356LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
    362 WHERE sf.istbestandteilvon = $1 AND sf.endet IS NULL AND sb.endet IS NULL AND bb.endet IS NULL  
     357WHERE sf.istbestandteilvon = $1 AND sf.endet IS NULL AND sb.endet IS NULL AND bb.endet IS NULL AND bz.endet IS NULL AND d.endet IS NULL  
    363358ORDER BY cast(sf.laufendenummer AS integer), bz.bezeichnung, bb.buchungsblattnummermitbuchstabenerweiterung, cast(sb.laufendenummer AS integer);"; 
    364359 
     
    387382        } 
    388383 
    389         $anlfdnr=$rowb["anlfdnr"]; // an BVNR 
     384        $anlfdnr=$rowb["anlfdnr"];      // an BVNR 
    390385        $anlfdnr0=str_pad($anlfdnr, 4, "0", STR_PAD_LEFT); // mit fÃŒhr.0 
    391         $gml_b=$rowb["gml_id"]; // id des ber. Blattes 
    392         $gml_s=$rowb["gml_s"]; // id der ber. B-Stelle 
     386        $gml_b=$rowb["gml_id"];         // id des ber. Blattes 
     387        $gml_s=$rowb["gml_s"];          // id der ber. B-Stelle 
    393388        $blart=$rowb["blattart"]; 
    394389 
    395         $buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt 
    396         $bart=$rowb["bart"]; // BA entschl. 
    397         $lfdnr=$rowb["lfdnr"]; // BVNR ber. 
     390        $buch=$rowb["buchungsart"];     // Buchungsart Stelle berechtigt 
     391        $bart=$rowb["bart"];            // BA entschl. 
     392        $lfdnr=$rowb["lfdnr"];          // BVNR ber. 
    398393        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    399394 
     
    420415                ."\n\t<td>" 
    421416                        ."\n\t\t<p class='nwlink noprint'>"; 
    422 // +++ SchlÃŒssel der Blatt-Art wenn showkey +++ 
     417                        if ($showkey) {echo "<span class='key'>".$blart."</span> ";} // NEU! 
    423418                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b; 
    424419                                if ($showkey) {echo "&amp;showkey=j";} 
  • trunk/info/info/alkisn/alkisexport.php

    r387 r389  
    2727                                Sonderfall: Auch Export zu *allen* Straßen der Stadt ohne Filter "gmlid". 
    2828        2017-06-08 Validierung Eingabeparameter 
     29        2017-10-11 Sauber filtern auf endet IS NULL 
    2930 
    3031ToDo: 
     
    4041        ."FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistauf) " 
    4142        ."JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 
    42         ."WHERE f.gml_id= $1 ORDER BY s.bezeichnung, l.hausnummer;"; 
     43        ."WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY s.bezeichnung, l.hausnummer;"; 
    4344 
    4445        $v=array($gmlid); 
  • trunk/info/info/alkisn/alkisfkt.php

    r387 r389  
    363363                echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>"; 
    364364                // kein Fehler bei Blattarten > 1000 
    365                 //if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
     365                //if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
    366366        } 
    367367 
  • trunk/info/info/alkisn/alkisfshist.php

    r387 r389  
    88        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Filter Gemeinde) 
    99        2017-06-06 Validierung Eingabeparameter, Feinkorrekturen 
     10        2017-10-09 Sauber filtern auf NOT endet IS NULL 
    1011*/ 
    1112 
     
    6869        global $gkz, $con, $debug, $showkey, $filtkreis, $filtgem; 
    6970 
    70         $wherecl="WHERE $1 = ANY (nachfolgerflurstueckskennzeichen) "; 
    71  
    72         // Bei kleinere Datenbanken keine spÃŒrbare Verzögerung bei Suche mit " = ANY(Array)" 
     71        // Bei kleineren Datenbanken keine spÃŒrbare Verzögerung bei Suche mit " = ANY(Array)" 
    7372        // FÃŒr grosse BestÀnde zusÀtzlich filtern ÃŒber indizierte Felder Gemarkung + Flur? 
    7473        // Dazu die nÀchsten 2 Zeilen aktivieren.       
     
    7776        // Frage: kann das bei Historisierung wechseln? (Umflurung, Umgemarkung). Dann ggf. Fehler (nicht gefunden) 
    7877 
    79         $sqlv="SELECT 'h' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueck h ".$wherecl 
    80         ."UNION SELECT 'o' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueckohneraumbezug o ".$wherecl 
     78        $sqlv="SELECT  'h' AS ftyp, h.gml_id, h.flurstueckskennzeichen FROM ax_historischesflurstueck h " 
     79        ."WHERE $1 = ANY (h.nachfolgerflurstueckskennzeichen) AND NOT h.endet IS NULL " 
     80        ."UNION SELECT 'o' AS ftyp, o.gml_id, o.flurstueckskennzeichen FROM ax_historischesflurstueckohneraumbezug o " 
     81        ."WHERE $1 = ANY (o.nachfolgerflurstueckskennzeichen) AND NOT o.endet IS NULL " 
    8182        ."ORDER BY flurstueckskennzeichen"; 
    8283 
     
    9899                $zv++; 
    99100        } 
    100         if ($zv == 0) {echo "(keine)";} 
     101        if ($zv == 0) { 
     102                echo "(keine)"; 
     103        } // else {if ($debug > 2) {echo "\n<p class='dbg'>Treffer=".$zv."</p>";} } 
    101104        return; 
    102105} 
     
    158161} else { // Pfui! 
    159162                $parmtyp=""; 
    160                 echo "<p class='err'>Parameter 'gmlid' oder 'fskennz' fehlt.</p>"; 
     163                die("<p class='err'>Parameter 'gmlid' oder 'fskennz' fehlt.</p>"); // Weitermachen sinnlos 
    161164} 
    162165 
    163166if ($parmtyp != "") { // einer der beiden erlaubten FÀlle 
    164167        // UNION-Abfrage auf 3Àhnliche Tabellen, darin aber immer nur 1 Treffer. 
    165         // norGIS: unterschiedliche Formate der gleichen Spalten, Typumwandlung "cast" verwenden. 
    166168 
    167169        $felder="gml_id, flurnummer, cast(zaehler AS character varying), cast(nenner AS character varying), flurstueckskennzeichen, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, "; 
  • trunk/info/info/alkisn/alkisfsnw.php

    r387 r389  
    1212        2017-06-08 optional "berechtigte Buchungen" anzeigen, Function "eigentuemer" ohne Parameter $con, 
    1313                                Validierung Eingabeparameter, Feinkorrekturen 
     14        2017-10-11 Sauber filtern auf 'endet IS NULL', Ausgabe der BodenschÀtzung 
    1415 
    1516        ToDo: 
    16         - BodenschÀtzung anzeigen (siehe Mail Frau Weyand ITEBO vom 15.05.17) 
    17         - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen) 
     17        - Parameter zum Umschalten mit/ohne BodenschÀtzung? 
     18        - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen)  
    1819*/ 
    1920session_start(); 
     
    123124$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung  
    124125FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    125 WHERE f.gml_id= $1 AND f.endet IS NULL;"; 
     126WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; 
    126127 
    127128$v = array($gmlid); // mit gml_id suchen 
     
    146147        $fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld 
    147148        $fsgeomflae=$row["fsgeomflae"]; // aus Geometrie ermittelte FlÀche 
     149        $the_Xfactor = $fsbuchflae / $fsgeomflae; // Multiplikator zur Umrechnung geometrische AbschnittsflÀchen in BuchflÀche 
    148150        $fsbuchflaed=number_format($fsbuchflae,0,",",".") . " m&#178;"; // Display-Format dazu 
    149151        $fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m&#178;"; 
     
    518520WHERE n.flsnr = $1 ORDER BY cast(n.fl AS integer) DESC;"; 
    519521// Flurstueckskennzeichen mit Trennzeichen im ALB-Format wie 'llgggg-fff-zzzzz/nnn' 
    520 // Alternativ könnte auch der VIEW "ax_tatsaechlichenutzungsschluessel" fÃŒr den Text zur Nutzungsart verwendet werden. 
    521  
    522522$fskennzalb=$defland.$gmkgnr."-".str_pad($flurnummer,3,"0",STR_PAD_LEFT)."-".str_pad($zaehler,5,"0",STR_PAD_LEFT)."/".str_pad($nenner,3,"0",STR_PAD_LEFT); 
    523 // echo "\n<p class='err'>Kennz ALB='".$fskennzalb."'</p>"; 
    524  
    525523$v = array($fskennzalb); 
    526524$res = pg_prepare("", $sql); 
     
    553551                ."</td>" 
    554552                ."\n\t<td>"; 
    555 /*              //      Derzeit ist keine Gruppe zugeordnet 
     553/*              // Derzeit ist keine Gruppe zugeordnet 
    556554                        switch ($grupp) { // Icon nach 4 Objektartengruppen 
    557555                                case "Siedlung":   $ico = "Abschnitt.png"; break; 
     
    569567} 
    570568pg_free_result($res); 
    571 // ENDE  N U T Z U N G 
    572569 
    573570echo "\n<tr>" // Summenzeile 
     
    590587        ."\n\t</td>" 
    591588."\n</tr>"; 
     589// ENDE  N U T Z U N G 
     590 
     591 
     592// K L A S S I F I Z I E R U N G 
     593 
     594// Klassifizierung nach  W a s s e rrecht 
     595/*  
     596        // Tabelle immer leer? 
     597$sql="SELECT h.v, w.artderfestlegung, st_area(st_intersection(w.wkb_geometry, f.wkb_geometry)) AS schnittflae, f.amtlicheflaeche, st_area(f.wkb_geometry) as fsgeomflae  
     598FROM ax_flurstueck f 
     599JOIN ax_klassifizierungnachwasserrecht w 
     600 ON st_intersects(w.wkb_geometry, f.wkb_geometry) AND st_area(st_intersection(w.wkb_geometry, f.wkb_geometry)) > 0.05 
     601LEFT JOIN alkis_wertearten h 
     602 ON cast(w.artderfestlegung AS character varying) = h.k AND h.element='ax_klassifizierungnachwasserrecht' AND h.bezeichnung='artderfestlegung' 
     603WHERE f.gml_id = $1 AND f.endet IS NULL AND w.endet IS NULL ORDER BY schnittflae DESC"; 
     604 
     605$v = array($gmlid); 
     606$res = pg_prepare("", $sql); 
     607$res = pg_execute("", $v); 
     608if (!$res) {echo "\n<p class='err'>Fehler bei DB-Abfrage zur Klassifizierung Wasser</p>\n";} 
     609 
     610if(!empty($res) && pg_num_rows($res) > 0) { 
     611        echo "\n<table>"; 
     612        while($row = pg_fetch_array($res)) { 
     613                $fsbuchflae=$row["amtlicheflaeche"]; 
     614                $fsgeomflae=$row["fsgeomflae"]; 
     615                $the_Xfactor=$fsbuchflae / $fsgeomflae; // ++ nicht in Loop, ist konst. je FS 
     616                $absflaebuch = $row['schnittflae'] * $the_Xfactor; 
     617                echo"\n<tr><td></td><td></td></tr>" 
     618                ."\n<tr><td><b>FlÀche</b></td><td class='klassifizerung'><span class=''>".number_format(intval($absflaebuch),0,",",".")." m²</span></td></tr>"         
     619                ."\n<tr><td><b>Bezeichnung</b></td><td class='klassifizerung'><span class=''>".$row['v']."</span></td></tr>" 
     620                ."\n<tr><td></td><td></td></tr>";        
     621        } 
     622        echo "</table>"; 
     623} 
     624// Klassifizierung nach  S t r a ß e n recht 
     625        // Tabelle immer leer? 
     626*/ 
     627 
     628// B o d e n s c h À t z u n g 
     629// --------------------------- 
     630// Tabelle "klas_3x" (norbit-ALB): Dort fehlen Bodenart und Zustandsstufe, es ist aber bereits auf BuchflÀche umgerechnet. 
     631 
     632$sql="SELECT  
     633 kulturart.k as kulturartk, kulturart.v as kulturartv, bodenart.k as bodenartk, bodenart.v as bodenartv, zustbod.v AS zustbodv, 
     634 b.bodenzahlodergruenlandgrundzahl as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl,  
     635 b.jahreszahl, st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) AS schnittflae  
     636FROM ax_flurstueck f 
     637JOIN ax_bodenschaetzung b ON st_intersects(b.wkb_geometry, f.wkb_geometry) AND st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) > 0.05 
     638LEFT JOIN alkis_wertearten AS bodenart  ON cast(b.bodenart  AS character varying) = bodenart.k  AND bodenart.element='ax_bodenschaetzung'  AND bodenart.bezeichnung='bodenart' 
     639LEFT JOIN alkis_wertearten AS kulturart ON cast(b.kulturart AS character varying) = kulturart.k AND kulturart.element='ax_bodenschaetzung' AND kulturart.bezeichnung='kulturart' 
     640LEFT JOIN alkis_wertearten AS zustbod   ON cast(b.zustandsstufeoderbodenstufe AS character varying) = zustbod.k AND zustbod.element='ax_bodenschaetzung' AND zustbod.bezeichnung='zustandsstufeoderbodenstufe' 
     641WHERE f.gml_id = $1 AND f.endet IS NULL AND b.endet IS NULL ORDER BY schnittflae DESC"; 
     642 
     643$v = array($gmlid); 
     644$res = pg_prepare("", $sql); 
     645$res = pg_execute("", $v); 
     646if (!$res) {echo "\n<p class='err'>Fehler bei DB-Abfrage zur Klassifizierung Boden</p>\n";} 
     647 
     648$gesertragsmz = 0; // Gesamt-ErtragsMesszahl 
     649$klasflae = 0; // Summe klassifizierte FlÀche 
     650$j=0; 
     651if(!empty($res) && pg_num_rows($res) > 0) { 
     652        while ($row = pg_fetch_array($res)) { 
     653                $kulturartk=$row['kulturartk']; // Key  - 
     654                $kulturartv=$row['kulturartv']; //              - Value 
     655                // 1000="Ackerland (A)", 2000="Acker-GrÃŒnland (AGr)", 3000="GrÃŒnland (Gr)", 4000="GrÃŒnland-Acker (GrA)"               
     656                if (substr($kulturartv, 0, 3) == 'Ack') { // A 
     657                        $kbez1="Bodenzahl"; 
     658                        $kbez2="Ackerzahl"; 
     659                } else { // Gr 
     660                        $kbez1="Gr&uuml;nlandgrundzahl"; 
     661                        $kbez2="Gr&uuml;nlandzahl"; 
     662                } 
     663                $absflae = $row['schnittflae']; 
     664                $absbuchflae = $absflae * $the_Xfactor; 
     665                $klasflae+=$absbuchflae; 
     666                $ertragszahl = intval($absbuchflae * $row['ackerzahl'] / 100); 
     667                $gesertragsmz+=$ertragszahl; 
     668        //      $absflaedis = number_format($absflae,0,",",".")." m&#178;";  // als Tool-Tip ? 
     669                $absbuchflaedis = number_format($absbuchflae,0,",",".")." m&#178;"; 
     670                $boedenzahl=ltrim($row['bodenzahl'], '0'); 
     671                $ackerzahl=ltrim($row['ackerzahl'], '0'); 
     672 
     673                // Sp. 1/4 
     674                if ($j == 0) { 
     675                        echo "\n<tr>\n\t<td class='ll' title='Abschnitt Bodensch&auml;tzung'><img src='ico/Landwirt.png' width='16' height='16' alt=''> Bodensch&auml;tzung:</td>"; 
     676                } else { 
     677                        echo "\n<tr>\n\t<td>&nbsp;</td>"; 
     678                } 
     679 
     680                // Sp. 2/4 
     681                echo "\n\t<td class='fla' title='Ertragsmesszahl = Produkt von ".$kbez2."/100 und Fl&auml;che.'>EMZ ".$ertragszahl."</td>"; 
     682 
     683                // Sp. 3/4 - darin mehrere Infos 
     684                echo "\n\t<td class='ls'>"; 
     685 
     686                echo "\n\t\t<span class='absfla' title='Fl&auml;che des Sch&auml;tzungsabschnitts'>".$absbuchflaedis."</span> ";  
     687 
     688                echo "\n\t\t<span class='absbew'>" 
     689                        ."<span title='".$kbez1."'>".$boedenzahl."</span>/<span title='".$kbez2."'>".$ackerzahl."</span>" 
     690                ."</span> "; 
     691 
     692                echo "\n\t\t<span class='absart'>"; 
     693                        if ($showkey) {echo "\n\t\t\t<span class='key'>(".$kulturartk.")</span> ";} 
     694                        echo "\n\t\t\t<span title='Kulturart'>".$kulturartv."</span> "; 
     695                        if ($showkey) {echo "\n\t\t\t<span class='key'>(".$row['bodenartk'].")</span> ";} 
     696                        echo "\n\t\t\t<span title='Bodenart'>".$row['bodenartv']."</span> "; 
     697                        echo "\n\t\t\t<span title='Zustandsstufe'>".$row['zustbodv']."</span>"; 
     698                        if (isset($row['jahreszahl'])) {echo "\n\t\t <span title='Jahreszahl'>".$row['jahreszahl']."</span>";} 
     699                //      ++ Entstehungsart (Array) derzeit leer. 1:N entschlÃŒsseln. entstehungsartoderklimastufewasserverhaeltnisse 
     700                // $ent = explode(",", trim($entsteh, "{}") ); // [] --> PHP-Array 
     701                //      if (isset($row['sonstiges'])) {echo "\n\t\t, <span title='Sonstige Angaben'>".$row['sonstiges']."</span>";} -- immer leer (Konverter-Fehler?) 
     702                echo "\n\t\t</span>"; 
     703 
     704                // Sp. 4/4 - leer, keine Links 
     705                echo "\n\t</td>\n\t<td>&nbsp;</td>\n</tr>"; 
     706                $j++; 
     707        } 
     708        // Summenzeile 
     709        $klasflaedis = number_format($klasflae,0,",",".")." m&#178;"; 
     710        echo "\n<tr>\n\t<td class='ll'>Ertragsmesszahl:</td>" 
     711        ."\n\t<td class='fla sum'>EMZ <span title='Summe der Ertragsmesszahlen f&uuml;r dies Flurst&uuml;ck'>".$gesertragsmz."</span></td>" 
     712        ."\n\t<td><span class='absfla'>".$klasflaedis."</span></td>\n\t<td>&nbsp;</td>\n</tr>"; 
     713} 
    592714 
    593715// H i n w e i s  auf Bodenneuordnung oder eine strittige Grenze 
    594716// b.name, b.artderfestlegung,  
    595  
    596717$sql_boden ="SELECT a.k AS wert, a.v AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
    597718b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key  
     
    823944                // Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt 
    824945                if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer 
    825                         $n = eigentuemer($gmlg, false, ""); // ohne Adresse 
     946                        $n = eigentuemer($gmlg, false, ""); // hier ohne Adresse 
    826947                        if ($n == 0) { 
    827948                                if ($blattkeyg == 1000) { 
  • trunk/info/info/alkisn/alkisgebaeudenw.php

    r388 r389  
    4242$sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung  
    4343FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    44 WHERE f.gml_id= $1 AND f.endet IS NULL;"; 
     44WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; 
    4545$v=array($gmlid); 
    4646$resf=pg_prepare("", $sqlf); 
  • trunk/info/info/alkisn/alkishaus.php

    r388 r389  
    99        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
    1010        2017-06-09 Tool-Tip GebÀudefunktion, ErklÀrung 2 getrennte p.Styles 
     11        2017-10-09 Sauber filtern auf endet IS NULL 
    1112 
    1213        ToDo: 
     
    160161 
    161162        // HAUPTgebÀude 
    162         $sqll ="SELECT 'm' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer FROM ax_gebaeude g 
    163         JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf) 
    164         JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 
    165         WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL"; 
     163        $sqll ="SELECT 'm' AS ltyp, lh.gml_id AS gmllag, sh.lage, sh.bezeichnung, lh.hausnummer, '' AS laufendenummer FROM ax_gebaeude gh 
     164        JOIN ax_lagebezeichnungmithausnummer lh ON lh.gml_id=ANY(gh.zeigtauf) 
     165        JOIN ax_lagebezeichnungkatalogeintrag sh ON lh.kreis=sh.kreis AND lh.gemeinde=sh.gemeinde AND lh.lage=sh.lage 
     166        WHERE gh.gml_id= $1 AND gh.endet IS NULL AND lh.endet IS NULL AND sh.endet IS NULL"; 
    166167        // oder NEBENgebÀude 
    167168        $sqll.=" UNION  
    168         SELECT 'p' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer 
    169         FROM ax_gebaeude g 
    170         JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat 
    171         JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 
    172         WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL "; 
     169        SELECT 'p' AS ltyp, ln.gml_id AS gmllag, sn.lage, sn.bezeichnung, ln.pseudonummer AS hausnummer, ln.laufendenummer 
     170        FROM ax_gebaeude gn 
     171        JOIN ax_lagebezeichnungmitpseudonummer ln ON ln.gml_id=gn.hat 
     172        JOIN ax_lagebezeichnungkatalogeintrag sn ON ln.kreis=sn.kreis AND ln.gemeinde=sn.gemeinde AND ln.lage=sn.lage 
     173        WHERE gn.gml_id= $1 AND gn.endet IS NULL AND ln.endet IS NULL AND sn.endet IS NULL "; 
    173174 
    174175        $sqll.="ORDER BY bezeichnung, hausnummer ;"; 
  • trunk/info/info/alkisn/alkisinlayausk.php

    r387 r389  
    1414        2017-06-01 Function "eigentuemer" ohne Parameter $con 
    1515        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
     16        2017-10-09 Sauber filtern auf endet IS NULL 
    1617*/ 
    1718session_start(); 
     
    5152$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde 
    5253FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    53 WHERE f.gml_id= $1 AND f.endet IS NULL ;"; 
     54WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL ;"; 
    5455// Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt" 
    5556$v = array($gmlid); 
  • trunk/info/info/alkisn/alkisinlaybaurecht.php

    r387 r389  
    88        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    99        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
     10        2017-10-09 Sauber filtern auf endet IS NULL 
    1011*/ 
    1112session_start(); 
     
    4647FROM ax_bauraumoderbodenordnungsrecht r  
    4748LEFT JOIN alkis_wertearten a ON cast(r.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung' 
    48 LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle WHERE r.gml_id= $1 ;"; 
     49LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle  
     50WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; 
    4951 
    5052$v = array($gmlid); 
  • trunk/info/info/alkisn/alkislage.php

    r387 r389  
    1010        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    1111        2017-06-08 Validierung Eingabeparameter, gestreifte Tabelle, Feinkorrekturen 
     12        2017-10-09 Sauber filtern auf endet IS NULL 
    1213 
    1314        ToDo: 
     
    7778LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis  
    7879LEFT JOIN ax_regierungsbezirk r ON l.land=r.land AND l.regierungsbezirk=r.regierungsbezirk  
    79 LEFT JOIN ax_bundesland b ON l.land=b.land LEFT JOIN ax_lagebezeichnungkatalogeintrag s  
     80LEFT JOIN ax_bundesland b ON l.land=b.land  
     81LEFT JOIN ax_lagebezeichnungkatalogeintrag s  
    8082ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    81 WHERE l.gml_id= $1 AND l.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL;"; 
     83WHERE l.gml_id= $1 AND l.endet IS NULL AND g.endet IS NULL AND k.endet IS NULL AND r.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL;"; 
    8284 
    8385$v = array($gmlid); 
  • trunk/info/info/alkisn/alkisnamstruk.php

    r387 r389  
    99        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    1010        2017-06-02 Validierung Eingabeparameter, Feinkorrekturen 
     11        2017-10-09 Sauber filtern auf endet IS NULL 
    1112*/ 
    1213session_start(); 
     
    5354$sql="SELECT p.nachnameoderfirma, p.anrede, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad, a.v AS anrv 
    5455FROM ax_person p LEFT JOIN alkis_wertearten a ON cast(p.anrede AS character varying)=a.k AND a.element='ax_person' AND a.bezeichnung='anrede'  
    55 WHERE gml_id= $1;"; 
     56WHERE gml_id= $1 AND p.endet IS NULL;"; 
    5657 
    5758$v = array($gmlid); 
     
    8990 
    9091        $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland  
    91         FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 ORDER BY a.gml_id DESC ;"; 
     92        FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL ORDER BY a.gml_id DESC ;"; 
    9293 
    9394        $v = array($gmlid); 
     
    151152        ."LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk " 
    152153        ."LEFT JOIN alkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' " 
    153         ."WHERE p.gml_id= $1 " 
     154        ."WHERE p.gml_id= $1 AND p.endet IS NULL AND n.endet IS NULL AND b.endet IS NULL " 
    154155        ."ORDER BY b.bezeichnung, g.buchungsblattnummermitbuchstabenerweiterung, n.laufendenummernachdin1421;"; 
    155156        // buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander 
  • trunk/info/info/alkisn/alkisstrasse.php

    r387 r389  
    1111        2017-02-23 Neuer Parameter &haus=m/o zum alkisexport.php 
    1212        2017-06-08 Validierung Eingabeparameter, gestreifte Tabelle, Feinkorrekturen 
     13        2017-10-09 Sauber filtern auf endet IS NULL 
    1314*/ 
    1415session_start(); 
     
    4950$sql ="SELECT s.land, s.regierungsbezirk, s.kreis, s.gemeinde, s.lage, s.bezeichnung AS snam,  
    5051b.bezeichnung AS bnam, r.bezeichnung AS rnam, k.bezeichnung AS knam, g.bezeichnung AS gnam, o.gml_id AS ogml  
    51 FROM ax_lagebezeichnungkatalogeintrag s JOIN ax_bundesland b ON s.land=b.land  
     52FROM ax_lagebezeichnungkatalogeintrag s  
     53JOIN ax_bundesland b ON s.land=b.land  
    5254JOIN ax_regierungsbezirk r ON s.land=r.land AND s.regierungsbezirk=r.regierungsbezirk  
    5355JOIN ax_kreisregion k ON s.land=k.land AND s.regierungsbezirk=k.regierungsbezirk AND s.kreis=k.kreis  
    5456JOIN ax_gemeinde g ON s.land=g.land AND s.regierungsbezirk=g.regierungsbezirk AND s.kreis=g.kreis AND s.gemeinde=g.gemeinde  
    5557LEFT JOIN ax_lagebezeichnungohnehausnummer o ON s.land=o.land AND s.regierungsbezirk=o.regierungsbezirk AND s.kreis=o.kreis AND s.gemeinde=o.gemeinde AND s.lage=o.lage  
    56 WHERE s.gml_id= $1 AND s.endet IS NULL AND o.endet IS NULL ;";  
     58WHERE s.gml_id= $1 AND s.endet IS NULL AND b.endet IS NULL AND r.endet IS NULL AND k.endet IS NULL AND g.endet IS NULL AND o.endet IS NULL ;";  
    5759 
    5860$v=array($gmlid); 
     
    126128."\n<p>Zusammenfassung von 'Lage mit Hausnummer' und 'Lage ohne Hausnummer' an dieser Straße</p>"; 
    127129 
    128 // ax_Flurstueck >weistAuf> ax_LagebezeichnungMitHausnummer  > = Hauptgebaeude  
    129 // ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer > = Strasse 
     130// ax_Flurstueck >weistAuf> ax_LagebezeichnungMitHausnummer  > = h = Hauptgebaeude  
     131// ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer > = s = Strasse 
    130132// Suchkriterium: gml_id aus Katalog 
    131 $sql="SELECT f.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, l.gml_id AS lgml, l.hausnummer, 'm' AS ltyp 
    132  FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistAuf)  
    133  JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    134  JOIN ax_lagebezeichnungkatalogeintrag s ON l.land=s.land  AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    135  WHERE s.gml_id = $1 AND f.endet IS NULL AND s.endet IS NULL AND l.endet IS NULL 
    136 UNION SELECT f.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, l.gml_id AS lgml, '' AS hausnummer, 'o' AS ltyp 
    137  FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf)  
    138  JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    139  JOIN ax_lagebezeichnungkatalogeintrag s ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    140  WHERE s.gml_id = $1 AND f.endet IS NULL AND s.endet IS NULL AND l.endet IS NULL 
     133$sql="SELECT fh.gemarkungsnummer, gh.bezeichnung, fh.gml_id, fh.flurnummer, fh.zaehler, fh.nenner, fh.amtlicheflaeche, lh.gml_id AS lgml, lh.hausnummer, 'm' AS ltyp 
     134 FROM ax_flurstueck fh  
     135 JOIN ax_lagebezeichnungmithausnummer lh ON lh.gml_id=ANY(fh.weistAuf)  
     136 JOIN ax_gemarkung gh ON fh.land=gh.land AND fh.gemarkungsnummer=gh.gemarkungsnummer  
     137 JOIN ax_lagebezeichnungkatalogeintrag sh ON lh.land=sh.land AND lh.regierungsbezirk=sh.regierungsbezirk AND lh.kreis=sh.kreis AND lh.gemeinde=sh.gemeinde AND lh.lage=sh.lage  
     138 WHERE sh.gml_id = $1 AND fh.endet IS NULL AND lh.endet IS NULL AND gh.endet IS NULL AND sh.endet IS NULL 
     139UNION SELECT fs.gemarkungsnummer, gs.bezeichnung, fs.gml_id, fs.flurnummer, fs.zaehler, fs.nenner, fs.amtlicheflaeche, ls.gml_id AS lgml, '' AS hausnummer, 'o' AS ltyp 
     140 FROM ax_flurstueck fs  
     141 JOIN ax_lagebezeichnungohnehausnummer ls ON ls.gml_id=ANY(fs.zeigtauf)  
     142 JOIN ax_gemarkung gs ON fs.land=gs.land AND fs.gemarkungsnummer=gs.gemarkungsnummer  
     143 JOIN ax_lagebezeichnungkatalogeintrag ss ON ls.land=ss.land AND ls.regierungsbezirk=ss.regierungsbezirk AND ls.kreis=ss.kreis AND ls.gemeinde=ss.gemeinde AND ls.lage=ss.lage  
     144 WHERE ss.gml_id = $1 AND fs.endet IS NULL AND ls.endet IS NULL AND gs.endet IS NULL AND ss.endet IS NULL 
    141145ORDER BY gemarkungsnummer, flurnummer, zaehler, nenner;"; 
    142146 
Note: See TracChangeset for help on using the changeset viewer.