Ignore:
Timestamp:
04/12/11 09:58:26 (11 years ago)
Author:
frank.jaeger
Message:

ALKIS-Navigation fuer Mapbender erweitert: EPSG aus Mapframe entnehmen, Liste der Gemeinden oder Amtsgerichte bei leerer Eingabe

File:
1 edited

Legend:

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

    r85 r86  
    44        25.03.2011: parameter &gemeinde= auch als Liste moeglich 
    55        z.B. Wasserverband zustaendig fuer: &gemeinde=12,20,24,28,32 
     6        11.04.2011 epsg in Link, transform nur wenn notwendig 
    67*/ 
    78import_request_variables("PG"); 
     
    2627function suchStrName() { 
    2728        // Strassen nach Name(-nsanfang) 
    28         global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $gfilter, $debug; 
     29        global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug; 
    2930        $linelimit=120;  // -> in die Conf? 
    3031        preg_match("/^(\D+)(\d*)(\D*)/",$street,$matches); # 4 matches name/nr/zusatz echo "match: ".$matches[1].",".$matches[2].",".$matches[3]; 
     
    4041        $sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde "; 
    4142        $sql.="WHERE k.bezeichnung ILIKE $1 "; 
    42   
    43 //      if($gemeinde > 0) { // Filter Gemeinde? 
    44 //              $sql.="AND k.gemeinde=".$gemeinde." "; 
    45 //      } 
    46  
    4743        switch ($gfilter) { 
    4844                case 1: // Einzelwert 
     
    5551                        break; 
    5652        } 
    57  
    5853        $sql.="ORDER BY k.bezeichnung, g.bezeichnung, k.lage LIMIT $2 ;"; 
    5954        $v=array($match,$linelimit); 
     
    6964                echo "\n\t<div class='stl' title='Stra&szlig;enschl&uuml;ssel ".$skey."'>"; 
    7065                        if (trim($skey, "0..9") == "") { // Integer 
    71                                 echo "<a class='stl' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;str_schl=".$gkey."'>".$sname."</a>"; 
     66                                echo "<a class='stl' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$gkey."'>".$sname."</a>"; 
    7267                        } else { // Klassifizierung? 
    7368                                echo $sname; // nicht brauchbar fuer ax_lagebezeichnungmithausnummer.lage (Integer) 
    74                         } 
    75                         //if ($gemeinde == "") {echo " in ".$gemname;} 
    76                          
     69                        }        
    7770                        switch ($gfilter) { 
    7871                                case 0: // Kein Filter 
     
    8578                                        break; 
    8679                        }                        
    87                          
    8880                echo "</div>"; 
    8981                $cnt++; 
     
    10193function suchStrKey() { 
    10294        // Strassen nach Strassen-Schluessel 
    103         global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $gfilter, $debug; 
     95        global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug; 
    10496        $linelimit=50; 
    10597        if(preg_match("/\*/",$street)) { 
     
    114106        $sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde "; 
    115107        $sql.="WHERE k.lage LIKE $1 "; 
    116  
    117 //      if($gemeinde > 0) { // Filter Gemeinde? 
    118 //              $sql.="AND k.gemeinde=".$gemeinde." "; 
    119 //      } 
    120108 
    121109        switch ($gfilter) { 
     
    142130                $skey=$row["lage"]; 
    143131                echo "\n\t<div class='stl' title='Stra&szlig;enschl&uuml;ssel ".$skey."'>"; 
    144                         echo $skey." <a class='st' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;str_schl=".$gkey."' title='".$gemname."'>".$sname; 
     132                        echo $skey." <a class='st' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$gkey."' title='".$gemname."'>".$sname; 
    145133                        echo "</a>"; 
    146  
    147 //                      if ($gemeinde == "") {echo " in ".$gemname;} 
    148134 
    149135                        switch ($gfilter) { 
     
    175161function suchHausZurStr($showParent){ 
    176162        // Haeuser zu einer Strasse 
    177         global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $gfilter, $debug; 
     163        global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $epsg, $gfilter, $debug; 
    178164        // Strasse zum Strassenschluessel 
    179165        $sql ="SELECT g.bezeichnung AS gemname, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage "; 
     
    198184                        // ax_Flurstueck  >zeigtAuf>  ax_LagebezeichnungOhneHausnummer 
    199185                        $sqlko ="SELECT ";               
    200                         $sqlko.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
    201                         $sqlko.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y "; 
     186 
     187                        if($epsg == "25832") { // Transform nicht notwendig 
     188                                $sqlko.="x(st_Centroid(f.wkb_geometry)) AS x, "; 
     189                                $sqlko.="y(st_Centroid(f.wkb_geometry)) AS y "; 
     190                        } else {   
     191                                $sqlko.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
     192                                $sqlko.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";                         
     193                        } 
    202194                        $sqlko.="FROM ax_lagebezeichnungohnehausnummer o "; 
    203195                        $sqlko.="JOIN alkis_beziehungen v ON o.gml_id=v.beziehung_zu ";  
     
    222214                                        echo "javascript:parent.parent.hideHighlight();"; 
    223215                                        echo "\n\t\tparent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalestr.");"; 
    224                                         echo "\n\t\tdocument.location.href=\"".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;str_schl=".$str_schl."\"' "; 
     216                                        echo "\n\t\tdocument.location.href=\"".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$str_schl."\"' "; 
    225217                                        echo "\n\t\tonmouseover='parent.parent.showHighlight(" .$x. "," .$y. ")' "; 
    226218                                        echo "\n\t\tonmouseout='parent.parent.hideHighlight()'"; 
     
    230222                        } 
    231223 
    232 //                      if ($gemeinde == "") {echo " in ".$gemname;} 
    233                          
    234224                        switch ($gfilter) { 
    235225                                case 0: // Kein Filter 
     
    242232                                        break; 
    243233                        }                        
    244                          
    245234                        echo "\n</div>"; 
    246235                } 
     
    248237                // Haeuser zum Strassenschluessel 
    249238                $sql ="SELECT replace (h.hausnummer, ' ','') AS hsnr, "; 
    250                 $sql.="x(st_transform(st_Centroid(g.wkb_geometry), ".$epsg.")) AS x, "; 
    251                 $sql.="y(st_transform(st_Centroid(g.wkb_geometry), ".$epsg.")) AS y "; 
     239                 
     240                if($epsg == "25832") { // Transform nicht notwendig 
     241                        $sql.="x(st_Centroid(g.wkb_geometry)) AS x, "; 
     242                        $sql.="y(st_Centroid(g.wkb_geometry)) AS y ";            
     243                } 
     244                else {   
     245                        $sql.="x(st_transform(st_Centroid(g.wkb_geometry), ".$epsg.")) AS x, "; 
     246                        $sql.="y(st_transform(st_Centroid(g.wkb_geometry), ".$epsg.")) AS y ";           
     247                }                
    252248                $sql.="FROM ax_lagebezeichnungmithausnummer h "; 
    253249                $sql.="JOIN alkis_beziehungen v ON h.gml_id=v.beziehung_zu "; 
     
    297293if(isset($epsg)) { 
    298294        if ($debug >= 2) {echo "\n<p>aktueller EPSG='".$epsg."'</p>";} // aus MB 
    299         if (substr($epsg, 0, 5) == "EPSG:") {$epsg=substr($epsg, 5);} 
     295        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    300296} else { 
    301         if ($debug >= 2) {echo "\n<p class='err'>kein EPSG gesetzt</p>";}        
     297        if ($debug >= 1) {echo "\n<p class='err'>kein EPSG gesetzt</p>";}        
    302298        $epsg=$gui_epsg; // aus Conf 
    303299} 
     
    313309} 
    314310if (isset($str_schl)) { // aus Link 
    315         if ($debug >= 2) {echo "\n<p>Link Strassenschluesel '".$str_schl."'</p>";} 
     311        if ($debug >= 2) {echo "\n<p>Link Strassenschluessel '".$str_schl."'</p>";} 
    316312        suchHausZurStr(true); 
    317313} elseif(isset($street)) { // Eingabe in Form 
Note: See TracChangeset for help on using the changeset viewer.