Ignore:
Timestamp:
07/26/11 11:54:55 (13 years ago)
Author:
frank.jaeger
Message:

Anpassung an PostNAS-Version 0.6:
Buchauskunft und Navigation: Formate des Feldes "lage" (Straßenschlüssel) werden gesteuert über einen neuen conf-Parameter $dbvers (05 oder 06).
Konverter-Scripte für PostNAS 0.6 in einem neuen Ordner.

File:
1 edited

Legend:

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

    r102 r105  
    66 
    77        Version: 
    8         30.09.2010  noprint 
    9         09.11.2010  Nutzung, ehem. php-Functions hier integriert 
    10         10.11.2010  Felder nutzung.zustand und nutzung.name 
    11         14.12.2010  Pfad zur Conf 
    12         17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
    13         04.01.2011  Frank JÀger: verkuerzte Nutzungsart-Zeilen mit Icon. Tabelle Gebiet/Lage/Nutzung 4spaltig. 
    14         05.01.2011  Korrektur der Fallunterscheidung "Funktion", auch "Vegetationsmerkmal", Title auf "Zustand". 
    15         26.01.2011  Space in leere td 
    16         01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    178        11.07.2011  Ersetzen $self durch $_SERVER['PHP_SELF']."?" 
     9        25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden 
     10        26.07.2011  debug        
     11         
    1812        ToDo: 
     13        - Nach Umstellung auf PostNAS 0.6 die Sonderbehandlung Version 0.5 entfernen  
    1914        - EntschlÃŒsseln "Bahnkategorie" bei Bahnverkehr, "OberflÀchenmaterial" bei Unland 
    2015          Dazu evtl. diese Felder ins Classfld verschieben (Meta-Tabellen!) 
    2116        - NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum 
    2217*/ 
    23 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); 
     18//ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); 
    2419session_start(); 
    2520$gkz=urldecode($_REQUEST["gkz"]); 
     
    6560$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    6661if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     62if ($debug > 1) {echo "<p class='err'>DB=".$dbname.", user=".$dbuser."</p>";} 
    6763 
    6864// F L U R S T U E C K 
     
    9086} else { 
    9187        echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>"; 
    92         //echo "<p class='err'>SQL=".$sql."</p>"; 
     88        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>";} 
    9389} 
    9490// Balken 
     
    186182$sql.="JOIN ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
    187183$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
    188 $sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
     184if ($dbvers=="05") { // 25.07.11 
     185        $sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
     186} else { // ab PostNAS 0.6 
     187        $sql.="AND l.lage = s.lage "; 
     188} 
    189189$sql.="WHERE v.beziehung_von= $1 "; // id FS"; 
    190190$sql.="AND v.beziehungsart='weistAuf' "; 
    191191$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 
    192  
    193192// Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage 
    194193// bei einem SekundÀrbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier: 
    195  
    196 //$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
    197 // Problem: ax_lagebezeichnungkatalogeintrag.lage  ist char, 
    198 //          ax_lagebezeichnungmithausnummer.lage   ist integer, 
    199  
    200 // cast() scheitert weil auch nicht numerische Inhalte 
    201 //$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) "; 
    202  
    203 // http://www.postgresql.org/docs/8.3/static/functions-formatting.html 
    204194 
    205195$v = array($gmlid); 
     
    223213                echo $sname."&nbsp;".$row["hausnummer"]."</td>"; 
    224214                echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    225                         echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage "; 
     215                        echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]; 
     216                        if ($showkey) {echo "&amp;showkey=j";} 
     217                        echo "'>Lage "; 
    226218                        echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>"; 
    227219                echo "\n\t\t</p>\n\t</td>"; 
     
    238230$sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu "; 
    239231$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
    240 //      $sql.="AND l.lage=s.lage "; 
    241 // hier beide .lage als Char(5) 
    242 //  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen 
    243 //  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen 
    244 $sql.="AND l.lage::text=trim(leading '0' from s.lage) "; 
    245 //      $sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte 
     232if ($dbvers=="05") { 
     233        $sql.="AND l.lage::text=trim(leading '0' from s.lage) "; 
     234} else { // ab PostNAS 0.6 
     235        $sql.="AND l.lage = s.lage "; 
     236} 
    246237$sql.="WHERE v.beziehung_von= $1 "; // id FS"; 
    247238$sql.="AND   v.beziehungsart='zeigtAuf';"; //ORDER? 
     
    262253                        echo "\n\t<td class='lr'>".$gewann."</td>"; 
    263254                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    264                                 echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>"; 
    265                                 echo "\n\t\t\tLage <img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''></a>"; 
     255                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
     256                                if ($showkey) {echo "&amp;showkey=j";}                           
     257                                echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''></a>"; 
    266258                        echo "\n\t\t</p>\n\t</td>"; 
    267259                echo "\n</tr>"; 
     
    278270                        echo $row["bezeichnung"]."</td>"; 
    279271                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    280                                 echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>"; 
    281                                 echo "\n\t\t\tLage <img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''>\n\t\t\t</a>"; 
     272                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
     273                                if ($showkey) {echo "&amp;showkey=j";}                           
     274                                echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''>\n\t\t\t</a>"; 
    282275                        echo "\n\t\t</p>\n\t</td>"; 
    283276                echo "\n</tr>"; 
     
    416409                        echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    417410                        if ($idanzeige) {echo "&amp;id=j";} 
    418                         if ($showkey)   {echo "&amp;id=j";} 
     411                        if ($showkey) {echo "&amp;showkey=j";} 
    419412                        echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>"; 
    420413                echo "\n\t\t</p>"; 
Note: See TracChangeset for help on using the changeset viewer.