Changeset 333 for trunk/info


Ignore:
Timestamp:
09/15/14 15:11:32 (6 years ago)
Author:
frank.jaeger
Message:

Anpassung der Programme und Views an verschieden lange gm_id und Datenbanken mit historischen Objekten.

Location:
trunk/info/info/alkis
Files:
11 edited

Legend:

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

    r330 r333  
    1515        2013-04-08 deprecated "import_request_variables" ersetzt 
    1616        2014-01-28 Link zu alkisstrasse.php 
    17         2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    18  
    19 +++ NOCH UMSTELLEN:  alkis_beziehungen 
     17        2014-09-15 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    2018 
    2119*/ 
     
    5048 
    5149// *** F L U R S T U E C K *** 
    52 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung "; 
    53 $sql.="FROM ax_flurstueck f "; 
    54 $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    55 $sql.="WHERE f.gml_id= $1;"; 
    56 // Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt" 
     50$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung  
     51FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
     52WHERE f.gml_id= $1 AND f.endet IS NULL;"; 
    5753 
    5854$v = array($gmlid); 
     
    139135 
    140136// Lagebezeichnung MIT Hausnummer (Adresse) 
    141 $sql ="SELECT DISTINCT l.gml_id, s.gml_id AS kgml, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 
    142 $sql.="FROM alkis_beziehungen v "; 
    143 $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=substring(l.gml_id,1,16) "; // Strassennamen JOIN 
    144 $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
    145 $sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' ";// id FS"; 
    146 $sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 
     137$sql ="SELECT DISTINCT l.gml_id, s.gml_id AS kgml, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung  
     138FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(f.weistauf) 
     139LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
     140WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 
     141 
    147142$v = array($gmlid); 
    148143$res = pg_prepare("", $sql); 
     
    174169// *** G R U N D B U C H *** 
    175170echo "\n<h2><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbuch</h2>"; 
    176 // ALKIS: FS --> bfs --> GS --> bsb --> GB. 
    177 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, "; 
    178 $sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, "; 
    179 $sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht 
    180 $sql.="FROM alkis_beziehungen bfs "; // Bez Flurst.- Stelle. 
    181 $sql.="JOIN ax_buchungsstelle s ON bfs.beziehung_zu=s.gml_id "; 
    182 $sql.="JOIN alkis_beziehungen bsb ON s.gml_id=bsb.beziehung_von "; // Bez. Stelle - Blatt 
    183 $sql.="JOIN ax_buchungsblatt b ON bsb.beziehung_zu=b.gml_id "; 
    184 $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 
    185 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert "; 
    186 $sql.="WHERE bfs.beziehung_von= $1 "; 
    187 $sql.="AND bfs.beziehungsart='istGebucht' "; 
    188 $sql.="AND bsb.beziehungsart='istBestandteilVon' "; 
    189 $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
     171// ALKIS: FS >istgebucht> GS >istBestandteilVon> GB. 
     172$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart,  
     173s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, a.bezeichner AS bart  
     174FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
     175JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id  
     176LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
     177LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert  
     178WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL  
     179ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
    190180 
    191181$v = array($gmlid); 
     
    260250 
    261251                // Ausgabe Name in Function 
    262                 $n = eigentuemer($con, $rowg["gml_id"], false); // ohne Adressen 
    263  
    264                 if ($n == 0) { // keine Namensnummer, kein Eigentuemer 
     252                $n = eigentuemer($con, $rowg["gml_id"], false); // ohne Adr. 
     253 
     254                if ($n == 0) { // keine NamNum, kein Eigent. 
    265255                        echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>"; 
    266256                        echo "\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>"; 
  • trunk/info/info/alkis/alkisauszug.css

    r330 r333  
    1111        2013-06-27      p.recht 
    1212        2014-01-27      strasse, hsnr, Print-Balken 
     13        2014-09-15  PostNAS 0.8: p.cnt 
    1314*/ 
    1415body    {background-color: #FDFFFD;} 
     
    4142p.err           {font-size: 11px; color: red;}          /* Fehler -> Anwender */ 
    4243p.dbg           {font-size: 10px; color: gray;}         /* Debug -> Entwickler */ 
     44p.cnt           {font-size: 10px; color: gray;}         /* Counter, Zaehler */ 
    4345p.warn          {color: gray; font-style: italic;}      /* Warnung, Hinweis */ 
    4446p.ph            {color: gray;}                                          /* Platzhalter */ 
  • trunk/info/info/alkis/alkisbestnw.php

    r332 r333  
    1212        2013-04-08 deprecated "import_request_variables" ersetzt 
    1313        2014-09-10 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    14         2014-09-10 Bei Relationen den Timestamp abschneiden 
     14        2014-09-15 Bei Relationen den Timestamp abschneiden 
    1515 
    1616        ToDo: ZÀhler fuer Anzahl FS in der Liste 
     
    119119        WHERE sh.istbestandteilvon= $1 AND sd.endet IS NULL AND sh.endet IS NULL;"; 
    120120 
    121         $v=array(substr($gmlid,1,16)); // GB-Blatt, in Relation immer nur 16 Zeichen 
     121        $v=array(substr($gmlid,0,16)); // GB-Blatt, in Relation immer nur 16 Zeichen 
    122122        $res=pg_prepare("", $sql); 
    123123        $res=pg_execute("", $v); 
     
    164164WHERE s.istbestandteilvon= $1 AND s.endet IS NULL ORDER BY cast(s.laufendenummer AS integer);"; 
    165165 
    166 $v=array($gmlid); 
     166$v=array(substr($gmlid,0,16)); //  Rel. istbestandteilvon nur 16 Zeichen 
    167167$res=pg_prepare("", $sql); 
    168168$res=pg_execute("", $v); 
     
    170170if (!$res) { 
    171171        echo "<p class='err'>Fehler bei Buchung.</p>\n"; 
    172         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     172        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".substr($gmlid,0,16)."'</p>";} 
    173173} 
    174174$i=0; 
    175175$fscnt=0; 
    176176while($row = pg_fetch_array($res)) { 
    177         $lfdnr  = $row["lfd"]; 
    178         $bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    179         $gml_bs = $row["gml_id"]; // id der buchungsstelle 
    180         $ba     = $row["bart"]; // Buchungsart aus Schluesseltabelle 
     177        $lfdnr=$row["lfd"]; 
     178        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
     179        $gml_bs= $row["gml_id"]; // id der buchungsstelle 
     180        $ba=$row["bart"]; // Buchungsart aus Schluesseltabelle 
    181181 
    182182        if ($row["zaehler"] == "") { 
     
    231231                        $b=0; 
    232232                        while($fbrow = pg_fetch_array($fbres)) { // genau 1 
    233                                 $fbgml   = $fbrow["gml_id"]; 
    234                                 $fbland  = $fbrow["land"]; 
    235                                 $fbbez   = $fbrow["bezirk"]; 
     233                                $fbgml  = $fbrow["gml_id"]; 
     234                                $fbland = $fbrow["land"]; 
     235                                $fbbez  = $fbrow["bezirk"]; 
    236236                                $fbblatt = $fbrow["blatt"]; 
    237                                 $fbbart  = blattart($fbrow["blattart"]); 
     237                                $fbbart = blattart($fbrow["blattart"]); 
    238238                                $beznam = $fbrow["beznam"]; 
    239239                                $b++; 
     
    323323                                echo "</td>"; 
    324324                                echo "\n\t<td colspan=7>"; 
    325                                         echo "<p class='warn'>Flurst&uuml;cke zu ".$bvnr." nicht im Datenbestand.</p>"; 
     325                                        echo "<p class='warn'>Flurst&uuml;cke zu ".$bvnr." nicht gefunden.</p>"; 
    326326                                echo "</td>"; 
    327327                        echo "\n</tr>"; 
     
    347347} else { 
    348348        if ($i > 5 and $fscnt > 5) { // nur wenn nicht auf einen Blick zu erkennen 
    349                 echo "\n<p class='dbg'>".$i." Buchungen mit ".$fscnt." Flurst&uuml;cken</p>\n"; 
     349                echo "\n<p class='cnt'>".$i." Buchungen mit ".$fscnt." Flurst&uuml;cken</p>\n"; 
    350350        } 
    351351} 
     
    366366WHERE sf.istbestandteilvon = $1 AND sf.endet IS NULL AND sb.endet IS NULL AND bb.endet IS NULL ORDER BY bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung;"; 
    367367 
    368 $v = array($gmlid); 
     368$v = array(substr($gmlid,0,16)); // nur 16 Zeichen in Relation 
    369369$resb = pg_prepare("", $sql); 
    370370$resb = pg_execute("", $v); 
    371371if (!$resb) { 
    372372        echo "<p class='err'>Fehler bei 'andere Berechtigte Bl&auml;tter.</p>\n"; 
    373         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     373        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".substr($gmlid,0,16)."'</p>";} 
    374374} 
    375375$b=0; // count: Blaetter 
  • trunk/info/info/alkis/alkisfkt.php

    r332 r333  
    1212        2014-02-06 Korrektur EigentÃŒmerart 
    1313        2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    14         2014-09-10 Bei Relationen den Timestamp abschneiden 
     14        2014-09-15 Bei Relationen den Timestamp abschneiden 
    1515*/ 
    1616 
     
    9090        Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). 
    9191        Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. 
    92         Table-Tag und Kopfzeile im aufrufenden Programm.  
    93 */ 
    94         global $gkz, $idanzeige, $showkey; 
     92        Table-Tag und Kopfzeile im aufrufenden Programm. */ 
     93        global $debug, $gkz, $idanzeige, $showkey; 
    9594 
    9695        // F L U R S T U E C K 
    97         $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; 
    98         $sql.="FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16) ";  
    99         $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    100         $sql.="WHERE s.gml_id= $1 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     96        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche  
     97        FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16)  
     98        LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
     99        WHERE s.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     100 
     101/* 
     102SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer,  
     103  f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche  
     104FROM ax_flurstueck f  
     105JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16)  
     106LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
     107WHERE s.gml_id= 'DENW18AL00001hHb'  
     108  AND f.endet IS NULL  
     109  AND s.endet IS NULL  
     110  AND g.endet IS NULL  
     111ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner; 
     112 
     113$1 = 'DENW18AL00001hHb' */ 
    101114 
    102115        $v = array($gml_bs); 
     
    113126        while($rowf = pg_fetch_array($resf)) { 
    114127                $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 
    115  
    116 /*              $fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT); 
    117                 if ($rowf["nenner"] != "") { // Bruchnummer 
    118                         $fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT); 
    119                 } 
    120 */ 
    121128                // ohne fuehrende Nullen? 
    122129                $fskenn=$rowf["zaehler"]; 
     
    124131                        $fskenn.="/".$rowf["nenner"]; 
    125132                } 
    126  
    127133                $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;"; 
    128134 
     
    171177                $j++; 
    172178        } // Ende Flurstueck 
     179 
     180        if ($j == 0 ) { // nur Entw. 
     181                if ($debug > 1) { 
     182                        echo "<p class='dbg'>Keine FS gefunden</p>"; 
     183                } 
     184                if ($debug > 2) { 
     185                        echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>"; 
     186                } 
     187        } 
     188 
    173189        pg_free_result($resf); 
    174190        return $j; 
     
    199215        $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
    200216 
    201         $v = array($gmlid); 
     217        $v = array(substr($gmlid,0,16)); // 16 Stellen bei Relationen 
    202218        $resn = pg_prepare("", $sqln); 
    203219        $resn = pg_execute("", $v); 
     
    205221        if (!$resn) { 
    206222                echo "<p class='err'>Fehler bei Eigent&uuml;mer</p>\n"; 
    207                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
     223                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".substr($gmlid,0,16)."'</p>";} 
    208224        } 
    209225 
     
    369385        } // End Loop NamNum 
    370386        echo "\n</table>\n"; 
    371         if ($n == 0) { 
    372                 // kommt vor bei "Fiktives Blatt", kein Fehler  
     387        if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler  
    373388                if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 
    374                 if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 
     389                if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".substr($gmlid,0,16)."'</p>";} 
    375390        } 
    376391        pg_free_result($resn); 
  • trunk/info/info/alkis/alkisfshist.php

    r330 r333  
    1010        2012-11-27  Function split deprecated: explode 
    1111        2013-04-08  deprecated "import_request_variables" ersetzt 
    12         2014-09-03  PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     12        2014-09-15  PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    1313*/ 
    1414 
    1515function fzerleg($fs) { 
    16 /*      FlurstÌckskennzeichen (20) zerlegen als lesbares Format (wie im Balken): 
     16/*      Flurstueckskennzeichen (20) zerlegen als lesbares Format (wie im Balken): 
    1717        Dies FS-Kennz-Format wird auch als Eingabe in der Navigation akzeptiert  
    1818   ....*....1....*....2 
     
    8282        // Frage: kann das bei Historisierung wechseln? (Umflurung, Umgemarkung). Dann ggf. Fehler (nicht gefunden) 
    8383 
    84         $sqlv.="SELECT 'h' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueck h ".$wherecl; 
    85         $sqlv.="UNION "; 
    86         $sqlv.="SELECT 'o' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueckohneraumbezug o ".$wherecl; 
    87         $sqlv.="ORDER BY flurstueckskennzeichen"; 
     84        $sqlv.="SELECT 'h' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueck h ".$wherecl 
     85        ."UNION SELECT 'o' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueckohneraumbezug o ".$wherecl 
     86        ."ORDER BY flurstueckskennzeichen"; 
    8887 
    8988        $v=array($fsk); 
     
    146145        $whereclause="WHERE gml_id= $1 "; 
    147146        $v = array($gmlid); 
    148 } else {        // Alternativ: das FlurstÌcks-Kennzeichen wurde Ìbergeben 
     147} else {        // Alternativ: Flurst.-Kennz. uebergeben 
    149148        if ($fskennz != "") { 
    150149                $parmtyp="Flurst&uuml;ckskennzeichen"; 
     
    163162        $felder="gml_id, flurnummer, zaehler, nenner, flurstueckskennzeichen, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, "; 
    164163 
    165         $sqlu ="SELECT 'a' AS ftyp, ".$felder."null AS nach, null AS vor, null AS \"name\" "; 
    166         $sqlu.="FROM ax_flurstueck f ".$whereclause; 
    167         $sqlu.="UNION "; 
    168         $sqlu.="SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name "; 
    169         $sqlu.="FROM ax_historischesflurstueck h ".$whereclause; 
    170         $sqlu.="UNION "; 
    171         $sqlu.="SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name "; 
    172         $sqlu.="FROM ax_historischesflurstueckohneraumbezug o ".$whereclause; 
    173          
     164        $sqlu ="SELECT 'a' AS ftyp, ".$felder."null AS nach, null AS vor, null AS \"name\" FROM ax_flurstueck f ".$whereclause." AND f.endet IS NULL " 
     165        ."UNION SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueck h ".$whereclause." AND h.endet IS NULL " 
     166        ."UNION SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueckohneraumbezug o ".$whereclause." AND o.endet IS NULL;"; 
     167 
    174168        $resu = pg_prepare("", $sqlu); 
    175169        $resu = pg_execute("", $v); 
     
    185179                $flae=number_format($rowu["amtlicheflaeche"],0,",",".") . " m&#178;"; 
    186180                $name=$rowu["name"]; // in DB ein Array 
    187         //      $arrn=split(",", trim($name, "{}") ); // split ist deprecated! 
    188181                $arrn=explode(",", trim($name, "{}") ); // PHP-Array  
    189182                $gemkname= gemkg_name($gmkgnr); 
     
    191184                $vor=$rowu["vor"]; 
    192185                $nach=$rowu["nach"]; 
    193                 if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // fÌr selbst-link-Umschalter ueber footer 
     186                if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // fuer selbst-link-Umschalter ueber footer 
    194187        } else { 
    195188                if ($debug > 1) {echo "<br><p class='err'>Fehler! Kein Treffer f&uuml;r ".$parmtyp." = '".$parmval."'</p><br>";} 
     
    198191} 
    199192 
    200 switch ($ftyp) { // Unterschiede Historisch/Aktuell 
     193switch ($ftyp) { // Unterschiede Hist./Aktuell 
    201194        case 'a':  
    202195                $wert = "aktuell"; 
  • trunk/info/info/alkis/alkisfsnw.php

    r330 r333  
    2121        2014-02-06 Korrektur 
    2222        2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    23         2014-09-10 Bei Relationen den Timestamp abschneiden 
     23        2014-09-15 Bei Relationen den Timestamp abschneiden 
    2424 
    2525        ToDo: 
     
    9595        // Feld flurstueckskennzeichen ist in DB indiziert 
    9696        // Format z.B.'052647002001910013__' oder '05264700200012______' 
    97         $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 ;"; 
     97        $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 AND endet IS NULL ;"; 
    9898 
    9999        $v = array($fskzdb); 
     
    195195 
    196196// G e m e i n d e 
    197 $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3";  
     197$sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3 AND endet IS NULL;";  
    198198 
    199199$v = array($bezirk,$kreis,$gemeinde); 
     
    224224 
    225225// K r e i s 
    226 $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2";  
     226$sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2 AND endet IS NULL;";  
    227227$v = array($bezirk,$kreis); 
    228228$res = pg_prepare("", $sql); 
     
    242242 
    243243// R e g - B e z 
    244 $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 "; 
     244$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 AND endet IS NULL;"; 
    245245$v = array($bezirk); 
    246246$res = pg_prepare("", $sql); 
     
    267267FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16) = ANY(f.weistauf)   
    268268JOIN 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  
    269 WHERE f.gml_id= $1 ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 
     269WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL     
     270ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 
    270271 
    271272$v = array($gmlid); 
     
    316317FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON substring(l.gml_id,1,16)=ANY(f.zeigtauf)  
    317318LEFT 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  
    318 WHERE f.gml_id = $1 ;"; 
     319WHERE f.gml_id = $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL;"; 
    319320 
    320321$v = array($gmlid); 
     
    370371// ** N U T Z U N G ** Gemeinsame FlÀche von NUA und FS 
    371372// Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben 
    372 $sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe, "; 
    373 $sql.="st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla "; 
    374 $sql.="FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id "; 
    375 $sql.="LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class "; 
    376 $sql.="WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true "; // id FS, ueberlappende Flaechen 
    377 $sql.="AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 "; // unter Rundung 
    378 $sql.="ORDER BY schnittflae DESC;"; 
     373$sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe,  
     374st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla  
     375FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id  
     376LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class  
     377WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true  
     378AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05  
     379AND f.endet IS NULL ORDER BY schnittflae DESC;"; 
    379380 
    380381$v = array($gmlid); 
     
    499500//  b.name, b.artderfestlegung,  
    500501 
    501 $sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, "; 
    502 $sql_boden.="b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key "; 
    503 $sql_boden.="FROM ax_bauraumoderbodenordnungsrecht b JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON a.wert=b.artderfestlegung "; 
    504 $sql_boden.="LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle "; 
    505 $sql_boden.="WHERE ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry) "; 
    506 $sql_boden.="OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry)"; 
     502$sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
     503b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key  
     504FROM ax_bauraumoderbodenordnungsrecht b JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON a.wert=b.artderfestlegung  
     505LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle  
     506WHERE b.endet IS NULL AND d.endet IS NULL   
     507AND ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 ), wkb_geometry)  
     508OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 ), wkb_geometry)"; 
     509 
    507510pg_prepare($con, "bodeneuordnung", $sql_boden); 
    508511$res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid)); 
    509512 
    510 $sql_str = "SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE 1000 = ANY(artderflurstuecksgrenze) AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry);"; 
     513$sql_str = "SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze) AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry);"; 
    511514pg_prepare($con, "strittigeGrenze", $sql_str); 
    512515$res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid)); 
     
    615618FROM ax_flurstueck f JOIN ax_buchungsstelle s ON substring(s.gml_id,1,16)=f.istgebucht  
    616619LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart=b.wert  
    617 WHERE f.gml_id= $1 ORDER BY s.laufendenummer;"; 
     620WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL ORDER BY s.laufendenummer;"; 
    618621 
    619622$v = array($gmlid); 
     
    631634 
    632635        // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon) 
    633         $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung "; 
    634         $sql.="FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=s.istbestandteilvon "; 
    635         $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 
    636         $sql.="WHERE s.gml_id = $1 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 
     636        $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung  
     637        FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=s.istbestandteilvon  
     638        LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
     639        WHERE s.gml_id = $1 AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 
     640        ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 
    637641 
    638642        $v = array($gmls); 
     
    742746        } 
    743747 
    744         // Buchungstelle  >an>  Buchungstelle  >istBestandteilVon>  BLATT  -> Bezirk 
    745         $sql ="SELECT sd.gml_id AS s_gml, sd.buchungsart, sd.laufendenummer as lfd, sd.zaehler, sd.nenner, sd.nummerimaufteilungsplan as nrpl, sd.beschreibungdessondereigentums as sond, "; 
    746         $sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.bezeichner AS bart "; 
    747         $sql.="FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an) "; // Stelle >an> Stelle 
    748         $sql.="JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=sd.istbestandteilvon  ";// Stelle >istbestandteilvon> Blatt 
    749         $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 
    750         $sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON sd.buchungsart=a.wert "; 
    751         $sql.="WHERE sh.gml_id= $1 "; // id herrschende Buchungsstelle 
    752         $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
    753  
    754         $v = array($gmls); 
     748        // Buchungstelle >an> Buchungstelle >istBestandteilVon> BLATT -> Bezirk 
     749        $sql ="SELECT sd.gml_id AS s_gml, sd.buchungsart, sd.laufendenummer as lfd, sd.zaehler, sd.nenner, sd.nummerimaufteilungsplan as nrpl, sd.beschreibungdessondereigentums as sond,  
     750        b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.bezeichner AS bart  
     751        FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an)  
     752        JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=sd.istbestandteilvon   
     753        LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
     754        LEFT JOIN ax_buchungsstelle_buchungsart a ON sd.buchungsart=a.wert  
     755        WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 
     756        ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
     757 
     758        $v = array($gmls); // id herrschende Buchungsstelle 
    755759        $resan = pg_prepare("", $sql); 
    756760        $resan = pg_execute("", $v); 
    757761        if (!$resan) { 
    758                 echo "\n<p class='err'>Keine weiteren Buchungsstellen.</p>\n"; 
     762                echo "\n<p class='err'>Fehler bei 'weitere Buchungsstellen'.</p>\n"; 
    759763                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 
    760764        } 
  • trunk/info/info/alkis/alkisgebaeudenw.php

    r330 r333  
    4343$sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung  
    4444FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    45 WHERE f.gml_id= $1;"; 
     45WHERE f.gml_id= $1 AND f.endet IS NULL;"; 
    4646$v=array($gmlid); 
    4747$resf=pg_prepare("", $sqlf); 
     
    106106 
    107107// G e b a e u d e 
    108 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, "; 
    109 $sqlg.="h.bauweise_beschreibung, u.bezeichner, g.zustand, z.bezeichner AS bzustand, "; 
     108$sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, h.bauweise_beschreibung, u.bezeichner, g.zustand, z.bezeichner AS bzustand, "; 
    110109 
    111110// GEB-Flaeche komplett auch die Fl. ausserhalb des FS 
     
    122121 
    123122// Entschluesseln 
    124 $sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id "; 
    125 $sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert "; 
    126 $sqlg.="LEFT JOIN ax_gebaeude_zustand z ON g.zustand=z.wert "; 
    127 $sqlg.="WHERE f.gml_id= $1 "; // ID des akt. FS 
     123$sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id  
     124LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert  
     125LEFT JOIN ax_gebaeude_zustand z ON g.zustand=z.wert  
     126WHERE f.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL "; // ID des akt. FS 
    128127 
    129128// "within" -> nur Geb., die komplett im FS liegen 
    130 // "intersects" -> ueberlappende Fl. 
     129// "intersects" -> auch teil-ueberlappende Flst. 
    131130$sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true "; 
    132  
    133 // RLP: keine Relationen zu NebengebÀuden: 
    134 // auf Qualifizierung verzichten, sonst werden NebengebÀude nicht angezeigt 
    135         //$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') "; 
     131// RLP: keine Relationen zu NebengebÀuden. Auf Qualifizierung verzichten, sonst werden NebengebÀude nicht angezeigt 
     132//$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') "; 
    136133$sqlg.="ORDER BY schnittflae DESC;"; 
    137134 
     
    203200                        $sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(g.zeigtauf) "; 
    204201                        $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
    205                         $sqll.="WHERE g.gml_id= $1 "; 
     202                        $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; 
    206203 
    207204                        // oder NEBENgebÀude  Geb >hat> Pseudo 
     
    209206                        $sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON substring(l.gml_id,1,16)=g.hat "; 
    210207                        $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
    211                         $sqll.="WHERE g.gml_id= $1 "; // ID des Hauses" 
     208                        $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; // ID des Hauses" 
    212209                 
    213210                        $sqll.="ORDER BY bezeichnung, hausnummer;"; 
  • trunk/info/info/alkis/alkishaus.php

    r330 r333  
    5151 
    5252// // G e b a e u d e  
    53 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug, "; 
    54 $sqlg.="g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, g.weiteregebaeudefunktion, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben, "; 
    55 $sqlg.="h.bauweise_beschreibung, u.bezeichner AS bfunk, z.bezeichner AS bzustand, "; 
    56 // "w.bezeichner AS bweitfunk, "; 
    57 $sqlg.="d.bezeichner AS bdach, round(area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g "; 
    58 // Entschluesseln 
    59 $sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id "; 
    60 $sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert "; 
    61 $sqlg.="LEFT JOIN ax_gebaeude_zustand z ON g.zustand=z.wert "; 
    62 $sqlg.="LEFT JOIN ax_gebaeude_dachform d ON g.dachform=d.wert "; 
    63  
    64 $sqlg.="WHERE g.gml_id= $1 AND g.endet IS NULL ;"; 
     53$sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug,  
     54g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, g.weiteregebaeudefunktion, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben,  
     55h.bauweise_beschreibung, u.bezeichner AS bfunk, z.bezeichner AS bzustand, "; // w.bezeichner AS bweitfunk, 
     56$sqlg.="d.bezeichner AS bdach, round(area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g  
     57LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id  
     58LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert  
     59LEFT JOIN ax_gebaeude_zustand z ON g.zustand=z.wert  
     60LEFT JOIN ax_gebaeude_dachform d ON g.dachform=d.wert 
     61WHERE g.gml_id= $1 AND g.endet IS NULL ;"; 
    6562 
    6663$v = array($gmlid); 
  • trunk/info/info/alkis/alkisinlayausk.php

    r330 r333  
    1919        2014-02-06 pg_free_result 
    2020        2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    21         2014-09-10 Bei Relationen den Timestamp abschneiden 
     21        2014-09-15 Bei Relationen den Timestamp abschneiden 
    2222*/ 
    2323session_start(); 
     
    5252 
    5353// *** F L U R S T U E C K *** 
    54 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung "; 
    55 $sql.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    56 $sql.="WHERE f.gml_id= $1 ;"; 
     54$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung  
     55FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
     56WHERE f.gml_id= $1 AND f.endet IS NULL ;"; 
    5757// Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt" 
    5858$v = array($gmlid); 
     
    114114FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(f.weistauf) 
    115115JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    116 WHERE f.gml_id= $1 ORDER BY s.bezeichnung, l.hausnummer;"; 
     116WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL  
     117ORDER BY s.bezeichnung, l.hausnummer;"; 
    117118 
    118119$v=array($gmlid); // id FS 
     
    148149        FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON substring(l.gml_id,1,16)=ANY(f.zeigtauf) 
    149150        LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    150         WHERE f.gml_id= $1 ORDER BY s.bezeichnung;"; 
     151        WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL   
     152        ORDER BY s.bezeichnung;"; 
    151153 
    152154        $v=array($gmlid); 
     
    197199LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
    198200LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart=a.wert  
    199 WHERE f.gml_id= $1 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
     201WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL  
     202ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
    200203 
    201204$v=array($gmlid); 
  • trunk/info/info/alkis/alkislage.php

    r330 r333  
    1010        2014-01-23 gml des Katalogs, Link auf Modul "strasse" 
    1111        2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    12         2014-09-10 Bei Relationen den Timestamp abschneiden 
     12        2014-09-15 Bei Relationen den Timestamp abschneiden 
    1313 
    1414        ToDo: 
     
    7878LEFT JOIN ax_lagebezeichnungkatalogeintrag s  
    7979ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
    80 WHERE l.gml_id= $1;"; 
     80WHERE l.gml_id= $1 AND l.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL;"; 
    8181 
    8282$v = array($gmlid); 
     
    144144echo "<p>Typ: ".$untertitel."</p>"; 
    145145 
    146 echo "\n<table class='outer'>\n<tr>\n\t<td>";   // Tabelle Kennzeichen 
     146echo "\n<table class='outer'>\n<tr>\n\t<td>";   // Tab. Kennz. 
    147147        // ToDo: !! kleiner, wenn ltyp=0 und die Schluesselfelder leer sind 
    148148        echo "\n\t<table class='kennzla' title='Lage'>"; 
     
    234234 
    235235// F L U R S T U E C K E 
    236         // ax_Flurstueck  >weistAuf>  ax_LagebezeichnungMitHausnummer 
    237         // ax_Flurstueck  >zeigtAuf>  ax_LagebezeichnungOhneHausnummer 
     236// ax_Flurstueck  >weistAuf>  ax_LagebezeichnungMitHausnummer 
     237// ax_Flurstueck  >zeigtAuf>  ax_LagebezeichnungOhneHausnummer 
    238238if ($ltyp <> "p") { // Pseudonummer linkt nur GebÀude 
    239239        echo "\n\n<a name='fs'></a><h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>\n"; 
     
    244244        } 
    245245 
    246         $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche "; 
    247         $sql.="FROM ax_flurstueck f "; 
    248         $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    249         $sql.="WHERE $1 = ANY(f.".$bezart.")"; 
    250         $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
    251  
    252         $v = array($gmlid); 
     246        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche  
     247        FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
     248        WHERE $1 = ANY(f.".$bezart.") AND f.endet IS NULL AND g.endet IS NULL  
     249        ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     250 
     251        $v = array(substr($gmlid,0,16)); // Relation nur mit 16 Stellen  
    253252        $resf = pg_prepare("", $sql); 
    254253        $resf = pg_execute("", $v); 
    255254        if (!$resf) { 
    256255                echo "<p class='err'>Fehler bei Flurst&uuml;ck.</p>\n"; 
    257                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}      
     256                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".substr($gmlid,0,16)."'</p>";}         
    258257        } 
    259258 
     
    291290        } 
    292291        echo "\n</table>"; 
     292        if ($j > 6) { 
     293                echo "<p class='cnt'>".$j." Flurst&uuml;cke</p>"; 
     294        } 
    293295} 
    294296 
     
    310312                        echo "\n<p>Nebengeb&auml;ude: "; 
    311313                        $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "; 
    312                         $sql.=$whereclaus."AND lage= $6 AND pseudonummer= $7 ORDER BY laufendenummer;"; 
    313                 // pseudonummer character varying(5), laufendenummer character varying(2), 
     314                        $sql.=$whereclaus."AND lage= $6 AND pseudonummer= $7 AND l.endet IS NULL ORDER BY laufendenummer;"; 
    314315 
    315316                        $v = array($land,$regbez,$kreis,$gem,$lage,$lage,$hsnr); 
     
    329330                        echo "\n<p>Hauptgeb&auml;ude: "; 
    330331                        $sql ="SELECT l.gml_id FROM ax_lagebezeichnungmithausnummer l "; 
    331                         $sql.=$whereclaus."AND hausnummer= $6;"; 
     332                        $sql.=$whereclaus."AND hausnummer= $6 AND l.endet IS NULL ;"; 
    332333 
    333334                        $v = array($land,$regbez,$kreis,$gem,$lage,$pseu); 
     
    343344                        echo "\n<p>weitere Nebengeb&auml;ude: "; 
    344345                        $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "; 
    345                         $sql.=$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 ORDER BY laufendenummer;"; 
     346                        $sql.=$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 AND l.endet IS NULL ORDER BY laufendenummer;"; 
    346347                        $v = array($land,$regbez,$kreis,$gem,$lage,$pseu,$lfd); 
    347348                        $res = pg_prepare("", $sql); 
     
    369370        $sql ="SELECT g.gml_id, g.gebaeudefunktion, g.name, g.bauweise, g.grundflaeche, g.zustand, round(area(g.wkb_geometry)::numeric,2) AS flaeche, h.bauweise_beschreibung, u.bezeichner  
    370371        FROM ax_gebaeude g LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id  
    371         LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert "; 
    372         // +++ JOIN Zustand 
    373         $sql.="WHERE $1 = ".$bezart.";"; 
    374  
    375         $v = array($gmlid); 
     372        LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert WHERE $1 = ".$bezart." AND g.endet IS NULL;"; 
     373 
     374        $v = array(substr($gmlid,0,16)); // 16 St. in Rel. 
    376375        $res = pg_prepare("", $sql); 
    377376        $res = pg_execute("", $v); 
    378377        if (!$res) { 
    379378                echo "<p class='err'>Fehler bei Geb&auml;ude.</p>\n"; 
    380                 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     379                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".substr($gmlid,0,16)."'</p>";} 
    381380        } 
    382381        echo "\n<table class='geb'>"; 
  • trunk/info/info/alkis/alkisstrasse.php

    r330 r333  
    1111        2014-01-30 pg_free_result 
    1212        2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    13         2014-09-10 Bei Relationen den Timestamp abschneiden 
     13        2014-09-15 Bei Relationen den Timestamp abschneiden 
    1414*/ 
    1515session_start(); 
     
    5555JOIN ax_gemeinde g ON s.land=g.land AND s.regierungsbezirk=g.regierungsbezirk AND s.kreis=g.kreis AND s.gemeinde=g.gemeinde  
    5656LEFT 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  
    57 WHERE s.gml_id= $1 ;";  
     57WHERE s.gml_id= $1 AND s.endet IS NULL AND o.endet IS NULL ;";  
    5858 
    5959$v=array($gmlid); 
     
    139139$subquery = "SELECT f1.gml_id AS fsgml, lm.gml_id AS lgml, lm.land, lm.regierungsbezirk, lm.kreis, lm.gemeinde, lm.lage, lm.hausnummer  
    140140 FROM ax_flurstueck f1 JOIN ax_lagebezeichnungmithausnummer lm ON substring(lm.gml_id,1,16)=ANY(f1.weistAuf)  
     141 WHERE f1.endet IS NULL AND lm.endet IS NULL 
    141142UNION SELECT f2.gml_id AS fsgml, '' AS lgml, lo.land, lo.regierungsbezirk, lo.kreis, lo.gemeinde, lo.lage, '' AS hausnummer  
    142  FROM ax_flurstueck f2 JOIN ax_lagebezeichnungohnehausnummer lo ON substring(lo.gml_id,1,16)=ANY(f2.zeigtauf) "; 
     143 FROM ax_flurstueck f2 JOIN ax_lagebezeichnungohnehausnummer lo ON substring(lo.gml_id,1,16)=ANY(f2.zeigtauf)  
     144 WHERE f2.endet IS NULL AND lo.endet IS NULL"; 
    143145 
    144146$sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, duett.lgml, duett.hausnummer  
     
    146148 JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    147149 JOIN ax_lagebezeichnungkatalogeintrag s ON duett.land=s.land AND duett.regierungsbezirk=s.regierungsbezirk AND duett.kreis=s.kreis AND duett.gemeinde=s.gemeinde AND duett.lage=s.lage  
    148 WHERE s.gml_id = $1 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     150WHERE s.gml_id = $1 AND f.endet IS NULL AND s.endet IS NULL  
     151ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
    149152 
    150153$v=array($gmlid); 
     
    166169echo "\n</tr>"; 
    167170$j=0; 
     171$cnths=0; // Count Haus 
    168172while($rowf = pg_fetch_array($resf)) { 
    169173        $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 
     
    190194                                if ($showkey)   {echo "&amp;showkey=j";} 
    191195                                echo "' title='Lage Mit Hausnummer'>Lage <img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>&nbsp;"; 
     196                                $cnths++; 
    192197                        } 
    193198 
     
    202207} 
    203208echo "\n</table>"; 
     209if ($j > 6) { 
     210        echo "<p class='cnt'>".$j." Flurst&uuml;cke"; 
     211        if ($cnths > 4) { 
     212                echo ", ".$cnths." H&auml;user"; 
     213        } 
     214        echo "</p>"; 
     215} 
    204216pg_free_result($res); 
    205217?> 
Note: See TracChangeset for help on using the changeset viewer.