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/alkisfkt.php

    r45 r53  
    99                07.09.2010  Schluessel anschaltbar 
    1010                15.09.2010  Function "buchungsart" durch JOIN ersetzt 
     11                09.11.2010  Functions, die nur einmal aufgerufen wurden, sequentiell in FS-Nachw. integriert 
    1112*/ 
    1213 
     
    109110} 
    110111 
    111 function fs_gebietszug($con, $gemeinde, $kreis, $bezirk, $showkey) { 
    112         // eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben 
    113         // Parameter = Schluesselwerte 
    114         // Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist? 
    115  
    116         echo "\n<tr>\n\t<td class='ll'><img src='ico/Gemeinde.ico' width='16' height='16' alt=''> Im Gebiet von:</td>"; 
    117          
    118         // G e m e i n d e 
    119         $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' AND gemeinde='".$gemeinde."' ";  
    120         $res=pg_query($con, $sql); 
    121         if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>"; 
    122         $row = pg_fetch_array($res); 
    123         $gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    124         echo "\n\t<td class='lr'>Gemeinde "; 
    125         if ($showkey) { 
    126                 echo "<span class='key'>(".$gemeinde.")</span> "; 
    127         } 
    128         echo $gnam."<br>"; 
    129  
    130         // K r e i s 
    131         $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' ";  
    132         $res=pg_query($con, $sql); 
    133         if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>"; 
    134         $row = pg_fetch_array($res); 
    135         $knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    136         echo "Kreis "; 
    137         if ($showkey) { 
    138                 echo "<span class='key'>(".$kreis.")</span> "; 
    139         }        
    140         echo $knam."<br>"; 
    141  
    142         // R e g - B e z 
    143         $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' ";  
    144         $res=pg_query($con, $sql); 
    145         if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>"; 
    146         $row = pg_fetch_array($res); 
    147         $bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    148         echo "Regierungsbezirk "; 
    149         if ($showkey) { 
    150                 echo "<span class='key'>(".$bezirk.")</span> "; 
    151         } 
    152         echo $bnam."</td>"; 
    153          
    154         // 3. Spalte fÃŒr NW-Link (in weiteren Tab-Zeilen) 
    155         echo "\n\t<td>&nbsp;</td>\n</tr>"; 
    156         return 0; 
    157 } 
    158  
    159 function fs_lage($con, $gmlid, $gkz, $showkey) { 
    160         // Tabellenzeilen mit Lage eines FS 
    161         // Parameter = ID des FS 
    162  
    163         // Lagebezeichnung Mit Hausnummer 
    164         //   ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer 
    165         //                  <gehoertZu< 
    166         $sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 
    167         $sql.="FROM  alkis_beziehungen v "; 
    168         $sql.="JOIN  ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
    169         $sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage "; 
    170         $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS"; 
    171         $sql.="AND   v.beziehungsart='weistAuf' "; 
    172         $sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 
    173  
    174         // Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage 
    175         // bei einem SekundÀrbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier: 
    176  
    177         //$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
    178         // Problem: ax_lagebezeichnungkatalogeintrag.lage  ist char, 
    179         //          ax_lagebezeichnungmithausnummer.lage   ist integer, 
    180  
    181         // cast() scheitert weil auch nicht numerische Inhalte 
    182         //$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) "; 
    183  
    184         // http://www.postgresql.org/docs/8.3/static/functions-formatting.html 
    185  
    186         $res=pg_query($con, $sql); 
    187         if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";} 
    188         $j=0; 
    189         while($row = pg_fetch_array($res)) { 
    190                 $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
    191                 //echo "<!-- Adresse -->";               
    192                 echo "\n<tr>\n\t"; 
    193                         if ($j == 0) {           
    194                                 echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>"; 
    195                         } else { 
    196                                 echo "<td>&nbsp;</td>"; 
    197                         } 
    198                         echo "\n\t<td class='lr'>"; 
    199                         if ($showkey) { 
    200                                 echo "<span class='key'>(".$row["lage"].")</span>&nbsp;"; 
    201                         } 
    202                         echo $sname."&nbsp;".$row["hausnummer"]."</td>"; 
    203                         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    204                                 echo "\n\t\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage "; 
    205                                 echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>"; 
    206                         echo "\n\t\t</p>\n\t</td>"; 
    207                 echo "\n</tr>"; 
    208                 $j++; 
    209         } 
    210         $z=$j; 
    211  
    212         // 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) 
    213         //   ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer 
    214         //                  <gehoertZu< 
    215         $sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung "; 
    216         $sql.="FROM alkis_beziehungen v "; 
    217         $sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu "; 
    218         $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
    219 //      $sql.="AND l.lage=s.lage "; 
    220         // hier beide .lage als Char(5) 
    221         //  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen 
    222         //  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen 
    223         $sql.="AND l.lage=trim(leading '0' from s.lage) "; 
    224 //      $sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte 
    225         $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS"; 
    226         $sql.="AND   v.beziehungsart='zeigtAuf';"; //ORDER? 
    227         $res=pg_query($con, $sql); 
    228         if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>"; 
    229         $j=0; 
    230         // Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!       
    231         while($row = pg_fetch_array($res)) { 
    232                 $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 
    233                 $skey=$row["lage"]; // Strassenschluessel 
    234                 $lgml=$row["gml_id"]; // key der Lage 
    235                 if (!$gewann == "") { 
    236                         echo "\n<tr>";           
    237                                 echo "\n\t<td class='ll'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>"; 
    238                                 echo "\n\t<td class='lr'>".$gewann."</td>"; 
    239                                 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    240                                         echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>"; 
    241                                         echo "\n\t\t\tLage <img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''></a>"; 
    242                                 echo "\n\t\t</p>\n\t</td>"; 
    243                         echo "\n</tr>";          
    244                 } 
    245                 // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link  
    246                 if ($skey > 0) { 
    247                         echo "\n<tr>";   
    248                                 echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Stra&szlig;e:</td>";                          
    249                                 echo "\n\t<td class='lr'>"; 
    250                                 if ($showkey) { 
    251                                         echo "<span class='key'>(".$skey.")</span>&nbsp;"; 
    252                                 } 
    253                                 echo $row["bezeichnung"]."</td>"; 
    254                                 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    255                                         echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>"; 
    256                                         echo "\n\t\t\tLage <img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''>\n\t\t\t</a>"; 
    257                                 echo "\n\t\t</p>\n\t</td>"; 
    258                         echo "\n</tr>"; 
    259                 }                
    260                 $j++; 
    261         } 
    262         $z=$z+$j; 
    263         return $z; // Anzahl Zeilen 
    264 } 
    265  
    266 function fs_nutz($con, $gmlid) { 
    267         // Tabellenzeilen (3 Sp.) mit tats. Nutzung zu einem FS ausgeben 
    268         // Parameter = ID des FS 
    269         echo "\n<tr>\n\t<td class='ll'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzungsarten:</td>"; 
    270         echo "\n\t<td class='ph'>(Programmteil ist noch in Arbeit)</td>"; 
    271         echo "\n\t<td>&nbsp;</td>\n</tr>"; 
    272 } 
    273  
    274112function bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus, $showkey) { 
    275113/*      Bestandsnachweis - Flurstuecksdaten 
     
    296134                $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT);     
    297135        } 
    298  
    299136        $altlfdnr=""; 
    300137        $j=0; 
Note: See TracChangeset for help on using the changeset viewer.