Ignore:
Timestamp:
04/26/13 13:52:56 (9 years ago)
Author:
frank.jaeger
Message:

Mapbender-Navigation mit ALKIS-Daten komplett überarbeitet.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mapbender/http/nav/alkisnav_adr.php

    r276 r278  
    11<?php 
    22/* Version vom  
    3         2011-04-11 epsg in Link, transform nur wenn notwendig 
    4         2011-07-25 PostNAS 0.5/0.6 Versionen unterscheiden 
    5         2011-10-24 Nach Pos-Klick Highlight erneuern statt hideHighlight 
    6         2011-12-09 Sonderfall PostNAS 0.5 raus, 
    7         2012-12-03 A.E.: Ausgabe von Hausnr ohne Gebaeude 
    8         2013-01-15 F.J.: HsNr ohne GebÀude auf NRW/krz-Daten anpassen 
    9         2013-04-16 "import_request_variables" entfÀllt in PHP 5.4 
     3        2011-04-11      epsg in Link, transform nur wenn notwendig 
     4        2011-07-25      PostNAS 0.5/0.6 Versionen unterscheiden 
     5        2011-10-24      Nach Pos-Klick Highlight erneuern statt hideHighlight 
     6        2011-12-09      Sonderfall PostNAS 0.5 raus, 
     7        2012-12-03      A.E.: Ausgabe von Hausnr ohne Gebaeude 
     8        2013-01-15      F.J.: HsNr ohne GebÀude auf NRW/krz-Daten anpassen 
     9        2013-04-26      "import_request_variables" entfÀllt in PHP 5.4. 
     10                                        ZurÃŒck-Link, Titel der Transaktion anzeigen 
    1011 
    1112        ToDo: 
    12         -  auskommentierte Variante mit "subquery" entfernen 
    1313        -       Eingabe aus "Balken" von Buchauskunft "Lage" zulassen: Numerisch: Gem-Str-Haus-lfd 
    1414                Analog zur Zerlegung des FS-Kennz in _fls 
     
    2020$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password; 
    2121$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$$dbname.$dbvers.$gkz); 
    22 ?> 
     22echo <<<END 
    2323 
    2424<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     
    3131        <title>ALKIS-Suche Adressen</title> 
    3232        <link rel="stylesheet" type="text/css" href="alkisnav.css"> 
     33        <script type='text/javascript'> 
     34                function transtitle (trans) { // Titel der letzten Transaktion anzeigen 
     35                        document.getElementById('transaktiontitle').innerHTML = trans; 
     36                } 
     37        </script> 
    3338</head> 
    3439<body> 
    35 <?php 
     40<a title="zur&uuml;ck" href='javascript:history.back()'> 
     41        <img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" /> 
     42</a> 
     43<dfn class='title' id='transaktiontitle'></dfn> 
     44 
     45END; 
    3646 
    3747function suchStrName() { 
     
    92102        } 
    93103        if($cnt == 0) { 
    94                 echo "<p>Keine Stra&szlig;e.</p>"; 
     104                echo "<pclass='anz'>Keine Stra&szlig;e</p>"; 
    95105        } elseif($cnt == 1) { // Eindeutig 
    96106                $str_schl=$gkey; // dann gleich weiter 
    97107        } elseif($cnt >= $linelimit) { 
    98                 echo "<p>.. und weitere</p>";                    
    99         }        
     108                echo "<p class='anz'>".$cnt." Stra&szlig;en ... und weitere</p>";                        
     109        } elseif ($cnt > 1) { 
     110                echo "\n<p class='anz'>".$cnt." Stra&szlig;en</p>";      
     111        } 
    100112        return; 
    101113} 
     
    157169        } 
    158170        if($cnt == 0) { 
    159                 echo "\n<p>Keine Stra&szlig;e mit Schl&uuml;ssel ".$match."</p>"; 
     171                echo "\n<p class='anz'>Keine Stra&szlig;e mit Schl&uuml;ssel ".$match."</p>"; 
    160172        } elseif($cnt == 1) { // Eindeutig 
    161173                $str_schl=$gkey; // dann gleich weiter 
    162         } elseif($cnt >= $linelimit) { 
    163                 echo "\n<p>.. und weitere</p>";                  
    164         } else { 
    165                 echo "\n<p class='hilfe'>".$cnt." Stra&szlig;en</p>";    
     174        } elseif ($cnt >= $linelimit) { 
     175                echo "\n<p>".$cnt." Stra&szlig;en ... und weitere</p>";                  
     176        } elseif ($cnt > 1) { 
     177                echo "\n<p class='anz'>".$cnt." Stra&szlig;en</p>";      
    166178        }        
    167179        return; 
     
    170182function suchHausZurStr($showParent){ 
    171183        // Haeuser zu einer Strasse 
    172         global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $epsg, $gfilter, $hausnummernohnegebaeude, $debug; 
     184        global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $epsg, $gfilter, $debug; 
    173185        // Strasse zum Strassenschluessel 
    174186        $sql ="SELECT g.bezeichnung AS gemname, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage "; 
     
    216228                        if ($x > 0) { // Koord. bekommen? 
    217229                                echo "\n\t<a title='Positionieren 1:".$scalestr."' href='javascript:"; // mit Link 
     230                                                echo "transtitle(\"auf Stra&szlig;e positioniert\"); "; 
    218231                                                echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalestr."); "; 
    219232                                                echo "parent.parent.showHighlight(".$x.",".$y."); "; 
    220                                                 echo "document.location.href=\"".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$str_schl."\"' "; 
     233                                                //echo "document.location.href=\"".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$str_schl."\""; 
     234                                        echo "' "; // end href 
    221235                                        echo "\n\t\tonmouseover='parent.parent.showHighlight(" .$x. "," .$y. ")' "; 
    222236                                        echo "\n\t\tonmouseout='parent.parent.hideHighlight()'"; 
     
    252266/* Version mit // Subquery 
    253267Liefert Informationen ÃŒber GebÀude zur Hausnummer. LÀuft aber spÃŒrbar langsamer. 
    254  
    255268                $sql.="FROM ap_pto p JOIN alkis_beziehungen v ON p.gml_id = v.beziehung_von "; 
    256269                $sql.="JOIN ax_lagebezeichnungmithausnummer h ON v.beziehung_zu = h.gml_id "; 
     
    259272                $sql.="ON h.gml_id = subq.zu WHERE v.beziehungsart='dientZurDarstellungVon' AND p.art = 'HNR' "; 
    260273                $sql.="AND h.land= $1 AND h.regierungsbezirk= $2 AND h.kreis= $3 AND h.gemeinde= $4 AND h.lage= $5 "; 
    261                 $sql.="ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);"; 
    262 */ 
     274                $sql.="ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);"; */ 
     275 
    263276                // Version ohne Subquery 
    264277                $sql.="FROM ap_pto p JOIN alkis_beziehungen v ON p.gml_id = v.beziehung_von "; 
     
    292305                        //      echo "<a".$cls." href='"; 
    293306                                echo "<a href='"; 
    294                                         echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalehs."); "; 
     307                                        echo "javascript:"; 
     308                                        echo "transtitle(\"auf Haus positioniert\"); "; 
     309                                        echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalehs."); "; 
    295310                                        echo "parent.parent.showHighlight(".$x.",".$y.");' "; 
    296311                                echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
     
    308323                if($count > 0) {echo "\n</tr>";} 
    309324                echo "\n</table>"; 
    310                 echo "\n<p class='hilfe'>".$cnt." Hausnummern</p>"; 
     325                echo "\n<p class='anz'>".$cnt." Hausnummern</p>"; 
    311326        } else { 
    312                 echo "\n<p class='err'>Keine Stra&szlig;e.</p>"; 
     327                echo "\n<p class='anz'>Keine Stra&szlig;e</p>"; 
    313328        } 
    314329        return; 
     
    318333// =========== 
    319334if(isset($epsg)) { 
    320         if ($debug >= 2) {echo "\n<p>aktueller EPSG='".$epsg."'</p>";} // aus MB 
     335        #if ($debug >= 2) {echo "\n<p>aktueller EPSG='".$epsg."'</p>";} // aus MB 
    321336        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    322337} else { 
    323         if ($debug >= 1) {echo "\n<p class='err'>kein EPSG gesetzt</p>";}        
     338        #if ($debug >= 1) {echo "\n<p class='err'>kein EPSG gesetzt</p>";}       
    324339        $epsg=$gui_epsg; // aus Conf 
    325340} 
    326 if ($debug >= 2) { 
    327         echo "<p>Filter Gemeinde = ".$gemeinde."</p>"; 
    328 } 
     341#if ($debug >= 2) {echo "<p>Filter Gemeinde = ".$gemeinde."</p>";} 
    329342if ($gemeinde == "") { 
    330343        $gfilter = 0; // ungefiltert 
     
    335348} 
    336349if (isset($str_schl)) { // aus Link 
    337         if ($debug >= 2) {echo "\n<p>Link Strassenschluessel '".$str_schl."'</p>";} 
     350        $trans="Hausnummern zur Stra&szlig;e"; 
    338351        suchHausZurStr(true); 
    339352} elseif(isset($street)) { // Eingabe in Form 
    340         if (trim($street, "*,0..9") == "") { // Zahl mit Wildcard 
    341                 if ($debug >= 2) {echo "\n<p>Suche Key='".$street."'</p>";} 
    342                 suchStrKey(); // Suche nach Schluessel 
     353        if (trim($street, "*,0..9") == "") { // Zahl, ggf. mit Wildcard 
     354                $trans="Suche Stra&szlig;enschl&uuml;ssel \"".$street."\""; 
     355                suchStrKey(); 
    343356        } else { 
    344                 if ($debug >= 2) {echo "\n<p>Suche Name='".$street."'</p>";} 
    345                 suchStrName(); // Suche nach Name 
     357                $trans="Suche Stra&szlig;enname \"".$street."\""; 
     358                suchStrName(); 
    346359        } 
    347360        if(isset($str_schl)) { // Eindeutiges Ergebnis 
    348                 if ($debug >= 2) {echo "\n<p>weitere Suche Haus zu ='".$str_schl."'</p>";} 
     361                $trans="1 Stra&szlig;e gefunden, Hausnummern"; 
    349362                suchHausZurStr(false); 
    350363        } 
    351364} 
     365// Titel im Kopf anzeigen 
     366echo "\n<script type='text/javascript'>\n\ttranstitle('".$trans."')\n</script>"; 
     367 
    352368?> 
    353369 
Note: See TracChangeset for help on using the changeset viewer.