Ignore:
Timestamp:
11/10/10 17:07:40 (13 years ago)
Author:
frank.jaeger
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/var/www/info/alkis/alkisfsnw.php

    r49 r53  
    1010        07.09.2010  Kennzeichen-Rahmen f. fiktives Blatt, Schluessel anschaltbar 
    1111        15.09.2010  Function "buchungsart" durch JOIN ersetzt 
     12        30.09.2010  noprint 
     13        09.11.2010  Nutzung, ehem. php-Functions hier integriert 
     14        10.11.2010  Felder nutzung.zustand und nutzung.name  
    1215 
    1316        ToDo:  
     
    3538        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
    3639        <style type='text/css' media='print'> 
    37                 .noprint { visibility: hidden;} 
     40                .noprint {visibility: hidden;} 
    3841        </style> 
    3942</head> 
     
    7275        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    7376        $gmkgnr=$row["gemarkungsnummer"]; 
     77        $bezirk=$row["regierungsbezirk"]; 
     78        $kreis=$row["kreis"]; 
     79        $gemeinde=$row["gemeinde"]; 
    7480        $flurnummer=$row["flurnummer"]; 
    7581        $flstnummer=$row["zaehler"]; 
    7682        $nenner=$row["nenner"]; 
    77         if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr 
     83        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr 
    7884        $flae=number_format($row["amtlicheflaeche"],0,",",".") . " m&#178;"; 
    7985} else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;} 
     
    120126echo "\n<table class='fs'>"; 
    121127         
    122         fs_gebietszug($con, $row["gemeinde"], $row["kreis"], $row["regierungsbezirk"], $showkey); // Gebietszugehoerigkeit 
    123  
    124         fs_lage($con, $gmlid, $gkz, $showkey); // Adresse, Lagebezeichnung 
    125  
    126         fs_nutz($con, $gmlid, $showkey); // Tatsaechliche Nutzung 
    127  
    128         // Flaeche und Link auf GebÀude-Auswertung 
    129         echo "\n<tr>"; 
    130                 echo "\n\t<td class='ll'>Fl&auml;che:</td>"; // Sp. 1 
    131                 echo "\n\t<td class='lr'>".$flae."</td>"; // Sp. 2 
    132                 echo "\n\t<td>"; // Sp. 3 
    133                         echo "\n\t\t<p class='nwlink noprint'>"; // Gebaeude-Verschneidung 
    134                                 echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    135                                 if ($idanzeige) {echo "&amp;id=j";} 
    136                                 if ($showkey)   {echo "&amp;id=j";} 
    137                                 echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>"; 
    138                         echo "\n\t\t</p>"; 
    139                 echo "\n\t</td>"; 
     128// ** G e b i e t s z u g e h o e r i g k e i t ** 
     129// eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben 
     130// Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist? 
     131echo "\n<tr>\n\t<td class='ll'><img src='ico/Gemeinde.ico' width='16' height='16' alt=''> Im Gebiet von:</td>"; 
     132 
     133// G e m e i n d e 
     134$sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' AND gemeinde='".$gemeinde."' ";  
     135$res=pg_query($con, $sql); 
     136if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>"; 
     137$row = pg_fetch_array($res); 
     138$gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
     139echo "\n\t<td class='lr'>Gemeinde "; 
     140if ($showkey) { 
     141        echo "<span class='key'>(".$gemeinde.")</span> "; 
     142} 
     143echo $gnam."<br>"; 
     144 
     145// K r e i s 
     146$sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' ";  
     147$res=pg_query($con, $sql); 
     148if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>"; 
     149$row = pg_fetch_array($res); 
     150$knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
     151echo "Kreis "; 
     152if ($showkey) { 
     153        echo "<span class='key'>(".$kreis.")</span> "; 
     154}        
     155echo $knam."<br>"; 
     156 
     157// R e g - B e z 
     158$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' ";  
     159$res=pg_query($con, $sql); 
     160if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>"; 
     161$row = pg_fetch_array($res); 
     162$bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
     163echo "Regierungsbezirk "; 
     164if ($showkey) { 
     165        echo "<span class='key'>(".$bezirk.")</span> "; 
     166} 
     167echo $bnam."</td>"; 
     168echo "\n\t<td>&nbsp;</td>\n</tr>"; // 3. Spalte fÃŒr NW-Link (in weiteren Tab-Zeilen) 
     169// ENDE G e b i e t s z u g e h o e r i g k e i t 
     170 
     171 
     172// ** L a g e b e z e i c h n u n g ** 
     173 
     174// Lagebezeichnung Mit Hausnummer 
     175//   ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer 
     176//                  <gehoertZu< 
     177$sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 
     178$sql.="FROM  alkis_beziehungen v "; 
     179$sql.="JOIN  ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
     180$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage "; 
     181$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS"; 
     182$sql.="AND   v.beziehungsart='weistAuf' "; 
     183$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 
     184 
     185// Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage 
     186// bei einem SekundÀrbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier: 
     187 
     188//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
     189// Problem: ax_lagebezeichnungkatalogeintrag.lage  ist char, 
     190//          ax_lagebezeichnungmithausnummer.lage   ist integer, 
     191 
     192// cast() scheitert weil auch nicht numerische Inhalte 
     193//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) "; 
     194 
     195// http://www.postgresql.org/docs/8.3/static/functions-formatting.html 
     196 
     197$res=pg_query($con, $sql); 
     198if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";} 
     199$j=0; 
     200while($row = pg_fetch_array($res)) { 
     201        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
     202        //echo "<!-- Adresse -->";               
     203        echo "\n<tr>\n\t"; 
     204                if ($j == 0) {           
     205                        echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>"; 
     206                } else { 
     207                        echo "<td>&nbsp;</td>"; 
     208                } 
     209                echo "\n\t<td class='lr'>"; 
     210                if ($showkey) { 
     211                        echo "<span class='key'>(".$row["lage"].")</span>&nbsp;"; 
     212                } 
     213                echo $sname."&nbsp;".$row["hausnummer"]."</td>"; 
     214                echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     215                        echo "\n\t\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage "; 
     216                        echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>"; 
     217                echo "\n\t\t</p>\n\t</td>"; 
    140218        echo "\n</tr>"; 
     219        $j++; 
     220} 
     221// Verbesserung: mehrere HsNr zur gleichen Straße als Liste? 
     222 
     223// L a g e b e z e i c h n u n g   O h n e   H a u s n u m m e r  (Gewanne oder nur Strasse) 
     224//   ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer 
     225//                  <gehoertZu< 
     226$sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung "; 
     227$sql.="FROM alkis_beziehungen v "; 
     228$sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu "; 
     229$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
     230//      $sql.="AND l.lage=s.lage "; 
     231// hier beide .lage als Char(5) 
     232//  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen 
     233//  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen 
     234$sql.="AND l.lage=trim(leading '0' from s.lage) "; 
     235//      $sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte 
     236$sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS"; 
     237$sql.="AND   v.beziehungsart='zeigtAuf';"; //ORDER? 
     238$res=pg_query($con, $sql); 
     239if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>"; 
     240$j=0; 
     241// Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!       
     242while($row = pg_fetch_array($res)) { 
     243        $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 
     244        $skey=$row["lage"]; // Strassenschluessel 
     245        $lgml=$row["gml_id"]; // key der Lage 
     246        if (!$gewann == "") { 
     247                echo "\n<tr>";           
     248                        echo "\n\t<td class='ll'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>"; 
     249                        echo "\n\t<td class='lr'>".$gewann."</td>"; 
     250                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     251                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>"; 
     252                                echo "\n\t\t\tLage <img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''></a>"; 
     253                        echo "\n\t\t</p>\n\t</td>"; 
     254                echo "\n</tr>";          
     255        } 
     256        // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link  
     257        if ($skey > 0) { 
     258                echo "\n<tr>";   
     259                        echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Stra&szlig;e:</td>";                          
     260                        echo "\n\t<td class='lr'>"; 
     261                        if ($showkey) { 
     262                                echo "<span class='key'>(".$skey.")</span>&nbsp;"; 
     263                        } 
     264                        echo $row["bezeichnung"]."</td>"; 
     265                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     266                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>"; 
     267                                echo "\n\t\t\tLage <img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''>\n\t\t\t</a>"; 
     268                        echo "\n\t\t</p>\n\t</td>"; 
     269                echo "\n</tr>"; 
     270        }                
     271        $j++; 
     272} 
     273// ENDE  L a g e b e z e i c h n u n g 
     274 
     275// ** N U T Z U N G ** 
     276// Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben 
     277$sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, c.class, n.info, n.zustand, n.name, n.bezeichnung, "; 
     278// ", m.gruppe,  "; 
     279// Gemeinsame FlÀche von NUA und FS 
     280$sql.="round(st_area(st_intersection(n.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae, "; 
     281$sql.="c.label, c.blabla "; 
     282//      $sql.="round(area(n.wkb_geometry)::numeric,2) AS nflae "; // Flaeche NUA gesamt 
     283$sql.="FROM ax_flurstueck f, nutzung n "; 
     284$sql.="JOIN nutzung_meta m ON m.nutz_id=n.nutz_id "; 
     285$sql.="LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class "; 
     286$sql.="WHERE f.gml_id='".$gmlid."' "; // id FS"; 
     287$sql.="AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true "; // ueberlappende Flaechen 
     288$sql.="AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 "; // unter Rundung 
     289$sql.="ORDER BY schnittflae DESC;"; 
     290 
     291$res=pg_query($con, $sql); 
     292if (!$res) {echo "<p class='err'>Fehler bei Suche tats. Nutzung<br>\n".$sql."</p>";} 
     293$j=0; 
     294while($row = pg_fetch_array($res)) { 
     295//      $grupp = $row["gruppe"];  // Individuelles Icon? 
     296        $title = htmlentities($row["title"], ENT_QUOTES, "UTF-8"); // NUA-Titel 
     297        $fldclass=$row["fldclass"]; // Feldname erstes  Zusatzfeld 
     298        $fldinfo= $row["fldinfo"];  // Feldname zweites Zusatzfeld 
     299        $gml=$row["gml_id"]; // Objekt-Kennung 
     300        $class=$row["class"];  // erstes Zusatzfeld verschlÃŒsselt -> nutzung_class 
     301        $info=$row["info"]; // zweites Zusatzfeld verschlÃŒsselt (noch keine Info zum entschl.) 
     302        $schnittflae=$row["schnittflae"]; 
     303        $label=$row["label"]; // Nutzungsart 
     304        $zus=$row["zustand"]; // im Bau 
     305        $nam=$row["name"]; // Eigenname 
     306        $bez=$row["bezeichnung"]; // weiterer Name (unverschl.) 
     307        $blabla=htmlentities($row["blabla"], ENT_QUOTES, "UTF-8");  // Achtung, enthÀlt auch "" 
     308//      $nflae=$row["nflae"]; 
     309 
     310// Icon nach Gruppe?:  
     311// Siedlung - Abschnitt.ico, Verkehr - Strassen_Klassifikation.ico, GewÀsser - Wasser.ico 
     312// Vegetation - Wald.ico, Title=Landwirtschaft Landwirt.ico 
     313        echo "\n<tr>\n\t"; 
     314                if ($j == 0) {           
     315                        echo "<td class='ll'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzung:</td>"; 
     316                } else { 
     317                        echo "<td>&nbsp;</td>"; 
     318                } 
     319                echo "\n\t<td class='lr'>".$schnittflae." m&#178;</td>"; 
     320                 
     321                echo "\n\t<td class='lr'>"; 
     322                        // Eigene Nachweis-Seite fÃŒr Nutzungsart-FlÀche sinnvoll? dann hier verlinken  
     323                        //echo "\n\t\t<p class='nwlink noprint'>"; 
     324                                //echo "\n\t\t\t<a href='alkisnua.php?gkz=".$gkz."amp;gmlid=".$gml."'>Nutzung "; 
     325                                //echo "<img src='ico/Abschnitt.ico' width='16' height='16' alt=''></a>"; 
     326                                //if ($idanzeige) {linkgml($gkz, $gml, "Nutzung");} // Nein, ist mit nix verknuepft 
     327                        //echo "\n\t\t</p>"; 
     328                        echo $title; 
     329                        If ($class != "") {  // SchlÃŒssel 
     330                                echo ", ".$fldclass.": "; // Feldname 
     331                                if ($label != "") { // Bedeutung dazu wurde erfasst 
     332                                        if ($showkey) {echo "<span class='key'>(".$class.")</span> ";} 
     333                                        echo "<span title='".$blabla."'>".$label."</span> "; 
     334                                } else { // muss noch erfasst werden 
     335                                        echo $class." "; // SchlÃŒssel als Ersatz fÃŒr Bedeutung 
     336                                } 
     337                        } 
     338                        If ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?) 
     339                                echo ", ".$fldinfo."=".$info; 
     340                        } 
     341                        If ($zus != "") { 
     342                                echo "\n\t\t<br>"; 
     343                                if ($showkey) {echo "<span class='key'>(".$zus.")</span> ";} 
     344                                switch ($zus) { 
     345                                        case 2100: 
     346                                                echo "Außer Betrieb, stillgelegt, verlassen"; 
     347                                                break; 
     348                                        case 4000: 
     349                                                echo "Im Bau"; 
     350                                                break; 
     351                                        case 8000: 
     352                                                echo "Erweiterung, Neuansiedlung"; 
     353                                                break; 
     354                                        default: 
     355                                                echo "Zustand: ".$zus; 
     356                                                break; 
     357                                } 
     358                        } 
     359                        If ($nam != "") { 
     360                                echo "<br>Name: ".$nam; 
     361                        } 
     362                        If ($bez != "") { 
     363                                echo "<br>Bezeichnung: ".$bez; 
     364                        } 
     365                echo "</td>"; 
     366        echo "\n</tr>"; 
     367        $j++; 
     368} 
     369// ENDE  N U T Z U N G 
     370 
     371// Flaeche und Link auf GebÀude-Auswertung 
     372echo "\n<tr>"; 
     373        echo "\n\t<td class='ll'>Fl&auml;che:</td>"; // Sp. 1 
     374        echo "\n\t<td class='lr'><span class='flae'>".$flae."</span></td>"; // Sp. 2 
     375        echo "\n\t<td>"; // Sp. 3 
     376                echo "\n\t\t<p class='nwlink noprint'>"; // Gebaeude-Verschneidung 
     377                        echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     378                        if ($idanzeige) {echo "&amp;id=j";} 
     379                        if ($showkey)   {echo "&amp;id=j";} 
     380                        echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>"; 
     381                echo "\n\t\t</p>"; 
     382        echo "\n\t</td>"; 
     383echo "\n</tr>"; 
    141384 
    142385echo "\n</table>"; 
     
    159402                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>"; 
    160403                                } else {         
    161                                         echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer"; 
     404                                        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer "; 
    162405                                        echo "<img src='ico/EigentuemerGBzeile.ico' width='16' height='16' alt=''></a>"; 
    163406                                } 
     
    259502                                        linkgml($gkz, $gmlg, "Buchungsblatt"); 
    260503                                } 
    261                                 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
     504                                echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>"; 
    262505                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd; 
    263506                                                if ($idanzeige) {echo "&amp;id=j";} 
     
    268511                                                        echo "' title='Grundbuchnachweis'>"; 
    269512                                                }                                                
    270                                                 echo $blattartg." <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>"; 
     513                                                echo $blattartg." <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>"; 
     514                                        echo "</a>"; 
    271515                                echo "\n\t</p>"; 
    272516                        echo "\n</td>"; 
Note: See TracChangeset for help on using the changeset viewer.