Ignore:
Timestamp:
09/10/14 12:08:18 (10 years ago)
Author:
frank.jaeger
Message:

Umstellung von PostNAS 0.7 auf PostNAS 0.8, ohne Tabelle "alkis_beziehungen".

File:
1 edited

Legend:

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

    r315 r330  
    88        2013-04-08 deprecated "import_request_variables" ersetzt 
    99    2014-01-30 pg_free_result 
     10        2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     11        2014-09-10 Bei Relationen den Timestamp abschneiden 
    1012*/ 
    1113session_start(); 
     
    3941 
    4042// Flurstueck 
    41 $sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung "; 
    42 $sqlf.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    43 $sqlf.="WHERE f.gml_id= $1;"; 
     43$sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung  
     44FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
     45WHERE f.gml_id= $1;"; 
    4446$v=array($gmlid); 
    4547$resf=pg_prepare("", $sqlf); 
     
    9395        echo "&amp;eig=n' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a>"; 
    9496echo "\n\t</p>"; 
    95 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); } 
     97if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); } 
    9698echo "\n\t</td>\n</tr>\n</table>"; 
    9799// Ende Seitenkopf 
     
    107109$sqlg.="h.bauweise_beschreibung, u.bezeichner, g.zustand, z.bezeichner AS bzustand, "; 
    108110 
    109 // Gebaeudeflaeche komplett auch ausserhalb des FS 
     111// GEB-Flaeche komplett auch die Fl. ausserhalb des FS 
    110112$sqlg.="round(area(g.wkb_geometry)::numeric,2) AS gebflae, "; 
    111113 
     
    120122 
    121123// Entschluesseln 
    122 $sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id "; 
    123 $sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert "; 
    124 $sqlg.="LEFT JOIN ax_gebaeude_zustand z ON g.zustand = z.wert "; 
     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 "; 
    125127$sqlg.="WHERE f.gml_id= $1 "; // ID des akt. FS 
    126128 
    127 // "within" liefert nur Gebaeude, die komplett im Flurstueck liegen 
    128 // "intersects" liefert ueberlappende Flaechen 
     129// "within" -> nur Geb., die komplett im FS liegen 
     130// "intersects" -> ueberlappende Fl. 
    129131$sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true "; 
    130132 
    131 // RLP: keine Relationen zu Nebengebaeuden: 
     133// RLP: keine Relationen zu NebengebÀuden: 
    132134// auf Qualifizierung verzichten, sonst werden NebengebÀude nicht angezeigt 
    133135        //$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') "; 
     
    195197 
    196198                        echo "\n\t<td class='nwlink noprint'>"; 
    197  
    198199                        // 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer, alle in ein TD zu EINEM GebÀude 
    199                         // HAUPTgebÀude 
    200                         $sqll ="SELECT 'm' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer "; 
    201                         $sqll.="FROM alkis_beziehungen v ";  
    202                         $sqll.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; 
     200 
     201                        // HAUPTgebÀude  Geb >zeigtAuf> lage (mehrere) 
     202                        $sqll ="SELECT 'm' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer "; 
     203                        $sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(g.zeigtauf) "; 
    203204                        $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
    204                         $sqll.="WHERE v.beziehungsart = 'zeigtAuf' AND v.beziehung_von = $1 "; 
    205                         $sqll.="UNION "; 
    206                         // oder NEBENgebÀude 
    207                         $sqll.="SELECT 'p' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer "; 
    208                         $sqll.="FROM alkis_beziehungen v ";  
    209                         $sqll.="JOIN ax_lagebezeichnungmitpseudonummer l ON v.beziehung_zu=l.gml_id "; 
     205                        $sqll.="WHERE g.gml_id= $1 "; 
     206 
     207                        // oder NEBENgebÀude  Geb >hat> Pseudo 
     208                        $sqll.="UNION SELECT 'p' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer "; 
     209                        $sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON substring(l.gml_id,1,16)=g.hat "; 
    210210                        $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
    211                         $sqll.="WHERE v.beziehungsart = 'hat' AND v.beziehung_von = $1 "; // ID des Hauses" 
     211                        $sqll.="WHERE g.gml_id= $1 "; // ID des Hauses" 
    212212                 
    213                         $sqll.="ORDER BY bezeichnung, hausnummer "; 
    214                  
     213                        $sqll.="ORDER BY bezeichnung, hausnummer;"; 
     214 
    215215                        $v = array($ggml); 
    216216                        $resl = pg_prepare("", $sqll); 
     
    223223                                $ltyp=$rowl["ltyp"]; // Lagezeilen-Typ 
    224224                                $skey=$rowl["lage"]; // Str.-Schluessel 
    225                                 $snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); // -Name 
     225                                $snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); //-Name 
    226226                                $hsnr=$rowl["hausnummer"]; 
    227227                                $hlfd=$rowl["laufendenummer"]; 
    228                                 $gmllag=$rowl["beziehung_zu"]; 
     228                                $gmllag=$rowl["lgml"]; 
    229229                                if ($ltyp == "p") { 
    230230                                        $lagetitl="NebengebÀude - Pseudonummer"; 
    231231                                        $lagetxt="Nebengeb&auml;ude Nr. ".$hlfd; 
    232232                                } else { 
    233                                         $lagetitl="HauptgabÀude - Hausnummer"; 
     233                                        $lagetitl="HauptgebÀude - Hausnummer"; 
    234234                                        $lagetxt=$snam."&nbsp;".$hsnr; 
    235235                                } 
     
    240240                                        if ($showkey)   {echo "&amp;showkey=j";} 
    241241                                echo "'>".$lagetxt."</a>"; 
    242                                 if ($idanzeige) {linkgml($gkz, $gmllag, "Lage"); } 
     242                                if ($idanzeige) {linkgml($gkz, $gmllag, "Lage", ""); } 
    243243                                echo "<br>"; 
    244                         } // Ende Loop Lagezeilen m.H. 
     244                        } // Ende Loop Lage m.H. 
    245245            pg_free_result($resl); 
    246246                        echo "\n\t</td>"; 
     
    255255                echo "\n</tr>"; 
    256256        } 
    257 // Footer 
     257        // Footer 
    258258        if ($gebnr == 0) { 
    259259                echo "\n</table>"; 
Note: See TracChangeset for help on using the changeset viewer.