Changeset 105 for trunk/var


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.

Location:
trunk/var/www/info/alkis
Files:
7 edited

Legend:

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

    r60 r105  
    66        Version: 
    77        14.12.2010 zentrale Anpassung des Pfades 
     8        25.07.2011 PostNAS 0.5/0.6 Versionen unterscheiden 
    89*/ 
    910# relativ: 
     
    1213# absolut: 
    1314#  Hier: Entwicklungs-Version 
    14 require_once("/data/conf/alkis_entw_conf.php"); 
     15require_once("/data/conf/alkis_www_conf.php"); 
     16$dbname = $dbpre.$dbvers.$gkz;  // Prefix + Konverter-Version + Mandant 
    1517?> 
  • trunk/var/www/info/alkis/alkisausk.php

    r78 r105  
    1818                                        https://trac.wheregroup.com/PostNAS/ticket/6 
    1919        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
     20        25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden 
    2021*/ 
    2122ini_set('error_reporting', 'E_ALL'); 
     
    142143$sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
    143144$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
    144 $sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
     145if ($dbvers=="05") { 
     146        $sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
     147} else { // ab PostNAS 0.6 
     148        $sql.="AND l.lage = s.lage "; 
     149} 
    145150$sql.="WHERE v.beziehung_von= $1 "; // id FS"; 
    146151$sql.="AND v.beziehungsart='weistAuf' "; 
  • 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>"; 
  • trunk/var/www/info/alkis/alkisgebaeudenw.php

    r81 r105  
    44 
    55        Version: 
    6         15.09.2010  Function "buchungsart" durch JOIN ersetzt 
    7         21.09.2010  vergessenen Parameter &style und Kommentar entfernt 
    8         01.10.2010  Geschoss-Anzahl 
    9         14.12.2010  Pfad zur Conf 
    10         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         26.01.2011  Space in leere td 
    14  
    15         01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    16         07.02.2011  
     6        07.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
     7        25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden      
     8         
    179        ToDo: lfd.Nr. der NebengebÀude alternativ zur Hausnummer anzeigen. 
    1810                Dazu aber Join auf ax_lagebezeichnungmitpseudonummer notwendig. 
     
    10597                echo "\n\t<tr>"; 
    10698                        echo "\n\t\t<td title='Gemarkung'>"; 
    107                         if  ($shaowkey) { 
     99                        if  ($showkey) { 
    108100                                echo "<span class='key'>".$gmkgnr."</span><br>"; 
    109101                        } 
     
    157149// Straßen-Name 
    158150$sqlg.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
    159 $sqlg.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
    160  
     151if ($dbvers=="05") { 
     152        $sqlg.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
     153} else { // ab PostNAS 06. 
     154        $sqlg.="AND l.lage=s.lage "; 
     155} 
    161156// Alternativ zur Hauptgebaeude-Hausnummer auch die Nebengebaeude-Pseudo-Nummern suchen? 
    162157// $sqlg.="LEFT JOIN ax_lagebezeichnungmitpseudonummer p ON ... "; 
  • trunk/var/www/info/alkis/alkisinlayausk.php

    r78 r105  
    1212 
    1313        Version: 
    14         11.10.2010  Umbau alkisausk zu inlay-Version 
    15         12.10.2010  korrekturen 
    16         14.12.2010  Pfad zur Conf 
    17         17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
    18         25.01.2011  F. JÀger: Adressen (Lage mit HsNr) zum FS anzeigen  
    19                                         https://trac.wheregroup.com/PostNAS/ticket/6 
    2014        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
     15        25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden 
    2116 
    2217        ToDo:  Link im neuen Fenster erzwingen (Javascript?), statt _blank = tab 
     
    112107$sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
    113108$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
    114 $sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
     109if ($dbvers=="05") { 
     110        $sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
     111} else { // ab PostNAS 0.6 
     112        $sql.="AND l.lage=s.lage "; 
     113} 
    115114$sql.="WHERE v.beziehung_von= $1 "; // id FS"; 
    116115$sql.="AND v.beziehungsart='weistAuf' "; 
  • trunk/var/www/info/alkis/alkisinlaybaurecht.php

    r64 r105  
    44 
    55        Version: 
    6         21.09.2010  Neu 
    7         22.09.2010  Feintuning, sql-Limit 
    8         11.10.2010  simplify Geometrie: Schwellwert Verschneidung Flaeche>0 anpassen 
    9         14.12.2010  Pfad zur Conf 
    106        17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
     7        26.07.2011  debug        
    118*/ 
    129ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); 
     
    3734$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    3835if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     36if ($debug > 1) {echo "<p class='err'>DB=".$dbname.", user=".$dbuser."</p>";} 
    3937 
    4038// wie View "baurecht" 
     
    4543$sql.="LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON r.artderfestlegung = a.wert "; 
    4644$sql.="LEFT JOIN ax_dienststelle d ON r.land = d.land AND r.stelle = d.stelle "; 
    47 $sql.="WHERE r.gml_id= $1;"; 
     45$sql.="WHERE r.gml_id= $1 ;"; 
    4846 
    4947$v = array($gmlid); 
     
    5250 
    5351if (!$res) { 
    54         echo "\n<p class='err'>Fehler bei Baurecht:<br>"; 
    55         echo "\n<br>SQL=<br>\n".$sql; 
    56         echo "\n</p>\n"; 
     52        echo "\n<p class='err'>Fehler bei Baurecht.</p>\n"; 
     53        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
    5754} 
    5855echo "\n<h2><img src='ico/Gericht.ico' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>\n"; 
  • trunk/var/www/info/alkis/alkislage.php

    r102 r105  
    1313        07.02.2011  JOIN ax_gemeinde auch ueber regierungsbezirk 
    1414        11.07.2011  Ersetzen $self durch $_SERVER['PHP_SELF']."?" 
     15        25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden 
    1516        ToDo: Entschluesseln Kreis usw. 
    1617*/ 
    17 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); 
     18//ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); 
    1819session_start(); 
    1920$gkz=urldecode($_REQUEST["gkz"]); 
    2021require_once("alkis_conf_location.php"); 
    21 if ($auth == "mapbender") { 
    22         // Bindung an Mapbender-Authentifizierung 
     22if ($auth == "mapbender") { // Bindung an Mapbender-Authentifizierung 
    2323        require_once($mapbender); 
    2424} 
     
    9292$sql.="LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis "; 
    9393$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s "; 
    94 // Besonderheit: unterschiedliche Feldformate und Fuellungen!!! 
    95 switch ($ltyp) { 
    96         case "o": //"Ohne HsNr" 
    97                 // hier beide .lage als Char(5) 
    98                 //  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen 
    99                 //  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen 
    100                 $sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=trim(leading '0' from s.lage) "; 
    101         break; 
    102         default: // "Mit HsNr" + "mit PseudoNr" 
    103                 // ax_LagebezeichnungKatalogeintrag.lage   ist char, 
    104                 // ax_LagebezeichnungMitHausnummer.lage    ist integer, 
    105                 // ax_lagebezeichnungMitPseudonummer.lage  ist integer, 
    106                 $sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage "; 
    107         break; 
     94 
     95if ($dbvers == "05") { // bis PostNAS 0.5 
     96        // Besonderheit: unterschiedliche Feldformate und Fuellungen!!! 
     97        // +++ Nach vollstaendiger Umstellung diesen Programmteil entfernen  
     98        switch ($ltyp) { 
     99                case "o": //"Ohne HsNr" 
     100                        // hier beide .lage als Char(5) 
     101                        //  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen 
     102                        //  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen 
     103                        $sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=trim(leading '0' from s.lage) "; 
     104                break; 
     105                default: // "Mit HsNr" + "mit PseudoNr" 
     106                        // ax_LagebezeichnungKatalogeintrag.lage   ist char, 
     107                        // ax_LagebezeichnungMitHausnummer.lage    ist integer, 
     108                        // ax_lagebezeichnungMitPseudonummer.lage  ist integer, 
     109                        $sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage "; 
     110                break; 
     111        } 
     112} else { // ab PostNAS 0.6 char(5) mit fuehr.Nullen 
     113        $sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
    108114} 
    109115$sql.="WHERE l.gml_id= $1;"; 
Note: See TracChangeset for help on using the changeset viewer.