[66] | 1 | <?php
|
---|
[85] | 2 | /* Version vom |
---|
[278] | 3 | 2011-10-24 Nach Pos-Klick Highlight erneuern statt hideHighlight |
---|
| 4 | 2011-11-07 optional auch Historische FS suchen, Link auf Buchauskunft-Modul alkisfshis.php |
---|
| 5 | 2011-11-09 "h" hinter Flur oder FlurstÃŒck sucht sofort in Historie |
---|
[128] | 6 | Ausgabe Flur in Varianten aktuell/historisch mit gegenseitigen Verweisen |
---|
[278] | 7 | 2011-11-11 Nachfolger-Liste in der DB nachschlagen, und aktuelle FS als solche kennzeichnen |
---|
| 8 | neue Icons fÃŒr Link mit Pfeil |
---|
| 9 | Differenzierung mit/ohne Raumbezug bei Icons fuer Histor. FS |
---|
| 10 | Gemarkung- und Flur-Zeile vor einzelnem FlurstÃŒck ausgeben |
---|
| 11 | 2011-11-17 Nachweis-Links ÃŒber javascript im neuen Hochformat-Fenster |
---|
| 12 | 2013-04-16 "import_request_variables" entfÀllt in PHP 5.4, |
---|
| 13 | Fehlerkorrektur Komma in SQL bei FS-Suche. |
---|
| 14 | 2013-04-26 Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung" |
---|
| 15 | ZurÃŒck-Link, Titel der Transaktion anzeigen |
---|
[280] | 16 | 2013-04-29 Test mit IE |
---|
[85] | 17 | */ |
---|
[276] | 18 | $cntget = extract($_GET); |
---|
[68] | 19 | include("../../conf/alkisnav_conf.php");
$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password;
|
---|
[105] | 20 | $con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$dbname.$dbvers.$gkz); |
---|
| 21 | echo <<<END |
---|
[278] | 22 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
---|
[66] | 23 | <html>
|
---|
| 24 | <head>
|
---|
| 25 | <meta http-equiv="cache-control" content="no-cache">
|
---|
| 26 | <meta http-equiv="pragma" content="no-cache">
|
---|
| 27 | <meta http-equiv="expires" content="0">
|
---|
| 28 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
---|
| 29 | <title>ALKIS-Suche Flurstück</title>
|
---|
| 30 | <link rel="stylesheet" type="text/css" href="alkisnav.css"></link> |
---|
[129] | 31 | <script type="text/javascript"> |
---|
| 32 | function imFenster(dieURL) { |
---|
| 33 | var link = encodeURI(dieURL); |
---|
| 34 | window.open(link,'','left=10,top=10,width=620,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes'); |
---|
| 35 | } |
---|
| 36 | function transtitle(trans) { |
---|
[278] | 37 | document.getElementById('transaktiontitle').innerHTML = trans; |
---|
| 38 | } |
---|
| 39 | </script> |
---|
[129] | 40 | </head>
|
---|
[66] | 41 | <body> |
---|
| 42 | <a href='javascript:history.back()'> |
---|
[280] | 43 | <img src="ico/zurueck.ico" width="16" height="16" alt="<<" title="zurück" /> |
---|
| 44 | </a> |
---|
[278] | 45 | <dfn class='title' id='transaktiontitle'></dfn> |
---|
| 46 | |
---|
[66] | 47 | END; |
---|
[278] | 48 | |
---|
| 49 | function is_ne_zahl($wert) { |
---|
[66] | 50 | // Prueft, ob ein Wert ausschlieÃlich aus den Zahlen 0 bis 9 besteht |
---|
| 51 | if (trim($wert, "0..9") == "") {return true;} else {return false;} |
---|
| 52 | } |
---|
| 53 | |
---|
| 54 | function h_hinten($zahl) { |
---|
[126] | 55 | // Testen: Wurde an eine Zahl ein "h" angehÀngt? |
---|
| 56 | // Wenn ja, dann Schalter setzen und nur numerischen Teil zurÃŒck geben. |
---|
| 57 | global $phist, $debug; |
---|
| 58 | $zahl=trim($zahl); |
---|
[128] | 59 | $zlen=strlen($zahl) - 1; |
---|
[126] | 60 | if ($zlen > 0) { |
---|
[128] | 61 | $hinten = ucfirst(substr($zahl, $zlen, 1)); |
---|
[126] | 62 | if ($hinten == "H" ) { |
---|
| 63 | $vorn=trim(substr($zahl, 0, $zlen)); |
---|
| 64 | if (is_ne_zahl($vorn)) { // Zahl *und* "H" |
---|
| 65 | $zahl = $vorn; |
---|
| 66 | $phist = true; |
---|
| 67 | } |
---|
| 68 | } |
---|
| 69 | } |
---|
| 70 | return $zahl; |
---|
| 71 | } |
---|
| 72 | |
---|
| 73 | function ZerlegungFsKennz($fskennz) {
|
---|
[66] | 74 | // Das eingegebene FlurstÃŒcks-Kennzeichen auseinander nehmen. Erwartet wird gggg-fff-zzzz/nnn |
---|
[126] | 75 | global $debug, $zgemkg, $zflur, $zzaehler, $znenner;
// if ($debug > 1) {echo "<p class='dbg'>Zerlegen: '".$fskennz."'</p>";} |
---|
[66] | 76 | $arr = explode("-", $fskennz, 4); |
---|
[126] | 77 | $zgemkg=trim($arr[0]); |
---|
[66] | 78 | $zflur=h_hinten($arr[1]); |
---|
| 79 | $zfsnr=trim($arr[2]); |
---|
[126] | 80 | if ($debug > 1) {echo "<p class='dbg'>Gemkg: '".$zgemkg."' Flur: '".$zflur."' NR: '".$zfsnr."'</p>";} |
---|
[66] | 81 | |
---|
[126] | 82 | if ($zgemkg == "") { |
---|
| 83 | return 0; // Gemeinden oder Gemarkungen listen |
---|
[66] | 84 | } elseif ( ! is_ne_zahl($zgemkg)) { |
---|
[86] | 85 | return 1; // Such Name |
---|
[66] | 86 | } elseif ($zflur == "") { |
---|
| 87 | return 2; // G-Nr |
---|
| 88 | } elseif ( ! is_ne_zahl($zflur)) { |
---|
| 89 | echo "<p class='err'>Die Flurnummer '".$zflur."' ist nicht numerisch</p>"; |
---|
| 90 | return 9; |
---|
[126] | 91 | } elseif ($zfsnr == "") { |
---|
[86] | 92 | return 3; // Flur |
---|
[126] | 93 | } else { |
---|
[66] | 94 | $zn=explode("/", $zfsnr, 2); |
---|
| 95 | $zzaehler=h_hinten(trim($zn[0])); |
---|
| 96 | $znenner =h_hinten(trim($zn[1])); |
---|
[126] | 97 | if ( ! is_ne_zahl($zzaehler)) { |
---|
| 98 | echo "<p class='err'>FlurstÃŒcksnummer '".$zzaehler."' ist nicht numerisch</p>"; |
---|
[66] | 99 | return 9; |
---|
[126] | 100 | } elseif ($znenner == "") { |
---|
[86] | 101 | return 4; |
---|
[66] | 102 | } elseif (is_ne_zahl($znenner)) { |
---|
| 103 | return 5; |
---|
| 104 | } else { |
---|
| 105 | echo "<p class='err'>FlurstÃŒcks-Nenner '".$znenner."' ist nicht numerisch</p>"; |
---|
| 106 | return 9; |
---|
[126] | 107 | } |
---|
[86] | 108 | } |
---|
[66] | 109 | } |
---|
| 110 | |
---|
| 111 | function gemkg_zeile($zgemkg) { |
---|
| 112 | // Eine Zeile zu Gemarkung ausgeben, SchlÃŒssel wird ÃŒbergeben, Name in DB nachschlagen |
---|
[128] | 113 | global $con, $gkz, $gemeinde, $epsg; |
---|
| 114 | $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;"; |
---|
| 115 | $v=array($zgemkg); |
---|
| 116 | $res=pg_prepare("", $sql); |
---|
| 117 | $res=pg_execute("", $v); |
---|
| 118 | if (!$res) {echo "\n<p class='err'>Fehler bei Gemarkung.</p>";} |
---|
| 119 | $zgmk=0; |
---|
| 120 | while($row = pg_fetch_array($res)) { // eigentlich nur EINE |
---|
| 121 | $gmkg=$row["bezeichnung"]; |
---|
| 122 | $zgmk++; |
---|
| 123 | echo "\n<div class='gk' title='Gemarkung'>"; |
---|
| 124 | echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; |
---|
| 125 | echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$zgemkg."'> ".$gmkg." (".$zgemkg.")</a>"; |
---|
| 126 | echo "\n</div>"; |
---|
| 127 | } |
---|
| 128 | if ($zgmk == 0) { |
---|
| 129 | echo "\n<div class='gk' title='Gemarkung'>"; |
---|
| 130 | echo "\n\t\t<p class='err'><img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; |
---|
| 131 | echo " Gemarkung ".$zgemkg." ist unbekannt.</p>"; |
---|
| 132 | echo "\n</div>"; |
---|
| 133 | return; |
---|
| 134 | } |
---|
| 135 | return 0; |
---|
| 136 | } |
---|
| 137 | |
---|
| 138 | function flur_zeile($zgemkg, $zflur) { |
---|
| 139 | // Eine Zeile zur Flur ausgeben |
---|
| 140 | global $con, $gkz, $gemeinde, $epsg; |
---|
| 141 | echo "\n<div class='fl' title='Flur'>"; |
---|
| 142 | echo "\n\t\t<img class='nwlink' src='ico/Flur.ico' width='16' height='16' alt='Flur'> "; |
---|
| 143 | $url=$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$zgemkg."-".$zflur; |
---|
| 144 | echo "Flur <a href='".$url."'>".$zflur."</a>"; |
---|
| 145 | //echo "<span class='hislnk'>"; |
---|
| 146 | echo " <a class='hislnk' title='Historische Flurstücke' href='".$url."&hist=j'>Hist.</a>"; |
---|
| 147 | echo "\n</div>"; |
---|
| 148 | return 0; |
---|
| 149 | } |
---|
| 150 | |
---|
| 151 | function ListGemeinden() { |
---|
| 152 | // bei Leereingabe die Gemeinden anlisten |
---|
[86] | 153 | global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter; |
---|
[128] | 154 | $linelimit=50; |
---|
[86] | 155 | $sql ="SELECT gemeinde, gemeindename FROM pp_gemeinde "; |
---|
| 156 | switch ($gfilter) { |
---|
[278] | 157 | case 1: // Einzelwert |
---|
[86] | 158 | $sql.="WHERE gemeinde=".$gemeinde." "; |
---|
| 159 | break; |
---|
[278] | 160 | case 2: // Liste |
---|
[86] | 161 | $sql.="WHERE gemeinde in (".$gemeinde.") "; |
---|
| 162 | break; |
---|
[278] | 163 | default: // kein Filter |
---|
[86] | 164 | break; |
---|
| 165 | } |
---|
| 166 | $sql.=" ORDER BY gemeindename LIMIT $1 ;"; |
---|
| 167 | $res=pg_prepare("", $sql); |
---|
[278] | 168 | $res=pg_execute("", array($linelimit)); |
---|
[86] | 169 | if (!$res) { |
---|
| 170 | echo "\n<p class='err'>Fehler bei Gemeinde</p>"; |
---|
| 171 | if ($debug >= 3) {echo "\n<p class='dbg'>".$sql."</p>";} |
---|
| 172 | return 0; |
---|
[126] | 173 | } |
---|
[86] | 174 | $cnt = 0;
|
---|
| 175 | while($row = pg_fetch_array($res)) { |
---|
| 176 | $gemeindename=$row["gemeindename"]; |
---|
| 177 | $stadt=htmlentities($gemeindename, ENT_QUOTES, "UTF-8"); |
---|
[278] | 178 | $bez=urlencode($gemeindename); // Uebergeben an ListGmkgInGemeinde |
---|
| 179 | $gnr=$row["gemeinde"];
echo "\n<div class='gm' title='Gemeinde'>"; |
---|
| 180 | echo "\n\t\t<img class='nwlink' src='ico/Gemeinde.ico' width='16' height='16' alt='Stadt'>"; |
---|
| 181 | echo " Gem. <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&gm=".$gnr."&bez=".$bez."'>"; |
---|
[86] | 182 | echo " ".$stadt."</a> (".$gnr.")"; |
---|
| 183 | echo "\n</div>"; |
---|
| 184 | $cnt++;
|
---|
| 185 | }
|
---|
| 186 | if($cnt == 0){ |
---|
| 187 | echo "\n<p class='anz'>Keine Gemeinde.</p>"; |
---|
| 188 | } elseif($cnt >= $linelimit) { |
---|
| 189 | echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Gemeinden ... und weitere</p>"; |
---|
[278] | 190 | // +++ BlÀttern ? |
---|
[86] | 191 | } elseif($cnt == 1) { // Eindeutig! |
---|
[278] | 192 | return $gnr; |
---|
| 193 | } else { |
---|
[86] | 194 | echo "\n<p class='anz'>".$cnt." Gemeinden</p>"; |
---|
| 195 | } |
---|
[278] | 196 | return 0; |
---|
| 197 | } |
---|
[86] | 198 | |
---|
| 199 | function ListGmkgInGemeinde($gkey) { |
---|
| 200 | // Die (gefuellten) Gemarkungen zu einem Gemeinde-Key (aus Link) listen |
---|
| 201 | global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter, $bez; |
---|
| 202 | $linelimit=70; |
---|
| 203 | $sql ="SELECT gemarkung, gemarkungsname FROM pp_gemarkung "; |
---|
| 204 | $sql.="WHERE gemeinde= $1 ORDER BY gemarkungsname LIMIT $2 ;"; |
---|
| 205 | $res=pg_prepare("", $sql); |
---|
[278] | 206 | $res=pg_execute("", array($gkey, $linelimit)); |
---|
| 207 | if (!$res) { |
---|
[86] | 208 | echo "\n<p class='err'>Fehler bei Gemarkungen</p>"; |
---|
| 209 | if ($debug >= 3) {echo "\n<p class='dbg'>".$sql."</p>";} |
---|
| 210 | return 0; |
---|
| 211 | } |
---|
[126] | 212 | // Hierarchie Dokumentieren, Gemeinde-Name? |
---|
[86] | 213 | echo "\n<div class='gm' title='Gemeinde'>"; |
---|
| 214 | echo "\n\t\t<img class='nwlink' src='ico/Gemeinde.ico' width='16' height='16' alt='Stadt'>"; |
---|
| 215 | echo " Gem. ".$bez." (".$gkey.")"; // .urldecode($bez). ?? |
---|
| 216 | echo "\n</div>"; |
---|
| 217 | $cnt = 0;
|
---|
| 218 | while($row = pg_fetch_array($res)) { |
---|
| 219 | $gnam=htmlentities($row["gemarkungsname"], ENT_QUOTES, "UTF-8");
|
---|
| 220 | $gnr=$row["gemarkung"];
echo "\n<div class='gk' title='Gemarkung'>"; |
---|
| 221 | echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; |
---|
[278] | 222 | echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$gnr."'>"; |
---|
| 223 | echo " ".$gnam."</a> (".$gnr.")"; |
---|
[86] | 224 | echo "\n</div>"; |
---|
| 225 | $cnt++;
|
---|
| 226 | }
|
---|
| 227 | if($cnt == 0){ |
---|
| 228 | echo "\n<p class='anz'>Keine Gemarkung.</p>"; |
---|
| 229 | } elseif($cnt >= $linelimit) { |
---|
| 230 | echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Gemarkungen ... und weitere</p>"; |
---|
| 231 | // +++ BlÀttern ? |
---|
[278] | 232 | } elseif($cnt == 1) { // Eindeutig! |
---|
[86] | 233 | return $gnr; |
---|
[278] | 234 | } else { |
---|
| 235 | echo "\n<p class='anz'>".$cnt." Gemarkungen</p>"; |
---|
[86] | 236 | } |
---|
| 237 | return 0; |
---|
[278] | 238 | } |
---|
| 239 | |
---|
[86] | 240 | function SuchGmkgName() { |
---|
| 241 | // Gemarkung suchen nach Name(-nsanfang) |
---|
| 242 | global $con, $gkz, $gemeinde, $epsg, $debug, $fskennz, $gfilter; |
---|
| 243 | $linelimit=120; |
---|
[66] | 244 | if(preg_match("/\*/",$fskennz)){
|
---|
| 245 | $match = trim(preg_replace("/\*/i","%", strtoupper($fskennz)));
|
---|
[86] | 246 | } else {
|
---|
[66] | 247 | $match = trim($fskennz)."%";
|
---|
| 248 | } |
---|
| 249 | $sql ="SELECT g.gemeinde, g.gemarkung, g.gemarkungsname "; |
---|
| 250 | If ($gfilter == 0 OR $gfilter == 2) { // Stadt anzeigen |
---|
| 251 | $sql.=", s.gemeindename FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde = s.gemeinde "; |
---|
| 252 | } else { |
---|
[278] | 253 | $sql.="FROM pp_gemarkung g "; |
---|
| 254 | } |
---|
| 255 | $sql.="WHERE g.gemarkungsname ILIKE $1 "; |
---|
| 256 | switch ($gfilter) { |
---|
| 257 | case 1: // Einzelwert |
---|
| 258 | $sql.="AND g.gemeinde = ".$gemeinde." "; |
---|
| 259 | break; |
---|
[85] | 260 | case 2: // Liste |
---|
| 261 | $sql.="AND g.gemeinde in (".$gemeinde.") "; |
---|
[278] | 262 | break; |
---|
[85] | 263 | default: // kein Filter |
---|
| 264 | break; |
---|
[278] | 265 | } |
---|
[85] | 266 | $sql.=" ORDER BY g.gemarkungsname LIMIT $2 ;"; |
---|
| 267 | $v=array($match, $linelimit); |
---|
| 268 | $res=pg_prepare("", $sql); |
---|
| 269 | $res=pg_execute("", $v); |
---|
[278] | 270 | if (!$res) { |
---|
[66] | 271 | echo "\n<p class='err'>Fehler bei Gemarkung</p>"; |
---|
| 272 | if ($debug >= 3) {echo "\n<p class='dbg'>".$sql."</p>";} |
---|
| 273 | return 0; |
---|
| 274 | } |
---|
| 275 | $cnt = 0;
|
---|
[126] | 276 | while($row = pg_fetch_array($res)) { |
---|
[66] | 277 | $gnam=htmlentities($row["gemarkungsname"], ENT_QUOTES, "UTF-8");
|
---|
| 278 | $gnr=$row["gemarkung"]; |
---|
| 279 | |
---|
| 280 | echo "\n<div class='gk' title='Gemarkung'>"; |
---|
[278] | 281 | echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; |
---|
| 282 | echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$gnr."'>"; |
---|
| 283 | echo " ".$gnam."</a> (".$gnr.")"; |
---|
[66] | 284 | switch ($gfilter) { |
---|
[86] | 285 | case 0: // Kein Filter |
---|
| 286 | echo " ".$row["gemeindename"]; |
---|
[68] | 287 | break; |
---|
[85] | 288 | case 2: // Liste |
---|
| 289 | echo " ".$row["gemeindename"]; |
---|
[278] | 290 | break; |
---|
[85] | 291 | default: // Einzelwert |
---|
| 292 | break; |
---|
[278] | 293 | } |
---|
[85] | 294 | echo "\n</div>"; |
---|
| 295 | $cnt++;
|
---|
| 296 | }
|
---|
| 297 | if($cnt == 0){ |
---|
[66] | 298 | echo "\n<p class='anz'>Keine Gemarkung.</p>"; |
---|
| 299 | } elseif($cnt >= $linelimit) { |
---|
| 300 | echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Gemarkungen ... und weitere</p>"; |
---|
| 301 | } elseif($cnt == 1) { // Eindeutig! |
---|
[278] | 302 | return $gnr; |
---|
[66] | 303 | } else { |
---|
[278] | 304 | echo "\n<p class='anz'>".$cnt." Gemarkungen</p>"; |
---|
[66] | 305 | } |
---|
| 306 | return 0; |
---|
[278] | 307 | } |
---|
| 308 | |
---|
[66] | 309 | function EineGemarkung($AuchGemkZeile) { |
---|
| 310 | // Kennzeichen bestehend nur aus Gemarkung-SchlÃŒssel wurde eingegeben |
---|
| 311 | global $con, $gkz, $gemeinde, $epsg, $debug, $zgemkg; |
---|
| 312 | $linelimit=120; // max. Fluren je Gemarkung |
---|
| 313 | if ($AuchGemkZeile) { |
---|
[128] | 314 | $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;"; // WHERE f.land= ? |
---|
[86] | 315 | $v=array($zgemkg); |
---|
[66] | 316 | $res=pg_prepare("", $sql); |
---|
| 317 | $res=pg_execute("", $v); |
---|
| 318 | if (!$res) {echo "\n<p class='err'>Fehler bei Gemarkung.</p>";} |
---|
| 319 | $zgmk=0; |
---|
| 320 | while($row = pg_fetch_array($res)) { |
---|
| 321 | $gmkg=$row["bezeichnung"]; |
---|
| 322 | $zgmk++; |
---|
| 323 | } |
---|
| 324 | if ($zgmk == 0) { |
---|
| 325 | echo "\n<div class='gk' title='Gemarkung'>"; |
---|
| 326 | echo "\n\t\t<p class='err'><img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; |
---|
| 327 | echo " Gemarkung ".$zgemkg." ist unbekannt.</p>"; |
---|
| 328 | echo "\n</div>"; |
---|
| 329 | return; |
---|
[86] | 330 | } |
---|
[66] | 331 | // > 1 auch möglich? |
---|
| 332 | echo "\n<div class='gk' title='Gemarkung'>"; |
---|
| 333 | echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'> "; |
---|
| 334 | echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$zgemkg."'>"; |
---|
[86] | 335 | echo $gmkg."</a> (".$zgemkg.")"; // in Gemeinde? |
---|
[66] | 336 | echo "\n</div>"; |
---|
[86] | 337 | } |
---|
| 338 | $sql ="SELECT gemarkungsteilflur AS flur FROM ax_gemarkungsteilflur f "; |
---|
[68] | 339 | $sql.="WHERE gemarkung= $1 ORDER BY gemarkungsteilflur LIMIT $2 ;"; // WHERE f.land= ? |
---|
[66] | 340 | $v=array($zgemkg, $linelimit); |
---|
| 341 | $res=pg_prepare("", $sql); |
---|
| 342 | $res=pg_execute("", $v); |
---|
| 343 | if (!$res) {echo "\n<p class='err'>Fehler bei Flur.</p>";} |
---|
| 344 | $zfl=0; |
---|
| 345 | while($row = pg_fetch_array($res)) { |
---|
| 346 | $flur=$row["flur"]; |
---|
| 347 | echo "\n<div class='fl' title='Flur'>"; |
---|
| 348 | echo "\n\t\t<img class='nwlink' src='ico/Flur.ico' width='16' height='16' alt='Flur'> "; |
---|
| 349 | echo "Flur<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$zgemkg."-".$flur."'> ".$flur." </a>"; |
---|
| 350 | echo "\n</div>"; |
---|
| 351 | $zfl++; |
---|
[124] | 352 | } |
---|
[86] | 353 | if($zfl == 0) { |
---|
[66] | 354 | echo "\n<p class='anz'>Keine Flur.</p>"; |
---|
| 355 | } elseif($zfl >= $linelimit) { |
---|
| 356 | echo "\n<p class='anz'>".$zfl." Fluren ... und weitere</p>"; |
---|
| 357 | } elseif($zfl > 1) { |
---|
[278] | 358 | echo "\n<p class='anz'>".$zfl." Fluren</p>"; |
---|
| 359 | } |
---|
| 360 | return; |
---|
| 361 | } |
---|
| 362 | |
---|
[66] | 363 | function EineFlur() { |
---|
| 364 | // Kennzeichen aus Gemarkung und FlurNr wurde eingegeben, dazu aktuelle FlurstÃŒcke suchen |
---|
| 365 | global $con, $gkz, $gemeinde, $epsg, $debug, $scalefs, $auskpath, $zgemkg, $zflur; |
---|
| 366 | $linelimit=600; // Wie groà kann eine Flur sein? |
---|
[126] | 367 | gemkg_zeile($zgemkg); |
---|
[128] | 368 | flur_zeile($zgemkg, $zflur); |
---|
[126] | 369 | |
---|
| 370 | $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; |
---|
| 371 | if($epsg == "25832") { // Transform nicht notwendig |
---|
[128] | 372 | $sql.="st_x(st_Centroid(f.wkb_geometry)) AS x, "; |
---|
[66] | 373 | $sql.="st_y(st_Centroid(f.wkb_geometry)) AS y "; |
---|
| 374 | } else { |
---|
[86] | 375 | $sql.="st_x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, "; |
---|
[189] | 376 | $sql.="st_y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y "; |
---|
| 377 | } |
---|
[128] | 378 | $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 "; |
---|
[189] | 379 | $sql.="ORDER BY f.zaehler, f.nenner LIMIT $3 ;"; // WHERE f.land= ? |
---|
| 380 | $v=array($zgemkg, $zflur, $linelimit); |
---|
[86] | 381 | $res=pg_prepare("", $sql); |
---|
[66] | 382 | $res=pg_execute("", $v); |
---|
| 383 | if (!$res) {echo "\n<p class='err'>Fehler bei Flur.</p>";} |
---|
| 384 | $zfs=0; |
---|
| 385 | while($row = pg_fetch_array($res)) { |
---|
| 386 | $fs_gml=$row["gml_id"]; |
---|
| 387 | $flur=$row["flurnummer"]; |
---|
| 388 | $fskenn=$row["zaehler"]; |
---|
| 389 | if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer |
---|
| 390 | $x=$row["x"]; |
---|
| 391 | $y=$row["y"]; |
---|
| 392 | echo "\n<div class='fs'>"; |
---|
| 393 | echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&gmlid=".$fs_gml."\")'>"; |
---|
| 394 | echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS'>"; |
---|
| 395 | echo "\n\t</a> "; |
---|
| 396 | echo "\n\tFlst. <a title='Flurstück positionieren 1:".$scalefs."' href='"; |
---|
[129] | 397 | echo "javascript:"; |
---|
[66] | 398 | echo "transtitle(\"auf Flurstück positioniert\"); "; |
---|
| 399 | echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; |
---|
| 400 | echo "parent.parent.showHighlight(".$x.",".$y.");' "; |
---|
[278] | 401 | echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' ";
|
---|
| 402 | echo "onmouseout='parent.parent.hideHighlight()'> ".$fskenn." </a>"; |
---|
| 403 | echo "\n</div>"; |
---|
[115] | 404 | $zfs++; |
---|
[66] | 405 | } |
---|
| 406 | if($zfs == 0) { |
---|
| 407 | echo "\n<p class='anz'>Kein Flurstück.</p>"; |
---|
| 408 | } elseif($zfs >= $linelimit) { |
---|
| 409 | echo "\n<p class='anz'>".$zfs." Flurstücke... und weitere</p>"; |
---|
| 410 | } elseif($zfs > 1) { |
---|
[278] | 411 | echo "\n<p class='anz'>".$zfs." Flurstücke</p>"; |
---|
[66] | 412 | } |
---|
[278] | 413 | return; |
---|
| 414 | } |
---|
| 415 | |
---|
[66] | 416 | function HistFlur() { |
---|
| 417 | // Kennzeichen aus Gemarkung und FlurNr wurde eingegeben |
---|
| 418 | // Die Flur nach historischen FlurstÃŒcken durchsuchen |
---|
| 419 | global $con, $gkz, $gemeinde, $epsg, $debug, $scalefs, $auskpath, $land, $zgemkg, $zflur; |
---|
[126] | 420 | $linelimit=500; |
---|
[128] | 421 | |
---|
| 422 | gemkg_zeile($zgemkg); |
---|
[126] | 423 | echo "\n<div class='fl' title='Flur'>"; |
---|
[128] | 424 | echo "\n\t\t<img class='nwlink' src='ico/Flur.ico' width='16' height='16' alt='Flur-Historie'> "; |
---|
[126] | 425 | $url=$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$zgemkg."-".$zflur; |
---|
| 426 | echo "Historie: Flur<a title='Aktuelle Flurstücke suchen' href='".$url."'> ".$zflur." </a>"; |
---|
| 427 | echo "\n</div>"; |
---|
| 428 | |
---|
| 429 | $whcl.="WHERE flurstueckskennzeichen like $1 "; |
---|
| 430 | $sql ="SELECT 'h' AS ftyp, gml_id, zaehler, nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueck ".$whcl; |
---|
| 431 | $sql.="UNION SELECT 'o' AS ftyp, gml_id, zaehler, nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueckohneraumbezug ".$whcl; |
---|
| 432 | $sql.="ORDER BY zaehler, nenner LIMIT $2 ;"; |
---|
| 433 | $fskzwhere =$land.$zgemkg.str_pad($zflur, 3, "0", $STR_PAD_LEFT)."%"; |
---|
| 434 | $v=array($fskzwhere, $linelimit); |
---|
| 435 | $res=pg_prepare("", $sql); |
---|
| 436 | $res=pg_execute("", $v); |
---|
| 437 | if (!$res) {echo "\n<p class='err'>Fehler bei Historie Flur.</p>";} |
---|
| 438 | $zfs=0; |
---|
| 439 | |
---|
| 440 | // Konst. Teil d.URL (Flur), FS anhÀngen |
---|
| 441 | $flurl=$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&hist=j&fskennz=".$zgemkg."-".$zflur."-"; |
---|
| 442 | |
---|
| 443 | while($row = pg_fetch_array($res)) { |
---|
| 444 | $ftyp=$row["ftyp"]; |
---|
| 445 | $fs_gml=$row["gml_id"]; // fuer Buchausk. |
---|
| 446 | $fskenn=$row["zaehler"]; |
---|
| 447 | if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer |
---|
| 448 | if ($ftyp == "h") { |
---|
| 449 | $ico="Flurstueck_Historisch_Lnk.ico"; |
---|
| 450 | $titl="Historisches Flurstück"; |
---|
| 451 | } else { |
---|
[128] | 452 | $ico="Flurstueck_Historisch_oR_Lnk.ico"; |
---|
| 453 | $titl="Historisches Flurstück ohne Raumbezug"; |
---|
| 454 | } // h: Karte Pos.? |
---|
| 455 | echo "\n<div class='hi' title='".$titl."'>"; // Zeile |
---|
| 456 | // Icon -> Bauchauskunft |
---|
| 457 | echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfshist.php?gkz=".$gkz."&gmlid=".$fs_gml."\")'>"; |
---|
| 458 | echo "\n\t\t<img class='nwlink' src='ico/".$ico."' width='16' height='16' alt='Hist'>"; |
---|
| 459 | echo "\n\t</a> "; |
---|
[126] | 460 | // Kennzeichen -> weiter in die Historie hinein |
---|
[129] | 461 | echo "\n\tFlst. <a href='".$flurl.$fskenn."'>".$fskenn."</a>"; |
---|
[128] | 462 | echo "\n</div>"; |
---|
[126] | 463 | $zfs++; |
---|
| 464 | } |
---|
| 465 | if($zfs == 0) { |
---|
| 466 | echo "\n<p class='anz'>Kein historisches Flurstück.</p>"; |
---|
| 467 | #if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = ".$fskzwhere."</p>";} |
---|
| 468 | } elseif ($zfs >= $linelimit) { |
---|
| 469 | echo "\n<p class='anz'>".$zfs." historische Flurst. ... und weitere</p>"; |
---|
[278] | 470 | } elseif($zfs > 1) { |
---|
| 471 | echo "\n<p class='anz'>".$zfs." historische Flurstücke</p>"; |
---|
[129] | 472 | } |
---|
[278] | 473 | return; |
---|
| 474 | } |
---|
| 475 | |
---|
[126] | 476 | function EinFlurstueck() { |
---|
| 477 | // FlurstÃŒckskennzeichen wurde komplett bis zum Zaehler eingegeben |
---|
| 478 | // Sonderfall: bei Bruchnummer, mehrere Nenner zum Zaehler |
---|
| 479 | global $con, $gkz, $debug, $scalefs, $epsg, $auskpath, $fskennz, $zgemkg, $zflur, $zzaehler, $znenner; |
---|
[68] | 480 | |
---|
[128] | 481 | gemkg_zeile($zgemkg); |
---|
| 482 | flur_zeile($zgemkg, $zflur); |
---|
[124] | 483 | |
---|
[66] | 484 | $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; |
---|
[128] | 485 | if($epsg == "25832") { // Transform nicht notwendig |
---|
| 486 | $sql.="x(st_Centroid(f.wkb_geometry)) AS x, "; |
---|
| 487 | $sql.="y(st_Centroid(f.wkb_geometry)) AS y "; |
---|
[124] | 488 | } |
---|
[86] | 489 | else { |
---|
| 490 | $sql.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, "; |
---|
[200] | 491 | $sql.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y "; |
---|
[86] | 492 | } |
---|
| 493 | $sql.="FROM ax_flurstueck f "; |
---|
| 494 | $sql.="WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND f.zaehler= $3 "; |
---|
[128] | 495 | If ($znenner != "") {$sql.="AND f.nenner=".$znenner." ";} // wie prepared? |
---|
[86] | 496 | $sql.="ORDER BY f.zaehler, f.nenner;"; |
---|
[128] | 497 | $v=array($zgemkg, $zflur, $zzaehler); |
---|
[66] | 498 | $res=pg_prepare("", $sql); |
---|
| 499 | $res=pg_execute("", $v); |
---|
[128] | 500 | if (!$res) {echo "\n<p class='err'>Fehler bei Flurstück.</p>";} |
---|
[66] | 501 | $zfs=0; |
---|
| 502 | while($row = pg_fetch_array($res)) { |
---|
| 503 | $fs_gml=$row["gml_id"]; |
---|
| 504 | $flur=$row["flurnummer"]; |
---|
| 505 | $fskenn=$row["zaehler"]; |
---|
| 506 | if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer |
---|
| 507 | $x=$row["x"]; |
---|
| 508 | $y=$row["y"]; |
---|
| 509 | echo "\n<div class='fs'>"; |
---|
| 510 | echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&gmlid=".$fs_gml."\")'>"; |
---|
| 511 | echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS'>"; |
---|
| 512 | echo "\n\t</a> "; |
---|
| 513 | echo "\n\tFlst. <a title='Flurstück positionieren 1:".$scalefs."' href='"; |
---|
[129] | 514 | echo "javascript:"; |
---|
[66] | 515 | echo "transtitle(\"auf Flurstück positioniert\"); "; |
---|
| 516 | echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); ";
|
---|
| 517 | echo "parent.parent.showHighlight(".$x.",".$y.");' "; |
---|
[278] | 518 | echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' ";
|
---|
| 519 | echo "onmouseout='parent.parent.hideHighlight()'>"; |
---|
| 520 | echo $fskenn."</a>"; |
---|
[115] | 521 | echo "\n</div>"; |
---|
[66] | 522 | $zfs++; |
---|
| 523 | } |
---|
[128] | 524 | if($zfs == 0) { |
---|
[66] | 525 | echo "\n<p class='err'>Kein aktuelles Flurstück.</p>"; |
---|
| 526 | // Soll in der Historie weiter gesucht werden? |
---|
| 527 | echo "\n<div class='hi' title='Historie'>"; |
---|
[124] | 528 | echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Historisch.ico' width='16' height='16' alt='Historisches Flurstück'> "; |
---|
| 529 | echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$fskennz."&hist=j'>in Historie suchen</a>"; |
---|
| 530 | echo "\n</div>"; |
---|
| 531 | } |
---|
| 532 | return; |
---|
| 533 | } |
---|
| 534 | |
---|
| 535 | function HistFlurstueck() { |
---|
[66] | 536 | // Ein Nachfolger-FS-Kennzeichen soll recherchiert werden. |
---|
| 537 | // Es ist unbekannt, ob dies aktuell ist oder auch schon historisch. |
---|
| 538 | global $con, $gkz, $debug, $scalefs, $epsg, $auskpath, $land, $zgemkg, $zflur, $zzaehler, $znenner; |
---|
[124] | 539 | |
---|
[126] | 540 | gemkg_zeile($zgemkg); |
---|
| 541 | flur_zeile($zgemkg, $zflur); |
---|
[124] | 542 | |
---|
| 543 | // Suche ueber das Flurstueckskennzeichen, gml ist meist unbekannt |
---|
[128] | 544 | $whcl.="WHERE flurstueckskennzeichen= $1 "; |
---|
| 545 | $sql ="SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner, null as nachf FROM ax_flurstueck ".$whcl; |
---|
| 546 | $sql.="UNION SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueck ".$whcl; |
---|
[126] | 547 | $sql.="UNION SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueckohneraumbezug ".$whcl; |
---|
[124] | 548 | |
---|
| 549 | $fskzwhere =$land.$zgemkg; // Flurst-Kennz. f. Where |
---|
| 550 | $fskzwhere.=str_pad($zflur, 3, "0", $STR_PAD_LEFT); |
---|
| 551 | $fskzwhere.=str_pad($zzaehler, 5, "0", $STR_PAD_LEFT); |
---|
| 552 | if ($znenner == "") {$fskzwhere.="______";} |
---|
| 553 | else {$fskzwhere.=str_pad($znenner, 4, "0", $STR_PAD_LEFT)."__";} |
---|
| 554 | |
---|
| 555 | $v=array($fskzwhere); |
---|
| 556 | $res=pg_prepare("", $sql); |
---|
| 557 | $res=pg_execute("", $v); |
---|
| 558 | if (!$res) {echo "\n<p class='err'>Fehler bei hist. Flurstück.</p>";} |
---|
| 559 | $zfs=0; |
---|
| 560 | while($row = pg_fetch_array($res)) { |
---|
| 561 | $ftyp=$row["ftyp"]; |
---|
| 562 | $fs_gml=$row["gml_id"]; |
---|
| 563 | $gknr=$row["gemarkungsnummer"]; |
---|
| 564 | $flur=$row["flurnummer"]; |
---|
| 565 | $fskenn=$row["zaehler"]; |
---|
| 566 | $nachf=$row["nachf"]; |
---|
| 567 | if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer |
---|
| 568 | |
---|
| 569 | if ($ftyp == "a") { // aktuelles FS gefunden, Koordinate holen |
---|
| 570 | |
---|
| 571 | // BEGINN +++ als function ? |
---|
| 572 | $sqlk ="SELECT "; |
---|
[126] | 573 | if($epsg == "25832") { // Transform nicht notwendig |
---|
[128] | 574 | $sqlk.="x(st_Centroid(wkb_geometry)) AS x, "; |
---|
| 575 | $sqlk.="y(st_Centroid(wkb_geometry)) AS y "; |
---|
| 576 | } else { |
---|
[124] | 577 | $sqlk.="x(st_transform(st_Centroid(wkb_geometry), ".$epsg.")) AS x, "; |
---|
[128] | 578 | $sqlk.="y(st_transform(st_Centroid(wkb_geometry), ".$epsg.")) AS y "; |
---|
| 579 | } |
---|
[124] | 580 | $sqlk.="FROM ax_flurstueck WHERE gml_id= $1 "; |
---|
[128] | 581 | $v=array($fs_gml); |
---|
| 582 | $resk=pg_prepare("", $sqlk); |
---|
[124] | 583 | $resk=pg_execute("", $v); |
---|
[128] | 584 | if (!$resk) {echo "\n<p class='err'>Fehler bei Koordinate.</p>";} |
---|
[124] | 585 | $zfsk=0; |
---|
[128] | 586 | while($rowk = pg_fetch_array($resk)) { |
---|
| 587 | $x=$rowk["x"]; |
---|
| 588 | $y=$rowk["y"]; |
---|
| 589 | $zfsk++; |
---|
| 590 | } |
---|
| 591 | if ($zfsk == 0) {echo "\n<p class='err'>Kein Treffer bei Koordinate.</p>";} |
---|
| 592 | // ENDE +++ als function ? |
---|
| 593 | |
---|
[124] | 594 | echo "\n<p>aktueller Nachfolger:</p>"; |
---|
[128] | 595 | echo "\n<div class='fs' title='Aktuelles Nachfolger-Flurstück'>"; // Zeile |
---|
| 596 | |
---|
| 597 | // Icon -> Nachweis FS-Hist. in Buchauskunft |
---|
[124] | 598 | echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&gmlid=".$fs_gml."\")'>"; |
---|
[126] | 599 | echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS'>"; |
---|
[124] | 600 | echo "\n\t</a> "; |
---|
| 601 | |
---|
[129] | 602 | // Kennzeichen -> Karte positionieren |
---|
[124] | 603 | echo "\n\tFlst. <a title='Flurstück positionieren 1:".$scalefs."' href='"; |
---|
| 604 | echo "javascript:"; |
---|
| 605 | echo "transtitle(\"auf H-Flurstück positioniert\"); "; |
---|
| 606 | echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); ";
|
---|
| 607 | echo "parent.parent.showHighlight(".$x.",".$y.");' "; |
---|
[278] | 608 | echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' ";
|
---|
| 609 | echo "onmouseout='parent.parent.hideHighlight()'>"; |
---|
| 610 | // echo $flur."-".$fskenn."</a>"; |
---|
[124] | 611 | echo $fskenn."</a>"; |
---|
| 612 | |
---|
| 613 | echo "\n</div>"; |
---|
[128] | 614 | |
---|
| 615 | } else { // Historisches FS gefunden (h oder o) |
---|
[124] | 616 | // echo "\n<p>Historisches Flurstück:</p>"; |
---|
| 617 | |
---|
| 618 | if ($ftyp == "h") { |
---|
| 619 | $ico="Flurstueck_Historisch_Lnk.ico"; |
---|
[128] | 620 | $titl="Historisches Flurstück"; |
---|
[124] | 621 | } else { |
---|
[128] | 622 | $ico="Flurstueck_Historisch_oR_Lnk.ico"; |
---|
| 623 | $titl="Historisches Flurstück ohne Raumbezug"; |
---|
| 624 | } // h: Karte Pos.? |
---|
| 625 | echo "\n<div class='hi' title='".$titl."'>"; |
---|
| 626 | echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfshist.php?gkz=".$gkz."&gmlid=".$fs_gml."\")'>"; |
---|
| 627 | echo "\n\t\t<img class='nwlink' src='ico/".$ico."' width='16' height='16' alt='Hist'>"; |
---|
| 628 | echo "\n\t</a> Historisches Flst. ".$fskenn."</a>"; |
---|
| 629 | echo "\n</div>"; |
---|
[129] | 630 | |
---|
[128] | 631 | if ($nachf == "") { |
---|
| 632 | echo "\n<p class='err'>keine Nachfolger</p>"; |
---|
[124] | 633 | } else { |
---|
| 634 | echo "\n<p>Nachfolger-Flurstücke:</p>"; |
---|
| 635 | // Die direkten Nachfolger ermitteln |
---|
| 636 | // Nachfolger in DB suchen um den Status aktuell/historisch zu ermitteln |
---|
| 637 | $stri=trim($nachf, "{}"); |
---|
[128] | 638 | $stri="'".str_replace(",", "','", $stri)."'"; |
---|
| 639 | // $whcln.="WHERE flurstueckskennzeichen IN ( $1 ) "; |
---|
| 640 | $whcln.="WHERE flurstueckskennzeichen IN ( ".$stri." ) "; |
---|
[124] | 641 | $sqln ="SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_flurstueck ".$whcln; |
---|
[128] | 642 | $sqln.="UNION SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueck ".$whcln; |
---|
| 643 | $sqln.="UNION SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueckohneraumbezug ".$whcln; |
---|
| 644 | // $v=array($stri); |
---|
| 645 | $v=array(); |
---|
| 646 | $resn=pg_prepare("", $sqln); |
---|
| 647 | $resn=pg_execute("", $v); |
---|
| 648 | if (!$resn) {echo "\n<p class='err'>Fehler bei Nachfolger.</p>";} |
---|
| 649 | $zfsn=0; |
---|
| 650 | while($rown = pg_fetch_array($resn)) { |
---|
| 651 | $ftypn=$rown["ftyp"]; |
---|
| 652 | $na_gml=$rown["gml_id"]; |
---|
| 653 | $gknrn=$rown["gemarkungsnummer"]; |
---|
| 654 | $flurn=$rown["flurnummer"]; |
---|
| 655 | $fskennn=$rown["zaehler"]; |
---|
| 656 | if ($rown["nenner"] != "") {$fskennn.="/".$rown["nenner"];} |
---|
| 657 | |
---|
| 658 | switch ($ftypn) { |
---|
| 659 | case "a": |
---|
| 660 | $ico="Flurstueck_Link.ico"; |
---|
[124] | 661 | $titl="Aktuelles Flurstück"; |
---|
[128] | 662 | $hisparm=""; |
---|
| 663 | $auskprog="alkisfsnw"; |
---|
| 664 | // ++ Koordinaten holen? siehe oben "als function" |
---|
| 665 | break; |
---|
| 666 | case "h": |
---|
| 667 | $ico="Flurstueck_Historisch_Lnk.ico"; |
---|
| 668 | $titl="Historisches Flurstück"; |
---|
| 669 | $hisparm="&hist=j"; |
---|
| 670 | $auskprog="alkisfshist"; |
---|
| 671 | break; |
---|
| 672 | case "o": |
---|
| 673 | $ico="Flurstueck_Historisch_oR_Lnk.ico"; |
---|
| 674 | $titl="Historisches Flurstück ohne Raumbezug"; |
---|
| 675 | $hisparm="&hist=j"; |
---|
| 676 | $auskprog="alkisfshist"; |
---|
| 677 | break; |
---|
| 678 | } |
---|
| 679 | $fs=$gknrn."-".$flurn."-".$fskennn; |
---|
| 680 | echo "\n<div class='hn' title='Nachfolger: ".$titl."'>"; |
---|
| 681 | echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath.$auskprog.".php?gkz=".$gkz."&gmlid=".$na_gml."\")'>"; |
---|
| 682 | echo "\n\t\t<img class='nwlink' src='ico/".$ico."' width='16' height='16' alt='FS'>"; |
---|
| 683 | echo "\n\t</a> "; |
---|
| 684 | echo "Flst. <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$fs.$hisparm."'>".$fskennn."</a>"; |
---|
[129] | 685 | echo "\n</div>"; |
---|
[128] | 686 | |
---|
[124] | 687 | $zfsn++; |
---|
[128] | 688 | // Kontrollieren: Wurden auch so viele FS in DB gefunden, wie im Array "Where in()" standen? |
---|
| 689 | } |
---|
[124] | 690 | if ($zfsn == 0) { |
---|
[128] | 691 | echo "\n<p class='err'>keine Nachfolger gefunden</p>"; |
---|
| 692 | if ($debug > 1) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>Liste=<br> ".$stri."</p>";} |
---|
[124] | 693 | } |
---|
[128] | 694 | } |
---|
[278] | 695 | } |
---|
| 696 | $zfs++; |
---|
[128] | 697 | } |
---|
[124] | 698 | if($zfs == 0) { |
---|
| 699 | echo "\n<p class='err'>Kein historisches Flurstück.</p>"; |
---|
| 700 | #if ($debug > 2) {echo "\n<p class='dbg'>".$sql."</p>";} |
---|
| 701 | } |
---|
| 702 | return; |
---|
| 703 | } |
---|
[278] | 704 | |
---|
[124] | 705 | // =========== |
---|
| 706 | // Start hier! |
---|
| 707 | // =========== |
---|
| 708 | if(isset($epsg)) { |
---|
[66] | 709 | //if ($debug >= 2) {echo "<p class='dbg'>aktueller EPSG='".$epsg."'</p>";} // aus MB |
---|
| 710 | $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]); |
---|
| 711 | } else { |
---|
| 712 | if ($debug >= 1) {echo "\n<p class='dbg'>kein EPSG gesetzt</p>";} |
---|
[126] | 713 | $epsg=$gui_epsg; // aus Conf |
---|
[86] | 714 | } |
---|
[66] | 715 | //if ($debug >= 2) {echo "<p class='dbg'>Filter Gemeinde = ".$gemeinde."</p>";} |
---|
[278] | 716 | if ($gemeinde == "") { |
---|
[66] | 717 | $gfilter = 0; // ungefiltert |
---|
| 718 | } elseif(strpos($gemeinde, ",") === false) { |
---|
[126] | 719 | $gfilter = 1; // Einzelwert |
---|
[85] | 720 | } else { |
---|
| 721 | $gfilter = 2; // Liste |
---|
| 722 | } |
---|
| 723 | if ($hist == "j") {$phist = true;} else {$phist = false;} |
---|
| 724 | |
---|
| 725 | if(isset($gm)) { // Self-Link aus Gemeinde-Liste |
---|
| 726 | $trans="Gemarkungen zur Gemeinde"; |
---|
[126] | 727 | $gnr=ListGmkgInGemeinde($gm); |
---|
[66] | 728 | if ($gnr > 0) { |
---|
[278] | 729 | $zgemkg=$gnr; |
---|
| 730 | EineGemarkung(false); |
---|
| 731 | } |
---|
[66] | 732 | } else { // Die Formular-Eingabe interpretieren (kann auch ein Link sein) |
---|
| 733 | $retzer=ZerlegungFsKennz($fskennz); |
---|
| 734 | #if ($debug > 1) {echo "<p class='dbg'>Return Zerlegung (case) = '".$retzer."'</p>";} |
---|
[126] | 735 | switch ($retzer) { |
---|
[278] | 736 | case 0: // leere Eingabe |
---|
[126] | 737 | if ($gfilter == 1) { // Die GUI ist bereits auf eine Gemeinde gefiltert |
---|
[278] | 738 | $trans="Liste der Gemarkungen"; |
---|
[126] | 739 | SuchGmkgName(); |
---|
[86] | 740 | } else { |
---|
| 741 | $trans="Liste der Gemeinden"; |
---|
[278] | 742 | ListGemeinden(); |
---|
| 743 | } |
---|
[86] | 744 | break; |
---|
[278] | 745 | case 1: |
---|
| 746 | #if ($debug >= 2) {echo "<p class='dbg'>Gemarkungsname ".$zgemkg."</p>";} |
---|
[86] | 747 | $trans="Suche Gemarkungsname"; |
---|
[124] | 748 | $gnr=SuchGmkgName(); |
---|
[86] | 749 | if ($gnr > 0) { |
---|
[278] | 750 | $trans="1 Gemarkung, Fluren dazu"; |
---|
| 751 | $zgemkg=$gnr; |
---|
[86] | 752 | EineGemarkung(false); |
---|
| 753 | } |
---|
[278] | 754 | break; |
---|
[86] | 755 | case 2: |
---|
| 756 | #if ($debug >= 2) {echo "<p class='dbg'>Gemarkungsnummer ".$zgemkg."</p>";} |
---|
[126] | 757 | $trans="Fluren in Gemarkung"; |
---|
[124] | 758 | EineGemarkung(true); |
---|
[86] | 759 | break; |
---|
[278] | 760 | case 3: |
---|
| 761 | #if ($debug >= 2) {echo "<p class='dbg'>Gemarkung ".$zgemkg." Flur ".$zflur."</p>";} |
---|
[86] | 762 | if ($phist) { |
---|
[124] | 763 | $trans="historische Flurst. in Flur"; |
---|
[86] | 764 | HistFlur(); |
---|
[278] | 765 | } else { |
---|
| 766 | $trans="Flurstücke in Flur"; |
---|
| 767 | EineFlur(); |
---|
| 768 | } |
---|
| 769 | break; |
---|
| 770 | case 4: |
---|
| 771 | #if ($debug >= 2) {echo "<p class='dbg'>Gemarkung ".$zgemkg." Flur ".$zflur." FlurstÃŒck ".$zzaehler."</p>";} |
---|
| 772 | if ($phist) { |
---|
[124] | 773 | $trans="historisches Flurstück"; |
---|
[86] | 774 | HistFlurstueck(); |
---|
[278] | 775 | } else { |
---|
| 776 | $trans="Flurstück"; |
---|
| 777 | EinFlurstueck(); |
---|
| 778 | } |
---|
| 779 | break; |
---|
| 780 | case 5: |
---|
| 781 | if ($phist) { |
---|
| 782 | $trans="historisches Flurstück"; |
---|
[124] | 783 | HistFlurstueck(); |
---|
[86] | 784 | } else { |
---|
[278] | 785 | $trans="Flurstück"; |
---|
| 786 | EinFlurstueck(); |
---|
| 787 | } |
---|
| 788 | break; |
---|
| 789 | case 9: |
---|
| 790 | $trans="falsche Eingabe"; |
---|
| 791 | echo "\n<p class='err'>Bitte ein Flurstückskennzeichen eingegeben, Format 'gggg-fff-zzzz/nnn</p>"; |
---|
[124] | 792 | break; |
---|
[86] | 793 | } |
---|
[278] | 794 | } |
---|
| 795 | // Titel im Kopf anzeigen |
---|
[124] | 796 | echo "\n<script type='text/javascript'>\n\ttranstitle('".$trans."')\n</script>"; |
---|
[86] | 797 | |
---|
[66] | 798 | ?> |
---|
[278] | 799 |
|
---|
| 800 | </body>
|
---|
| 801 | </html> |
---|