Changeset 86 for trunk/data


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

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

Location:
trunk/data/mapbender
Files:
1 added
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/mapbender/conf/alkisnav_conf.php

    r66 r86  
    2222$gui_epsg=31467; 
    2323 
     24# Filter: 
     25# Liste der relevanten Amtsgerichts-Nummern aus ax_dienststelle.stelle 
     26# Form: WHERE IN () 
     27# Bei leerer Eingabe in Tab 'Grundb.' 
     28$ag_liste = "'2491','2408'"; 
     29 
    2430# Entwicklungsumgebung 
    2531$debug=0; // 0=Produktion, 1=mit Fehlermeldungen, 2=mit Informationen, 3=mit SQL 
  • trunk/data/mapbender/http/nav/alkisnav.css

    r68 r86  
    11/* Style fuer ALKIS-Navigation  
    2         Version 2011-01-13 
     2        Version 2011-04-11 
    33*/ 
    44body,p,a,.textfield,.sbutton    {font-family: Verdana, Arial, Helvetica, sans-serif;} 
     
    1717div.back        {font-size: 10px; color: gray; border-bottom: 1px dotted gray;} 
    1818div.nam         {color: maroon;} /* Name */ 
    19 div.gk          {color: black;  margin-left:  0px; margin-top: 6px;} /* Gemarkung o. GB-Bezirk*/ 
    20 div.fl          {color: olive;  margin-left:  9px; margin-top: 4px;} /* Flur */ 
    21 div.gb          {color: green;  margin-left:  6px;} /* Grundbuch */ 
    22 div.gs          {color: olive;  margin-left: 12px; margin-top: 2px;} /* Grundstueck, BVNR */ 
    23 div.fs          {color: navy;   margin-left: 18px; margin-top: 0px;} /* Flurstueck */ 
     19div.ga          {color: fuchsia;        margin-left:  0px; margin-top: 6px;} /* GB-Amtsgericht */ 
     20div.gm          {color: green;          margin-left:  0px; margin-top: 6px;} /* Gemeinde */ 
     21div.gk          {color: black;          margin-left:  5px; margin-top: 6px;} /* Gemarkung o. GB-Bezirk*/ 
     22div.fl          {color: olive;          margin-left: 12px; margin-top: 4px;} /* Flur */ 
     23div.gb          {color: green;          margin-left: 10px; margin-top: 3px;} /* Grundbuch */ 
     24div.gs          {color: olive;          margin-left: 15px; margin-top: 2px;} /* Grundstueck, BVNR */ 
     25div.fs          {color: navy;           margin-left: 20px; margin-top: 0px;} /* Flurstueck */ 
     26 
    2427div.stu         {color: maroon; font-size: 13px;} /* Strasse - Ueberschrift */ 
    2528div.stl         {color: maroon; font-size: 11px; margin-top: 3px;} /* Strasse - Liste*/ 
  • trunk/data/mapbender/http/nav/alkisnav_adr.htm

    r66 r86  
    1919                var gem = "0"; 
    2020                if(arr[0] == "gemeinde") {gem = arr[1];} 
    21                 // aktueller EPSG-Code der GUI  ++ funktioniert noch nicht ++ 
    22                 var ind = parent.parent.parent.getMapObjIndexByName("mapframe1"); 
    23                 epsg = parent.parent.parent.mb_mapObj[ind].epsg; 
     21                // aktueller EPSG-Code 
     22                function sendGuiEpsg () { 
     23                        var ind = parent.parent.getMapObjIndexByName("mapframe1"); 
     24                        var epsg = parent.parent.mb_mapObj[ind].getSRS(); 
     25                        document.forms[0].epsg.value = epsg; 
     26                } 
     27                function validate(){ 
     28                        sendGuiEpsg(); 
     29                        document.forms[0].gkz.value = gkz; 
     30                        document.forms[0].gemeinde.value = gem; 
     31                } 
    2432        </script> 
    2533</head> 
    26 <body> 
     34<body onload="javascript:validate();"> 
    2735 
    2836<div id='tabs'> 
     
    3846 
    3947<form class='nav' name='AdrGazetteerFrame' onsubmit='return validate()' target='AdrResultFrame' action='alkisnav_adr.php'> 
    40 <script type="text/javascript" language="JavaScript"> 
    41                 document.writeln("<input name='gkz' type='hidden' value='" + gkz + "'>"); 
    42                 document.writeln("<input name='gemeinde' type='hidden' value='" + gem + "'>"); 
    43                 document.writeln("<input name='epsg' type='hidden' value='" + epsg + "'>"); 
    44 </script> 
    45 <input class='textfield' name='street' type='text' size='22' title='Stra&szlig;enname (Anfang)'> 
    46 <input class='sbutton' type='submit' value='ok'> 
    47 <br> 
    48 <span class="letter" onclick="document.forms[0].street.value='A'; document.forms[0].submit(); document.forms[0].street.value='';">A</span> 
    49 <span class="letter" onclick="document.forms[0].street.value='B'; document.forms[0].submit(); document.forms[0].street.value='';">B</span> 
    50 <span class="letter" onclick="document.forms[0].street.value='C'; document.forms[0].submit(); document.forms[0].street.value='';">C</span> 
    51 <span class="letter" onclick="document.forms[0].street.value='D'; document.forms[0].submit(); document.forms[0].street.value='';">D</span> 
    52 <span class="letter" onclick="document.forms[0].street.value='E'; document.forms[0].submit(); document.forms[0].street.value='';">E</span> 
    53 <span class="letter" onclick="document.forms[0].street.value='F'; document.forms[0].submit(); document.forms[0].street.value='';">F</span> 
    54 <span class="letter" onclick="document.forms[0].street.value='G'; document.forms[0].submit(); document.forms[0].street.value='';">G</span> 
    55 <span class="letter" onclick="document.forms[0].street.value='H'; document.forms[0].submit(); document.forms[0].street.value='';">H</span> 
    56 <span class="letter" onclick="document.forms[0].street.value='I'; document.forms[0].submit(); document.forms[0].street.value='';">I</span> 
    57 <span class="letter" onclick="document.forms[0].street.value='J'; document.forms[0].submit(); document.forms[0].street.value='';">J</span> 
    58 <span class="letter" onclick="document.forms[0].street.value='K'; document.forms[0].submit(); document.forms[0].street.value='';">K</span> 
    59 <span class="letter" onclick="document.forms[0].street.value='L'; document.forms[0].submit(); document.forms[0].street.value='';">L</span> 
    60 <span class="letter" onclick="document.forms[0].street.value='M'; document.forms[0].submit(); document.forms[0].street.value='';">M</span> 
    61 <span class="letter" onclick="document.forms[0].street.value='N'; document.forms[0].submit(); document.forms[0].street.value='';">N</span> 
    62 <br> 
    63 <span class="letter" onclick="document.forms[0].street.value='O'; document.forms[0].submit(); document.forms[0].street.value='';">O</span> 
    64 <span class="letter" onclick="document.forms[0].street.value='P'; document.forms[0].submit(); document.forms[0].street.value='';">P</span> 
    65 <span class="letter" onclick="document.forms[0].street.value='Q'; document.forms[0].submit(); document.forms[0].street.value='';">Q</span> 
    66 <span class="letter" onclick="document.forms[0].street.value='R'; document.forms[0].submit(); document.forms[0].street.value='';">R</span> 
    67 <span class="letter" onclick="document.forms[0].street.value='S'; document.forms[0].submit(); document.forms[0].street.value='';">S</span> 
    68 <span class="letter" onclick="document.forms[0].street.value='T'; document.forms[0].submit(); document.forms[0].street.value='';">T</span> 
    69 <span class="letter" onclick="document.forms[0].street.value='U'; document.forms[0].submit(); document.forms[0].street.value='';">U</span> 
    70 <span class="letter" onclick="document.forms[0].street.value='V'; document.forms[0].submit(); document.forms[0].street.value='';">V</span> 
    71 <span class="letter" onclick="document.forms[0].street.value='W'; document.forms[0].submit(); document.forms[0].street.value='';">W</span> 
    72 <span class="letter" onclick="document.forms[0].street.value='X'; document.forms[0].submit(); document.forms[0].street.value='';">X</span> 
    73 <span class="letter" onclick="document.forms[0].street.value='Y'; document.forms[0].submit(); document.forms[0].street.value='';">Y</span> 
    74 <span class="letter" onclick="document.forms[0].street.value='Z'; document.forms[0].submit(); document.forms[0].street.value='';">Z</span> 
     48        <input name='gkz' type='hidden'> 
     49        <input name='gemeinde' type='hidden' > 
     50        <input name='epsg' type='hidden'> 
     51        <input class='textfield' name='street' type='text' size='22' title='Stra&szlig;enname (Anfang)'> 
     52        <input class='sbutton' type='submit' value='ok'> 
     53        <br> 
     54        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='A'; document.forms[0].submit();">A</span> 
     55        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='B'; document.forms[0].submit();">B</span> 
     56        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='C'; document.forms[0].submit();">C</span> 
     57        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='D'; document.forms[0].submit();">D</span> 
     58        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='E'; document.forms[0].submit();">E</span> 
     59        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='F'; document.forms[0].submit();">F</span> 
     60        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='G'; document.forms[0].submit();">G</span> 
     61        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='H'; document.forms[0].submit();">H</span> 
     62        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='I'; document.forms[0].submit();">I</span> 
     63        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='J'; document.forms[0].submit();">J</span> 
     64        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='K'; document.forms[0].submit();">K</span> 
     65        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='L'; document.forms[0].submit();">L</span> 
     66        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='M'; document.forms[0].submit();">M</span> 
     67        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='N'; document.forms[0].submit();">N</span> 
     68        <br> 
     69        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='O'; document.forms[0].submit();">O</span> 
     70        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='P'; document.forms[0].submit();">P</span> 
     71        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='Q'; document.forms[0].submit();">Q</span> 
     72        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='R'; document.forms[0].submit();">R</span> 
     73        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='S'; document.forms[0].submit();">S</span> 
     74        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='T'; document.forms[0].submit();">T</span> 
     75        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='U'; document.forms[0].submit();">U</span> 
     76        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='V'; document.forms[0].submit();">V</span> 
     77        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='W'; document.forms[0].submit();">W</span> 
     78        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='X'; document.forms[0].submit();">X</span> 
     79        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='Y'; document.forms[0].submit();">Y</span> 
     80        <span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='Z'; document.forms[0].submit();">Z</span> 
    7581</form> 
    7682 
  • 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 
  • trunk/data/mapbender/http/nav/alkisnav_eig.htm

    r66 r86  
    1919                var gem = "0"; 
    2020                if(arr[0] == "gemeinde") {gem = arr[1];} 
    21                 // aktueller EPSG-Code der GUI  ++ funktioniert noch nicht ++ 
    22                 var ind = parent.parent.parent.getMapObjIndexByName("mapframe1"); 
    23                 epsg = parent.parent.parent.mb_mapObj[ind].epsg; 
     21                // aktueller EPSG-Code 
     22                function sendGuiEpsg () { 
     23                        var ind = parent.parent.getMapObjIndexByName("mapframe1"); 
     24                        var epsg = parent.parent.mb_mapObj[ind].getSRS(); 
     25                        document.forms[0].epsg.value = epsg; 
     26                } 
     27                function validate(){ 
     28                        sendGuiEpsg(); 
     29                        document.forms[0].gkz.value = gkz; 
     30                        document.forms[0].gemeinde.value = gem; 
     31                } 
    2432        </script> 
    2533</head> 
    26 <body> 
     34<body onload="javascript:validate();"> 
    2735 
    2836<div id='tabs'> 
     
    3846 
    3947<form class='nav' name='EigGazetteerFrame' onsubmit='return validate()' target='EigResultFrame' action='alkisnav_eig.php'> 
    40 <script type="text/javascript" language="JavaScript"> 
    41                 document.writeln("<input name='gkz' type='hidden' value='" + gkz + "'>"); 
    42                 document.writeln("<input name='gemeinde' type='hidden' value='" + gem + "'>"); 
    43                 document.writeln("<input name='epsg' type='hidden' value='" + epsg + "'>"); 
    44 </script> 
    45 <input class='textfield' name='name' type='text' size='22' title='Eigent&uuml;mername (Anfang)'> 
    46 <input class='sbutton' type='submit' value='ok'> 
    47 <br> 
     48        <input name='gkz' type='hidden'> 
     49        <input name='gemeinde' type='hidden'> 
     50        <input name='epsg' type='hidden'> 
     51        <input class='textfield' name='name' type='text' size='22' title='Eigent&uuml;mername (Anfang)'> 
     52        <input class='sbutton' type='submit' value='ok'> 
     53        <br> 
    4854</form> 
    4955 
  • trunk/data/mapbender/http/nav/alkisnav_eig.php

    r68 r86  
    11<?php 
    2 // Version vom 13.01.2011  
     2/* Version vom  
     3        13.01.2011  
     4        11.04.2011 epsg in Link, transform nur wenn notwendig 
     5*/ 
    36import_request_variables("PG"); 
    47include("../../conf/alkisnav_conf.php"); 
     
    2629// Eigentuemer nach Name(-nsanfang) 
    2730// =============================== 
    28         global $gkz, $gemeinde, $con, $name, $person, $gb; 
     31        global $gkz, $gemeinde, $epsg, $con, $name, $person, $gb; 
    2932        $linelimit=120; 
    3033        if(preg_match("/\*/",$name)){ 
     
    5154                // +++ Icon mit Link auf Person-Auskunft, ÃŒber gml_id   
    5255                // Zur Zeit siehe unten: erst nach Auswahl einer einzelnen Person 
    53                 echo "\n<a class='nam' title='Person' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;person=".$gml."&amp;name=".$nnam."'>".$nnam.", ".$vnam."</a>\n<br>"; 
     56                echo "\n<a class='nam' title='Person' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$gml."&amp;name=".$nnam."'>".$nnam.", ".$vnam."</a>\n<br>"; 
    5457                $cnt++; 
    5558        } 
     
    6871// GrundbÃŒcher zur gewÀhlten Person 
    6972// =================================== 
    70         global $gkz, $gemeinde, $con, $name, $person, $gb, $auskpath; 
     73        global $gkz, $gemeinde, $epsg, $con, $name, $person, $gb, $auskpath; 
    7174        $linelimit=120; 
    7275        if(isset($name)) { // Familiensuche 
    7376                echo "\n<div class='back' title='Andere Personen mit diesem Nachnamen'>"; 
    7477                        echo "\n\t\t<img class='nwlink' src='ico/Eigentuemer_2.ico' width='16' height='16' alt='FAM'> "; 
    75                         echo "\n<a class='back' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;name=".$name."'>\"".$name."\"</a>"; 
     78                        echo "\n<a class='back' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;name=".$name."'>\"".$name."\"</a>"; 
    7679                echo "\n</div>\n<br>";   
    7780        } 
     
    133136                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='GB'>"; 
    134137                        echo "\n\t</a> ";                
    135                         echo "\n\t".$beznam."<a title='Grundbuch' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gb=".$gml."&amp;person=".$person."'> Blatt ".$nr."&nbsp;</a>"; 
     138                        echo "\n\t".$beznam."<a title='Grundbuch' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gb=".$gml."&amp;person=".$person."'> Blatt ".$nr."&nbsp;</a>"; 
    136139                echo "\n</div>"; 
    137140                $cnt++; 
     
    157160                echo "\n\t<div class='back' title='zur&uuml;ck zur Person'>"; 
    158161                        echo "\n\t\t<img class='nwlink' src='ico/Eigentuemer.ico' width='16' height='16' alt='EIG'> "; 
    159                         echo "\n\t<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;person=".$person."'>"; 
     162                        echo "\n\t<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person."'>"; 
    160163                        echo "zur&uuml;ck</a><br>";              
    161164                echo "</div>"; 
     
    169172        // Blatt <vbg/istBestandteilVon<  Buchungsstelle <vfb/istGebucht< Flurstck. 
    170173        $sql ="SELECT s.laufendenummer AS lfd, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; 
    171         $sql.="x(st_transform (st_centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
    172         $sql.="y(st_transform (st_centroid(f.wkb_geometry), ".$epsg.")) AS y, "; 
     174        if($epsg == "25832") { // Transform nicht notwendig 
     175                $sql.="x(st_centroid(f.wkb_geometry)) AS x, "; 
     176                $sql.="y(st_centroid(f.wkb_geometry)) AS y, "; 
     177        } else {   
     178                $sql.="x(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
     179                $sql.="y(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS y, ";                  
     180        } 
    173181        $sql.="g.gemarkungsnummer, g.bezeichnung "; 
    174182   $sql.="FROM alkis_beziehungen vbg "; 
     
    236244if(isset($epsg)) { 
    237245        if ($debug >= 2) {echo "<p>aktueller EPSG='".$epsg."'</p>";} // aus MB 
    238         if (substr($epsg, 0, 5) == "EPSG:") {$epsg=substr($epsg, 5);} 
     246        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    239247} else { 
    240         if ($debug >= 2) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
     248        if ($debug >= 1) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
    241249        $epsg=$gui_epsg; // aus Conf 
    242250} 
     
    259267        echo "\n<p>Parameter?</p>"; // Programmfehler 
    260268} 
    261  
    262269?> 
    263270 
  • trunk/data/mapbender/http/nav/alkisnav_fls.htm

    r66 r86  
    1212                // Parameter fuer Mandant aus url lesen 
    1313                // &gkz=150&gemeinde=40&test=ja 
    14                 var parms = location.search.split("&");    // 0: "?gkz=150" 1: "gemeinde=40" 2: "test=ja"                
     14                var parms = location.search.split("&"); // 0: "?gkz=150" 1: "gemeinde=40" 2: "test=ja"           
    1515                var arr = parms[0].split("=", 2); // 0: "?gkz"  1: "150" 
    1616                var gkz = "000"; 
     
    1919                var gem = "0"; 
    2020                if(arr[0] == "gemeinde") {gem = arr[1];} 
    21                 // aktueller EPSG-Code der GUI  ++ funktioniert noch nicht ++ 
    22                 var ind = parent.parent.parent.getMapObjIndexByName("mapframe1"); 
    23                 epsg = parent.parent.parent.mb_mapObj[ind].epsg; 
     21                // aktueller EPSG-Code 
     22                function sendGuiEpsg () { 
     23                        var ind = parent.parent.getMapObjIndexByName("mapframe1"); 
     24                        var epsg = parent.parent.mb_mapObj[ind].getSRS(); 
     25                        document.forms[0].epsg.value = epsg; 
     26                } 
     27                function validate(){ 
     28                        sendGuiEpsg(); 
     29                        document.forms[0].gkz.value = gkz; 
     30                        document.forms[0].gemeinde.value = gem; 
     31                } 
    2432        </script> 
    2533</head> 
    26 <body> 
     34<body onload="javascript:validate();"> 
    2735 
    2836<div id='tabs'> 
     
    3846 
    3947<form class='nav' name='FlsGazetteerFrame' onsubmit='return validate()' target='FlsResultFrame' action='alkisnav_fls.php'> 
    40 <script type="text/javascript" language="JavaScript"> 
    41                 document.writeln("<input name='gkz' type='hidden' value='" + gkz + "'>"); 
    42                 document.writeln("<input name='gemeinde' type='hidden' value='" + gem + "'>"); 
    43                 document.writeln("<input name='epsg' type='hidden' value='" + epsg + "'>"); 
    44 </script> 
    45 <input class='textfield' name='fskennz' type='text' size='22' title='Flurst&uuml;ckskennzeichen'> 
    46 <input class='sbutton' type='submit' value='ok'> 
     48        <input name='gkz' type='hidden'> 
     49        <input name='gemeinde' type='hidden'> 
     50        <input name='epsg' type='hidden'> 
     51        <input class='textfield' name='fskennz' type='text' size='22' title='Flurst&uuml;ckskennzeichen'> 
     52        <input class='sbutton' type='submit' value='ok'> 
    4753</form> 
    4854 
  • trunk/data/mapbender/http/nav/alkisnav_fls.php

    r85 r86  
    33        13.01.2011 
    44        25.03.2011 Filter als Gemeinde-Liste 
     5        12.04.2011 epsg in Link, transform nur wenn notwendig 
    56*/ 
    67import_request_variables("PG"); 
     
    3738        $zfsnr=trim($arr[2]); 
    3839        if ($zgemkg == "") { 
    39                 return 1; // alle Gmkg listen 
     40                return 0; // Gemeinden oder Gemarkungen listen 
    4041        } elseif ( ! is_ne_zahl($zgemkg)) { 
    4142                return 1; // Such Name 
     
    4445        } elseif ( ! is_ne_zahl($zflur)) { 
    4546                echo "<p class='err>Die Flurnummer '".$zflur."' ist nicht numerisch</p>"; 
    46                 return 0; 
     47                return 9; 
    4748        } elseif ($zfsnr == "") {                
    4849                return 3; // Flur                                
     
    5354                if ( ! is_ne_zahl($zzaehler)) { 
    5455                        echo "<p class='err>FlurstÃŒcksnummer '".$zzaehler."' ist nicht numerisch</p>"; 
    55                         return 0; 
     56                        return 9; 
    5657                } elseif ($znenner == "") { 
    5758                        return 4; 
     
    6061                } else { 
    6162                        echo "<p class='err>FlurstÃŒcks-Nenner '".$znenner."' ist nicht numerisch</p>"; 
    62                         return 0; 
     63                        return 9; 
    6364                } 
    6465        } 
     66} 
     67 
     68function ListGemeinden() { 
     69        // bei Leereingabe die Gemeinden anlisten 
     70        global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter; 
     71        $linelimit=50; 
     72        $sql ="SELECT DISTINCT g.gemeinde AS key, g.bezeichnung FROM ax_gemeinde g "; 
     73        $sql.="JOIN gemeinde_gemarkung v ON g.regierungsbezirk=v.regierungsbezirk AND g.kreis=v.kreis AND g.gemeinde=v.gemeinde "; 
     74        // "ax_gemeinde" enthÀlt mehrfache Gemeinde-Schluessel (Filtern regierungsbezirk, kreis)        
     75        // "gemeinde_gemarkung" enthaelt nur gefÃŒllte Gemarkungen aber Gemeinde mehrfach 
     76        switch ($gfilter) { 
     77                case 1: // Einzelwert 
     78                        $sql.="WHERE g.gemeinde=".$gemeinde." "; 
     79                        break; 
     80                case 2: // Liste 
     81                        $sql.="WHERE g.gemeinde in (".$gemeinde.") "; 
     82                        break; 
     83                default: // kein Filter 
     84                        break; 
     85        } 
     86        $sql.=" ORDER BY g.bezeichnung LIMIT $1 ;"; 
     87        $res=pg_prepare("", $sql); 
     88        $res=pg_execute("", array($linelimit)); 
     89        if (!$res) { 
     90                echo "\n<p class='err'>Fehler bei Gemeinde</p>"; 
     91                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     92                return 0; 
     93        } 
     94        $cnt = 0; 
     95        while($row = pg_fetch_array($res)) { 
     96                $stadt=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
     97                $bez=urlencode($row["bezeichnung"]);  // Uebergeben an ListGmkgInGemeinde 
     98                $gnr=$row["key"]; 
     99                echo "\n<div class='gm' title='Gemeinde'>"; 
     100                        echo "\n\t\t<img class='nwlink' src='ico/Gemeinde.ico' width='16' height='16' alt='Stadt'>"; 
     101                        echo " Gem. <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gm=".$gnr."&amp;bez=".$bez."'>";                 
     102                        echo  " ".$stadt."</a> (".$gnr.")"; 
     103                echo "\n</div>"; 
     104                $cnt++; 
     105        } 
     106        if($cnt == 0){  
     107                echo "\n<p class='err'>Keine Gemeinde.</p>"; 
     108        } elseif($cnt >= $linelimit) { 
     109                echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     110        } elseif($cnt == 1) { // Eindeutig! 
     111                return $gnr;  
     112        } 
     113        return 0; 
     114} 
     115 
     116function ListGmkgInGemeinde($gkey) { 
     117// Die (gefuellten) Gemarkungen zu einem Gemeinde-Key (aus Link) listen 
     118        global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter, $bez; 
     119        $linelimit=70; 
     120        $sql ="SELECT g.gemarkungsnummer, g.bezeichnung "; 
     121        $sql.="FROM ax_gemarkung g JOIN gemeinde_gemarkung v ON g.gemarkungsnummer=v.gemarkung "; 
     122   $sql.="WHERE v.gemeinde= $1 ORDER BY g.bezeichnung LIMIT $2 ;"; 
     123        $res=pg_prepare("", $sql); 
     124        $res=pg_execute("", array($gkey, $linelimit)); 
     125        if (!$res) { 
     126                echo "\n<p class='err'>Fehler bei Gemarkungen</p>"; 
     127                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     128                return 0; 
     129        } 
     130        // Hierarchie Dokumentieren, Gemeinde-Name? 
     131        echo "\n<div class='gm' title='Gemeinde'>"; 
     132                echo "\n\t\t<img class='nwlink' src='ico/Gemeinde.ico' width='16' height='16' alt='Stadt'>";     
     133                echo  " Gem. ".$bez." (".$gkey.")"; // .urldecode($bez). ?? 
     134        echo "\n</div>"; 
     135        $cnt = 0; 
     136        while($row = pg_fetch_array($res)) { 
     137                $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
     138                $gnr=$row["gemarkungsnummer"]; 
     139                echo "\n<div class='gk' title='Gemarkung'>"; 
     140                        echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; 
     141                        echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gnr."'>";               
     142                        echo  " ".$gnam."</a> (".$gnr.")"; 
     143                echo "\n</div>"; 
     144                $cnt++; 
     145        } 
     146        if($cnt == 0){  
     147                echo "\n<p class='err'>Keine Gemarkung.</p>"; 
     148        } elseif($cnt >= $linelimit) { 
     149                echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     150        } elseif($cnt == 1) { // Eindeutig! 
     151                return $gnr;  
     152        } 
     153        return 0; 
    65154} 
    66155 
    67156function SuchGmkgName() { 
    68157// Gemarkung suchen nach Name(-nsanfang) 
    69         global $con, $gkz, $gemeinde, $debug, $fskennz, $gfilter; 
     158        global $con, $gkz, $gemeinde, $epsg, $debug, $fskennz, $gfilter; 
    70159        $linelimit=120; 
    71160        if(preg_match("/\*/",$fskennz)){ 
     
    77166        $sql.="FROM ax_gemarkung g JOIN gemeinde_gemarkung v ON g.gemarkungsnummer=v.gemarkung "; 
    78167   $sql.="WHERE bezeichnung ILIKE $1 "; 
    79  
    80 //      if($gemeinde > 0) { 
    81 //              $sql.=" AND v.gemeinde=".$gemeinde; 
    82 //      } // wie prepared? 
    83  
    84168        switch ($gfilter) { 
    85169                case 1: // Einzelwert 
     
    92176                        break; 
    93177        } 
    94  
    95178        $sql.=" ORDER BY g.bezeichnung LIMIT $2 ;"; 
    96179        $v=array($match, $linelimit); 
     
    108191                $stadt=$row["gemeindename"]; 
    109192                echo "\n<div class='gk' title='Gemarkung'>"; 
    110                         echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemkg'>"; 
    111                         echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;fskennz=".$gnr."'>";              
     193                        echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; 
     194                        echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gnr."'>";               
    112195                        echo  " ".$gnam."</a> (".$gnr.")"; 
    113  
    114 //                      if ($gemeinde == 0) {echo " ".$stadt;} // Kreisweit 
    115196                        switch ($gfilter) { 
    116197                                case 0: // Kein Filter 
     
    123204                                        break; 
    124205                        } 
    125  
    126206                echo "\n</div>"; 
    127207                $cnt++; 
     
    139219function EineGemarkung($AuchGemkZeile) { 
    140220        // Kennzeichen bestehend nur aus Gemarkung-SchlÃŒssel wurde eingegeben 
    141         global $con, $gkz, $gemeinde, $debug, $zgemkg; 
     221        global $con, $gkz, $gemeinde, $epsg, $debug, $zgemkg; 
    142222        $linelimit=120; // max. Fluren je Gemarkung 
    143223        if ($AuchGemkZeile) { 
     
    154234                if ($zgmk == 0) { 
    155235                        echo "\n<div class='gk' title='Gemarkung'>"; 
    156                                 echo "\n\t\t<p class='err'><img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemkg'>"; 
     236                                echo "\n\t\t<p class='err'><img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; 
    157237                                        echo  " Gemarkung ".$zgemkg." ist unbekannt.</p>"; 
    158238                        echo "\n</div>"; 
    159239                        return; 
    160240                } 
    161                 // > 1 auch möglich ??? 
     241                // > 1 auch möglich? 
    162242                echo "\n<div class='gk' title='Gemarkung'>"; 
    163                         echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemkg'> "; 
    164                         echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;fskennz=".$zgemkg."'>";           
     243                        echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'> "; 
     244                        echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$zgemkg."'>";            
    165245                        echo $gmkg."</a>  (".$zgemkg.")"; // in Gemeinde? 
    166246                echo "\n</div>"; 
     
    177257                echo "\n<div class='fl' title='Flur'>"; 
    178258                        echo "\n\t\t<img class='nwlink' src='ico/Flur.ico' width='16' height='16' alt='Flur'> "; 
    179                         echo "Flur<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;fskennz=".$zgemkg."-".$flur."'>&nbsp;".$flur."&nbsp;</a>"; 
     259                        echo "Flur<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$zgemkg."-".$flur."'>&nbsp;".$flur."&nbsp;</a>"; 
    180260                echo "\n</div>"; 
    181261                $zfl++; 
     
    191271function EineFlur() { 
    192272        // Kennzeichen aus Gemarkung und FlurNr wurde eingegeben 
    193         global $con, $gkz, $gemeinde, $debug, $scalefs, $epsg, $auskpath, $zgemkg, $zflur; 
     273        global $con, $gkz, $gemeinde, $epsg, $debug, $scalefs, $auskpath, $zgemkg, $zflur; 
    194274        $linelimit=600; // Wie groß kann eine Flur sein? 
    195275        $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;"; 
     
    205285        if ($zgmk == 0) { 
    206286                echo "\n<div class='gk' title='Gemarkung'>"; 
    207                         echo "\n\t\t<p class='err'><img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemkg'>"; 
     287                        echo "\n\t\t<p class='err'><img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; 
    208288                                echo  " Gemarkung ".$zgemkg." ist unbekannt.</p>"; 
    209289                echo "\n</div>"; 
     
    211291        } 
    212292        echo "\n<div class='gk' title='Gemarkung'>"; 
    213                 echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemkg'> "; 
    214                 echo "Gemarkung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;fskennz=".$zgemkg."'> ".$gmkg." (".$zgemkg.")</a>"; 
     293                echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; 
     294                echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$zgemkg."'> ".$gmkg." (".$zgemkg.")</a>"; 
    215295        echo "\n</div>"; 
    216296        echo "\n<div class='fl' title='Flur'>"; 
    217297                echo "\n\t\t<img class='nwlink' src='ico/Flur.ico' width='16' height='16' alt='Flur'> "; 
    218                 echo "Flur <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;fskennz=".$zgemkg."-".$zflur."'> ".$zflur."</a>"; 
     298                echo "Flur <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$zgemkg."-".$zflur."'> ".$zflur."</a>"; 
    219299        echo "\n</div>"; 
    220300 
    221301        $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; 
    222         $sql.="x(st_transform (st_centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
    223         $sql.="y(st_transform (st_centroid(f.wkb_geometry), ".$epsg.")) AS y "; 
     302        //      $sql.="x(st_transform (st_centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
     303        //      $sql.="y(st_transform (st_centroid(f.wkb_geometry), ".$epsg.")) AS y "; 
     304        if($epsg == "25832") { // Transform nicht notwendig 
     305                $sql.="x(st_Centroid(f.wkb_geometry)) AS x, "; 
     306                $sql.="y(st_Centroid(f.wkb_geometry)) AS y "; 
     307        } 
     308        else {   
     309                $sql.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
     310                $sql.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";                   
     311        } 
    224312   $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 "; 
    225313        $sql.="ORDER BY f.zaehler, f.nenner LIMIT $3 ;"; // WHERE f.land= ? 
     
    262350 
    263351        $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; 
    264         $sql.="x(st_transform (st_centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
    265         $sql.="y(st_transform (st_centroid(f.wkb_geometry), ".$epsg.")) AS y, "; 
     352        //      $sql.="x(st_transform (st_centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
     353        //      $sql.="y(st_transform (st_centroid(f.wkb_geometry), ".$epsg.")) AS y, "; 
     354        if($epsg == "25832") { // Transform nicht notwendig 
     355                $sql.="x(st_Centroid(f.wkb_geometry)) AS x, "; 
     356                $sql.="y(st_Centroid(f.wkb_geometry)) AS y, "; 
     357        } 
     358        else {   
     359                $sql.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
     360                $sql.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";                   
     361        } 
     362 
    266363        $sql.="g.gemarkungsnummer, g.bezeichnung "; 
    267364   $sql.="FROM ax_flurstueck f JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
     
    304401if(isset($epsg)) { 
    305402        if ($debug >= 2) {echo "<p>aktueller EPSG='".$epsg."'</p>";     } // aus MB 
    306         if (substr($epsg, 0, 5) == "EPSG:") {$epsg=substr($epsg, 5);} 
     403        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    307404} else { 
    308         if ($debug >= 2) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
     405        if ($debug >= 1) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
    309406        $epsg=$gui_epsg; // aus Conf 
    310407} 
     
    320417} 
    321418 
    322 // Eingabe interpretieren 
    323 switch (ZerlegungFsKennz($fskennz)) { 
    324 case 0: 
    325         echo "<p class='err'>Bitte ein Flurst&uuml;ckskennzeichen eingegeben, Format 'gggg-fff-zzzz/nnn</p>"; 
    326         break; 
    327 case 1: 
    328         if ($debug >= 2) {echo "<p>Gemarkungsname ".$zgemkg."</p>";} 
    329         $gnr=SuchGmkgName(); 
     419if(isset($gm)) { // Self-Link aus Gemeinde-Liste  
     420        $gnr=ListGmkgInGemeinde($gm); // Gemarkungen zu dieser Gemeinde listen 
    330421        if ($gnr > 0) { 
    331422                $zgemkg=$gnr; 
    332423                EineGemarkung(false); 
    333424        };       
    334         break; 
    335 case 2: 
    336         if ($debug >= 2) {echo "<p>Gemarkungsnummer ".$zgemkg."</p>";}   
    337         EineGemarkung(true); 
    338         break; 
    339 case 3: 
    340         if ($debug >= 2) {echo "<p>Gemarkung ".$zgemkg." Flur ".$zflur."</p>";} 
    341         EineFlur(); 
    342         break; 
    343 case 4: 
    344         if ($debug >= 2) {echo "<p>Gemarkung ".$zgemkg." Flur ".$zflur." FlurstÃŒck ".$zzaehler."</p>";} 
    345         EinFlurstueck(); 
    346         break; 
    347 case 5: 
    348         if ($debug >= 2) {echo "<p>Gemarkung ".$zgemkg." Flur ".$zflur." FlurstÃŒck ".$zzaehler."/".$znenner."</p>";} 
    349         EinFlurstueck(); 
    350         break; 
     425} else { 
     426        // Die Formular-Eingabe interpretieren (kann auch ein Link sein) 
     427        switch (ZerlegungFsKennz($fskennz)) { 
     428        case 0: // leere Eingabe 
     429                if ($gfilter == 1) { // Die GUI ist bereits auf eine Gemeinde gefiltert 
     430                        SuchGmkgName(); // Gemarkungen listen 
     431                } else { 
     432                        ListGemeinden(); // alle Gemeinden Listen 
     433                } 
     434                break; 
     435        case 1: 
     436                if ($debug >= 2) {echo "<p>Gemarkungsname ".$zgemkg."</p>";} 
     437                $gnr=SuchGmkgName(); 
     438                if ($gnr > 0) { 
     439                        $zgemkg=$gnr; 
     440                        EineGemarkung(false); 
     441                };       
     442                break; 
     443        case 2: 
     444                if ($debug >= 2) {echo "<p>Gemarkungsnummer ".$zgemkg."</p>";}   
     445                EineGemarkung(true); 
     446                break; 
     447        case 3: 
     448                if ($debug >= 2) {echo "<p>Gemarkung ".$zgemkg." Flur ".$zflur."</p>";} 
     449                EineFlur(); 
     450                break; 
     451        case 4: 
     452                if ($debug >= 2) {echo "<p>Gemarkung ".$zgemkg." Flur ".$zflur." FlurstÃŒck ".$zzaehler."</p>";} 
     453                EinFlurstueck(); 
     454                break; 
     455        case 5: 
     456                if ($debug >= 2) {echo "<p>Gemarkung ".$zgemkg." Flur ".$zflur." FlurstÃŒck ".$zzaehler."/".$znenner."</p>";} 
     457                EinFlurstueck(); 
     458                break; 
     459        case 9: 
     460                echo "<p class='err'>Bitte ein Flurst&uuml;ckskennzeichen eingegeben, Format 'gggg-fff-zzzz/nnn</p>"; 
     461                break; 
     462        } 
    351463} 
    352464 
  • trunk/data/mapbender/http/nav/alkisnav_grd.htm

    r66 r86  
    1919                var gem = "0"; 
    2020                if(arr[0] == "gemeinde") {gem = arr[1];} 
    21                 // aktueller EPSG-Code der GUI  ++ funktioniert noch nicht ++ 
    22                 var ind = parent.parent.parent.getMapObjIndexByName("mapframe1"); 
    23                 epsg = parent.parent.parent.mb_mapObj[ind].epsg; 
     21                // aktueller EPSG-Code 
     22                function sendGuiEpsg () { 
     23                        var ind = parent.parent.getMapObjIndexByName("mapframe1"); 
     24                        var epsg = parent.parent.mb_mapObj[ind].getSRS(); 
     25                        document.forms[0].epsg.value = epsg; 
     26                } 
     27                function validate(){ 
     28                        sendGuiEpsg(); 
     29                        document.forms[0].gkz.value = gkz; 
     30                        document.forms[0].gemeinde.value = gem; 
     31                } 
    2432        </script> 
    2533</head> 
    26 <body> 
     34<body onload="javascript:validate();"> 
    2735 
    2836<div id='tabs'> 
     
    3846 
    3947<form class='nav' name='GrdGazetteerFrame' onsubmit='return validate()' target='GrdResultFrame' action='alkisnav_grd.php'> 
    40 <script type="text/javascript" language="JavaScript"> 
    41                 document.writeln("<input name='gkz' type='hidden' value='" + gkz + "'>"); 
    42                 document.writeln("<input name='gemeinde' type='hidden' value='" + gem + "'>"); 
    43                 document.writeln("<input name='epsg' type='hidden' value='" + epsg + "'>"); 
    44 </script> 
    45 <input class='textfield' name='gbkennz' type='text' size='22' title='Grunbuchkennzeichen'> 
    46 <input class='sbutton' type='submit' value='ok'> 
     48        <input name='gkz' type='hidden'> 
     49        <input name='gemeinde' type='hidden'> 
     50        <input name='epsg' type='hidden'> 
     51        <input class='textfield' name='gbkennz' type='text' size='22' title='Grunbuchkennzeichen'> 
     52        <input class='sbutton' type='submit' value='ok'> 
    4753</form> 
    4854 
  • trunk/data/mapbender/http/nav/alkisnav_grd.php

    r68 r86  
    11<?php 
    2 // Version vom 13.01.2011   
     2/* Version vom 
     3        14.01.2011 
     4        12.04.2011 epsg in Link, transform nur wenn notwendig,  
     5        neue Suchstrategie bei Leer-Eingabe (Liste Amtsgerichte), Icon GB-Bez. 
     6*/ 
    37import_request_variables("PG"); 
    48include("../../conf/alkisnav_conf.php"); 
     
    2731function ZerlegungGBKennz($gbkennz) { 
    2832        // Das eingegebene Grundbuch-Kennzeichen auseinander nehmen (gggg-999999z-BVNR) 
    29         // Return: 0=Fehler, 1=Such Bezirk-Name oder Listen alle Bezirke 
     33        // Return: 9=Fehler, 0=Listen alle Bezirke 1=Such Bezirk-Name 
    3034        //         2=Such Bezirk-Nummer $zgbbez, 3=Such Blatt $zblatt, 4=Such BVNR $zbvnr 
    3135        global $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr;     
     
    3539        $zbvnr=trim($arr[2]); 
    3640        if ($zgbbez == "") { // keine Eingabe 
    37                 return 1; // alle Bezirke listen 
     41                return 0; // Amtsgerichte oder Bezirke listen 
    3842        } elseif ( ! is_ne_zahl($zgbbez)) { // Alphabetische Eingabe 
    3943                return 1; // Such Bezirk-NAME 
     
    4953                                $zblattn=substr($zblatt,0,$len-1); 
    5054                                $zblattz=strtoupper(substr($zblatt,$len-1,1));  
    51                                 if ( (trim($zblattn, "0..9") == "") and (trim($zblattz, "A..Z") == "")) { 
     55                                if ((trim($zblattn, "0..9") == "") and (trim($zblattz, "A..Z") == "")) { 
    5256                                        $zblatt=$zblattn.$zblattz; 
    5357                                        $zblattn= ltrim($zblattn, "0"); // ohne fuehrende Nullen 
    5458                                } else { 
    5559                                        echo "<p class='err>Format 'Blatt': bis zu 6 Zahlen und ggf. ein Buchstabe</p>";         
    56                                         return 0; 
     60                                        return 9; 
    5761                                } 
    5862                        } 
     
    6569                        } else { 
    6670                                echo "<p class='err>Die Buchungsstelle (BVNR) '".$zbvnr."' ist nicht numerisch</p>"; 
    67                                 return 0; 
     71                                return 9; 
    6872                        } 
    6973                } else { 
    7074                        echo "<p class='err>Das Grundbuch-Blatt '".$zblatt."' ist ung&uuml;ltig.</p>"; 
    71                         return 0; 
    72                 } 
    73         } 
     75                        return 9; 
     76                } 
     77        } 
     78} 
     79 
     80function ListAG($liste_ag) { 
     81        // Amtsgerichte (Grundbuch) auflisten, dazu als Filter eine AG-Liste aus conf 
     82        global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz; 
     83        $linelimit=40; 
     84        $sql ="SELECT a.stelle, a.bezeichnung AS ag FROM ax_dienststelle a "; 
     85        $sql.="WHERE a.stelle IN (".$liste_ag.") AND a.stellenart = 1000 "; // Amtsgerichte aus Liste 
     86        $sql.="ORDER BY a.bezeichnung LIMIT $1 ;"; 
     87        $res = pg_prepare("", $sql); 
     88        $res = pg_execute("", array($linelimit)); 
     89        if (!$res) { 
     90                echo "\n<p class='err'>Fehler bei Amtsgerichte</p>"; 
     91                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     92                return 0; 
     93        } 
     94        $cnt = 0; 
     95        while($row = pg_fetch_array($res)) { // Loop AG  
     96                $anr=$row["stelle"]; 
     97                $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");               
     98                echo "\n<div class='ga' title='Amtsgricht'>"; 
     99                        echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Amtsgericht'> "; 
     100                        echo "AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>";                
     101                                echo $ag."</a> (".$anr.")"; 
     102                echo "\n</div>"; 
     103                $cnt++; 
     104        } 
     105        if($cnt == 0){ // falsch configuriert! 
     106                echo "\n<p class='err'>Kein Amtsgericht aus Liste ".$$liste_ag.".</p>"; 
     107        } elseif ($cnt >= $linelimit) { 
     108                echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     109        } 
     110        return 0; 
     111} 
     112 
     113function ListGBBez($liste_ag, $mit_ag) { 
     114        // Grundbuch-Bezirke auflisten. 
     115        global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz; 
     116        $linelimit=70; 
     117        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     118        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
     119        $sql.="WHERE a.stelle IN (".$liste_ag.") AND a.stellenart = 1000 "; // Amtsgericht aus Liste 
     120        $sql.="ORDER BY g.bezeichnung LIMIT $1 ;"; 
     121        $res = pg_prepare("", $sql); 
     122        $res = pg_execute("", array($linelimit)); 
     123        if (!$res) { 
     124                echo "\n<p class='err'>Fehler bei Grundbuch-Bezirk</p>"; 
     125                if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     126                return 0; 
     127        } 
     128        $cnt = 0; 
     129        while($row = pg_fetch_array($res)) { // Loop  B E Z I R K 
     130                $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
     131                $gnr=$row["bezirk"]; 
     132                $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8"); 
     133                $anr=$row["stelle"]; 
     134                echo "\n<div class='gk' title='GB-Bezirk'>"; 
     135                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Gemkg'> "; 
     136                        echo "Bezirk <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$gnr."'>";               
     137                                echo $gnam."</a> (".$gnr.")"; 
     138                                if ($mit_ag) { 
     139                                        echo " AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>".$ag."</a>"; 
     140                                } 
     141                echo "\n</div>"; 
     142                $cnt++; 
     143        } 
     144        if($cnt == 0){ // falsch configuriert 
     145                echo "\n<p class='err'>Kein Grundbuchbezirk zu den Amtsgerichten ".$liste_ag.".</p>"; 
     146        } elseif ($cnt >= $linelimit) { 
     147                echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     148        } 
     149        return 0; 
    74150} 
    75151 
     
    78154        global $con, $gkz, $gemeinde, $debug, $gbkennz; 
    79155        $linelimit=50; 
    80         $sql ="SELECT a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     156        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    81157        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    82158        $sql.="WHERE g.bezeichnung ILIKE $1 "; //       "AND a.stellenart=1000 " // Amtsgericht 
     
    100176        } 
    101177        $cnt = 0; 
    102         // Loop  B E Z I R K      
    103         // +++ Sortierung und Gruppierung nach Amtsgericht ?? 
     178        // Loop  B E Z I R K 
    104179        while($row = pg_fetch_array($res)) { 
    105180                $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    106181                $gnr=$row["bezirk"]; 
    107182                $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");               
     183                $anr=$row["stelle"]; 
    108184                echo "\n<div class='gk' title='GB-Bezirk'>"; 
    109                         echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Gemkg'> "; 
    110                         echo "<a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$gnr."'>";                 
    111                                 echo $gnam."</a> (".$gnr.") AG ".$ag; 
     185                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Gemkg'> "; 
     186                        echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$gnr."'>";            
     187                                echo $gnam."</a> (".$gnr.")"; 
     188                                echo " AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>".$ag."</a>"; 
    112189                echo "\n</div>"; 
    113190                $cnt++; 
     
    125202function EinBezirk($showParent) { 
    126203        // Kennzeichen bestehend nur aus GB-Bezirk-SchlÃŒssel wurde eingegeben 
    127         global $con, $gkz, $gemeinde, $debug, $zgbbez, $auskpath; 
     204        global $con, $gkz, $gemeinde, $epsg, $debug, $zgbbez, $auskpath; 
    128205        $linelimit=200; // max. Blatt je Bezirk 
    129206        // Dies linelimit ist nicht ausreichend fuer alle Blaetter eines Bezirks, aber ... 
     
    131208        // Es nutzt also nichts, hier Tausende Nummern aufzulisten. 
    132209        if ($showParent) { 
    133                 $sql ="SELECT a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
     210                $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    134211                $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    135212                $sql.="WHERE g.bezirk= $1 ;"; 
     
    146223                        $gnr=$row["bezirk"]; 
    147224                        $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");       
     225                        $anr=$row["stelle"]; 
    148226                        $zgmk++; 
    149227                } 
    150228                if ($zgmk == 0) { 
    151229                        echo "\n<div class='gk' title='Grundbuchbezirk'>"; 
    152                                 echo "\n\t\t<p class='err'><img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'>"; 
     230                                echo "\n\t\t<p class='err'><img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'>"; 
    153231                                        echo  " Bezirk ".$zgbbez." ist unbekannt.</p>"; 
    154232                        echo "\n</div>"; 
    155233                        return; 
    156234                } 
    157                 // > 1 auch möglich? 
     235 
     236                // AG-Knoten davor setzen 
     237                echo "\n<div class='ga' title='Amtsgricht'>"; 
     238                        echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Amtsgericht'> "; 
     239                        echo "AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>";                
     240                                echo $ag."</a> (".$anr.")"; 
     241                echo "\n</div>"; 
    158242                echo "\n<div class='gk' title='GB-Bezirk'>"; 
    159                         echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'> "; 
    160                         echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";           
    161                         echo $gnam."</a> (".$zgbbez.") AG ".$ag; 
     243                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
     244                        echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                
     245                        echo $gnam."</a> (".$zgbbez.")"; 
     246                        // alternativ AG-Link hinter dem Bezirk 
     247                //      echo " des AG <a href='alkisnav_grd.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>".$ag."</a>";                        
    162248                echo "\n</div>"; 
    163249        } 
     
    180266                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    181267                        echo "\n\t</a> "; 
    182                         echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gblatt=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blatt."&nbsp;</a>"; 
     268                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gblatt=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blatt."&nbsp;</a>"; 
    183269                echo "\n</div>"; 
    184270                $cntbl++; 
     
    218304        if($cntbl == 0) {  
    219305                echo "\n<p class='err'>Grundbuchblatt '".$zgbbez."-".$zblatt."' nicht gefunden.</p>"; 
    220                 if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    221306        } elseif($cntbl == 1) { 
    222307                return $bl_gml; 
     
    227312function EinBlatt($showParent) { 
    228313        // Kennzeichen Bezirk + Blatt wurde eingegeben 
    229         global $con, $gkz, $debug, $gemeinde, $auskpath, $zgbbez, $zblatt, $gblatt, $zbvnr; 
     314        global $con, $gkz, $debug, $gemeinde, $epsg, $auskpath, $zgbbez, $zblatt, $zblattn, $zblattz, $gblatt, $zbvnr; 
    230315 
    231316        if ($showParent) {       
    232317                echo "\n<div class='gk' title='GB-Bezirk'>"; 
    233                         echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'> "; 
    234                         echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";           
    235                         echo "Bezirk ".$zgbbez."</a>"; 
     318                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
     319                        echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                 
     320                        echo $zgbbez."</a>"; 
    236321                        // Key ist bekannt. Sollte man sich die Muehe machen, Namen und Amtsgericht zu ermitteln? 
    237322                echo "\n</div>"; 
     
    240325                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    241326                        echo "\n\t</a> "; 
    242                         echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gblatt=".$gblatt."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
     327                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gblatt=".$gblatt."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
    243328                echo "\n</div>"; 
    244329        } 
     
    263348                echo "\n<div class='gs'>"; 
    264349                        echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
    265                         echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbuchung=".$bs_gml."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$lfd."'>&nbsp;".$lfd."&nbsp;</a>"; 
     350                        echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbuchung=".$bs_gml."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$lfd."'>&nbsp;".$lfd."&nbsp;</a>"; 
    266351                echo "\n</div>"; 
    267352                $cntbu++; 
     
    271356        } elseif($cntbu == 1) { 
    272357                //echo "\n<p>genau EINE Buchung gefunden".$lfd."</p>"; 
    273                 $zbvnr=$lfd; // mit dieser BVNR gleich weiter machen  
     358                $zbvnr=$lfd; // mit dieser BVNR gleich weiter machen 
     359                // Blatt zerteilen (benoetigt in gml_buchungsstelle) 
     360                if (trim($zblatt, "0..9") == "") { // Normalfall: nur Zahlen 
     361                        $zblattn= ltrim($zblatt, "0"); 
     362                        $zblattz=""; 
     363                } else { // Sonderfall: Zusatz-Buchstabe am Ende 
     364                        $zblattn=ltrim(substr($zblatt,0,$len-1), "0"); // ohne fuehrende Nullen 
     365                        $zblattz=strtoupper(substr($zblatt,$len-1,1));  
     366                } 
    274367        } 
    275368        return $cntbu; 
     
    278371function gml_buchungsstelle() { 
    279372        // Kennzeichen "Bezirk + Blatt + BVNR" eingegeben. Dazu die gml_id der Buchungsstelle ermitteln. 
    280         global $con, $gkz, $debug, $zgbbez, $zblatt, $zbvnr; 
     373        global $con, $gkz, $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr; 
    281374        // Blatt ->  B u c h u n g s s t e l l e 
    282375        $sql ="SELECT s.gml_id FROM ax_buchungsstelle s "; 
     
    284377        $sql.="JOIN ax_buchungsblatt b ON b.gml_id=v.beziehung_zu ";  
    285378        $sql.="WHERE v.beziehungsart='istBestandteilVon' "; 
    286         $sql.="AND b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung= $2 AND s.laufendenummer= $3 ;"; 
    287         $v=array($zgbbez, $zblatt, $zbvnr); 
     379        $sql.="AND b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung IN ( $2, $3 ) AND s.laufendenummer= $4 ;"; 
     380        $zblatt0v=str_pad($zblattn, 6, "0", STR_PAD_LEFT).$zblattz;     // mit 0 vorne 
     381        $v=array($zgbbez, $zblattn.$zblattz, $zblatt0v, $zbvnr); 
    288382        $res=pg_prepare("", $sql); 
    289383        $res=pg_execute("", $v); 
     
    298392        } 
    299393        if($zbs == 0) {  
    300                 echo "\n<p class='err'>Buchung ".$zgbbez."-".$zblatt."-".$zbvnr." nicht gefunden.</p>"; 
     394                echo "\n<p class='err'>Buchung ".$zgbbez."-".$zblattn.$zblattz."-".$zbvnr." nicht gefunden.</p>"; 
    301395                return; 
    302396        } elseif($zbs > 1) { // nur TEST 
     
    310404function EinGrundstueck($showParent) { 
    311405        // Die gml_id der Buchungsstelle ist bekannt. 
    312         global $con, $gkz, $debug, $gemeinde, $scalefs, $epsg, $auskpath, $gbuchung, $zgbbez, $zblatt, $zbvnr; 
     406        global $con, $gkz, $debug, $gemeinde, $epsg, $scalefs, $epsg, $auskpath, $gbuchung, $zgbbez, $zblatt, $zbvnr, $gfilter; 
    313407        if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben 
    314408                if (isset($zgbbez) and isset($zblatt)) { 
    315409                        echo "\n<div class='gk' title='GB-Bezirk'>"; 
    316                                 echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='Bez.'> "; 
    317                                 echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."'>";           
     410                                echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
     411                                echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                
    318412                                echo "Bezirk ".$zgbbez."</a>"; 
    319413                                // Key ist bekannt. Sollte man sich die Muehe machen, Namen und Amtsgericht zu ermitteln? 
     414                                // ++++ Namen als &bez= ÃŒbermitteln? 
    320415                        echo "\n</div>";                         
    321416                        echo "\n<div class='gb' title='GB-Blatt'>"; 
    322417                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt.ico' width='16' height='16' alt='Blatt'> "; 
    323                                 echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
     418                                echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblatt."&nbsp;</a>"; 
    324419                        echo "\n</div>"; 
    325420                } else { 
     
    328423                echo "\n<div class='gs'>"; 
    329424                        echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
    330                         echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gbuchung=".$gbuchung."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$zbvnr."'>&nbsp;".$zbvnr."&nbsp;</a>"; 
     425                        echo "Buchung <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbuchung=".$gbuchung."&amp;gbkennz=".$zgbbez."-".$zblatt."-".$zbvnr."'>&nbsp;".$zbvnr."&nbsp;</a>"; 
    331426                echo "\n</div>"; 
    332427        } 
     
    338433        // Buchungsstelle -> Flurstueck 
    339434        $sql ="SELECT t.gemeinde, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; 
    340         $sql.="x(st_transform (st_centroid(f.wkb_geometry),".$epsg.")) AS x, "; 
    341         $sql.="y(st_transform (st_centroid(f.wkb_geometry),".$epsg.")) AS y "; 
     435 
     436        //      $sql.="x(st_transform (st_centroid(f.wkb_geometry),".$epsg.")) AS x, "; 
     437        //      $sql.="y(st_transform (st_centroid(f.wkb_geometry),".$epsg.")) AS y "; 
     438        if($epsg == "25832") { // Transform nicht notwendig 
     439                $sql.="x(st_Centroid(f.wkb_geometry)) AS x, "; 
     440                $sql.="y(st_Centroid(f.wkb_geometry)) AS y "; 
     441        } 
     442        else {   
     443                $sql.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
     444                $sql.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";                   
     445        } 
    342446        $sql.="FROM ax_gemarkung g "; 
    343447        $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
     
    363467                $x=$row["x"]; 
    364468                $y=$row["y"]; 
    365                 if($gemeinde > 0 and $gemeinde != $gemei) { // ex-territorial 
     469                if($gemeinde > 0 and $gemeinde != $gemei and $gfilter == 1) { // ex-territorial  
     470                // +++ Wie Abgleich mit Filter=Gemeinde-Liste? Als Array aufbereiten? 
    366471                        echo "\n<div class='fs' title='Kein Zugriff! Liegt au&szlig;erhalb des Gebietes.'>"; 
    367                                 echo "\n\t\t<img class='nwlink' src='ico/Flurstueck.ico' width='16' height='16' alt='FS'> ".$gmkg." ".$flur."-".$fskenn; 
     472                                echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Leer.ico' width='16' height='16' alt='FS'> (".$gmkg." ".$flur."-".$fskenn." )"; 
    368473                        echo "\n</div>";                         
    369474                } else { 
     
    391496if(isset($epsg)) { 
    392497        if ($debug >= 2) {echo "<p>aktueller EPSG='".$epsg."'</p>";} // aus MB 
    393         If (substr($epsg, 0, 5) == "EPSG:") {$epsg=substr($epsg, 5);} 
     498        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    394499} else { 
    395         if ($debug >= 2) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
     500        if ($debug >= 1) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
    396501        $epsg=$gui_epsg; // aus Conf 
    397502} 
     
    400505        } else {echo "<p>Kein Filter Gemeinde</p>";} 
    401506} 
     507if ($gemeinde == "") { 
     508        $gfilter = 0; // ungefiltert 
     509} elseif(strpos($gemeinde, ",") === false) { 
     510        $gfilter = 1; // Einzelwert 
     511} else { 
     512        $gfilter = 2; // Liste 
     513} 
    402514 
    403515// Auch wenn redundant: Das Kennzeichen fÃŒr Anzeige und weitere Links zerlegen 
     
    407519// Wurde eine gml_id (internes Kennzeichen) aus einem Self-Link verwendet? 
    408520// Dann hat das Prioritaet, nicht nach $gbkennz suchen. 
    409 If (isset($gbuchung)) { // gml der Buchungsstelle 
     521if (isset($gbuchung)) { // gml der Buchungsstelle 
    410522        if ($debug >= 2) {echo "<p>Link Buchung(gml)=".$gbuchung."</p>";} 
    411523        EinGrundstueck(true); 
     
    415527                $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    416528                EinGrundstueck(false); 
    417         }; 
    418 } else { 
    419         // Kein internes Kennzeichen (gml_id), die (manuelle) Eingabe interpretieren. 
    420         switch ($kennztyp) { 
    421         // +++ Ersten Schritt "Suche Amtsgericht" voranstellen? 
    422         // +++ Wie kann Filter "Gemeinde" berÃŒcksichtigt werden? 
    423         case 0: // Fehler 
    424                 echo "<p class='err'>Bitte ein Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>"; 
    425                 break; 
    426         case 1: // Eingabe Bezirk-Name (-Teil) -> Liste der Bezirke 
    427                 if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez."</p>";} 
    428                 $beznr=SuchGBBezName(); 
    429                 if ($beznr > 0) { 
    430                         $zgbbez=$beznr; 
    431                         EinBezirk(false); 
    432                 };       
    433                 break; 
    434         case 2: // Eingabe Bezirk-Nummer -> Liste der BlÀtter 
    435                 if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez."</p>";}       
    436                 EinBezirk(true); 
    437                 break; 
    438         case 3: // Eingabe Blatt -> Liste der Buchungen 
    439                 if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt."</p>";} 
    440                 $gblatt=gml_blatt(); // gml_id zum Blatt suchen 
    441                 if ($gblatt != "") { // gefunden                 
    442                         if (EinBlatt(true) == 1) { // darauf genau eine Buchung 
    443                                 $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    444                                 EinGrundstueck(false); 
     529        } 
     530} elseif(isset($ag)) { // Key 'stelle' des Amtsgerichtes 
     531        if ($debug >= 2) {echo "<p>Link Amtsgericht=".$ag."</p>";} 
     532        ListAG( "'".$ag."'" ); // noch mal Kopfzeile 
     533        ListGBBez("'".$ag."'", false); 
     534} else { // Kein Self-Link 
     535        // (manuelle) Eingabe im Formular interpretieren. 
     536        switch ($kennztyp) { // +++ Wie kann Filter "Gemeinde" berÃŒcksichtigt werden? 
     537                case 0: // keine Eingabe, 2 Alternativen 
     538                        // +++ Alternativen-Auswahl konfigurieren? 
     539                //      ListGBBez($ag_liste, true); // gefilterte Liste der Bezirke 
     540                        ListAG($ag_liste); // gefilterte Liste der Amtsgerichte 
     541                        break; 
     542                case 1: // Eingabe Bezirk-Name (-Teil) -> gefilterte Liste der Bezirke 
     543                        if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez."</p>";} 
     544                        $beznr=SuchGBBezName(); 
     545                        if ($beznr > 0) {  // eindeutig 
     546                                $zgbbez=$beznr; 
     547                                EinBezirk(false); // gleich weiter 
     548                        };       
     549                        break; 
     550                case 2: // Eingabe Bezirk-Nummer -> Liste der BlÀtter 
     551                        if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez."</p>";}       
     552                        EinBezirk(true); 
     553                        break; 
     554                case 3: // Eingabe Blatt -> Liste der Buchungen 
     555                        if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt."</p>";} 
     556                        $gblatt=gml_blatt(); // gml_id zum Blatt suchen 
     557                        if ($gblatt != "") { // gefunden                 
     558                                if (EinBlatt(true) == 1) { // darauf genau eine Buchung 
     559                                        $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
     560                                        EinGrundstueck(false); 
     561                                } 
    445562                        } 
    446                 } 
    447                 break; 
    448         case 4: // Eingabe Buchung (Grundstueck) -> Liste der Flurstuecke 
    449                 if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt." BVNR ".$zbvnr."</p>";} 
    450                 $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    451                 EinGrundstueck(true); 
    452                 break; 
     563                        break; 
     564                case 4: // Eingabe Buchung (Grundstueck) -> Liste der Flurstuecke 
     565                        if ($debug >= 2) {echo "<p>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt." BVNR ".$zbvnr."</p>";} 
     566                        $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
     567                        if ($gbuchung != "") { // .. wurde geliefert  
     568                                EinGrundstueck(true); 
     569                        } 
     570                        break; 
     571                case 9: // Fehler 
     572                        echo "<p class='err'>Bitte ein Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>"; 
     573                        break; 
    453574        } 
    454575} 
  • trunk/data/mapbender/http/nav/blank_fls.html

    r60 r86  
    88<body> 
    99<p class='start'>Suche nach Flurst&uuml;ckskennzeichen:<br><br> 
    10 Dieser Programmteil ist bisher erst teilweise realisiert!<br><br> 
    1110M&ouml;gliche Eingaben:<br><br> 
    1211Anfang oder Teil des Gemarkungsnamens<br> 
Note: See TracChangeset for help on using the changeset viewer.