Ignore:
Timestamp:
01/25/11 18:54:19 (13 years ago)
Author:
frank.jaeger
Message:

Strassenname zur Hausnummer im Gebaeudenachweis

File:
1 edited

Legend:

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

    r64 r75  
    99        14.12.2010  Pfad zur Conf 
    1010        17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
     11        25.01.2011  F.J.: Strassennamen zur Hausnummer 
     12                                        https://trac.wheregroup.com/PostNAS/ticket/6 
     13        ToDo: lfd.Nr. der NebengebÀude alternativ zur Hausnummer anzeigen. 
     14                Dazu aber Join auf ax_lagebezeichnungmitpseudonummer notwendig. 
    1115*/ 
    1216ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); 
     
    126130// G e b a e u d e 
    127131$sqlg ="SELECT g.gml_id, g.name, g.description, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, "; 
    128 $sqlg.=" h.bauweise_beschreibung, u.bezeichner, v.beziehungsart, v.beziehung_zu, l.hausnummer, "; 
     132$sqlg.="h.bauweise_beschreibung, u.bezeichner, v.beziehungsart, v.beziehung_zu, s.lage, s.bezeichnung, l.hausnummer, "; 
    129133 
    130134// Gebaeudeflaeche komplett auch ausserhalb des FS 
     
    144148$sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert "; 
    145149 
    146 // Beziehungen verfolgen (holt die Hausnummer) 
     150// Beziehungen verfolgen (holt die Hausnummer Hauptgeb.) 
    147151$sqlg.="LEFT JOIN alkis_beziehungen v ON g.gml_id=v.beziehung_von ";  
    148152$sqlg.="LEFT JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; 
    149  
    150 // auch die Nebengebaeude-Pseudo-Nummern suchen? 
    151 // $sqlg.="LEFT JOIN ax_lagebezeichnungmitpseudonummer p ON v.beziehung_zu=p.gml_id "; 
     153// Straßen-Name 
     154$sqlg.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
     155$sqlg.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
     156 
     157// Alternativ zur Hauptgebaeude-Hausnummer auch die Nebengebaeude-Pseudo-Nummern suchen? 
     158// $sqlg.="LEFT JOIN ax_lagebezeichnungmitpseudonummer p ON ... "; 
     159// oder in Loop: Wenn HsNr leer ist, eine kurze Abfrage auf NebengebÀude-Nr. 
    152160 
    153161// ID des aktuellen FS 
     
    165173 
    166174$sqlg.="ORDER BY schnittflae DESC;"; 
    167  
    168 // Problem: HsNr ist linksbuedig Char: 
    169 //$sqlg.="ORDER BY hausnummer, flaeche DESC;";   
    170  
     175  
    171176// ax_gebaeude  (zeigtAuf) ax_LagebezeichnungMitHausnummer    (HauptgebÀude) 
    172177// ax_gebaeude  (hat)      ax_LagebezeichnungMitPseudonummer  (NebengebÀude) 
     
    199204                $gebflsum = $gebflsum + $rowg["schnittflae"]; 
    200205                echo "\n<tr>"; 
    201                         echo "\n\t<td>".$rowg["hausnummer"]."&nbsp;".$rowg["name"]; 
     206                        echo "\n\t<td>"; 
     207                                // Hausnummer und Strassenname oder Gebaeudename                                 
     208                                if ($showkey) { 
     209                                        echo "<span class='key'>(".$rowg["lage"].")</span>&nbsp;"; 
     210                                } 
     211                                echo htmlentities($rowg["bezeichnung"], ENT_QUOTES, "UTF-8")."&nbsp;"; // Str.-Name 
     212                                echo $rowg["hausnummer"]."&nbsp;".$rowg["name"]; 
    202213                                if ($idanzeige) { 
    203214                                        linkgml($gkz, $rowg["gml_id"], "Geb&auml;ude"); 
    204215                                } 
     216                                // +++ Wenn HsNr leer ist: hier eine Abfrage auf NebengebÀude-Nr. 
    205217                        echo "</td>"; 
    206218 
Note: See TracChangeset for help on using the changeset viewer.