Changeset 376 for trunk/mapbender/http/nav/alkisnav_grd.php
- Timestamp:
- 12/01/16 12:43:03 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mapbender/http/nav/alkisnav_grd.php
r356 r376 1 1 <?php 2 /* Version vom 3 2013-04-16 "import_request_variables" entfÀllt in PHP 5.4 4 2013-04-26 Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung" 5 Code aus _eig nach_fkt ausgelegert, hier mit nutzen. 6 Dazu Var-Namen harmonisieren: $gblatt wird $blattgml 7 ZurÃŒck-Link, Titel der Transaktion anzeigen. 8 2013-04-29 Test mit IE 9 2013-05-07 Strukturierung des Programms, redundanten Code in Functions zusammen fassen 10 2013-05-14 Hervorhebung aktuelles Objekt. Title "Nachweis" auch auf Icon. 11 2013-12-12 Limit in EinBlatt von 200 weit hoch gesetzt (bis BlÀttern möglich wird) 12 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 13 2014-09-15 Bei Relationen den Timestamp abschneiden 14 2014-09-30 RÃŒckbau substring(gml_id) 15 2015-12-10 Umstellen .ico auf .png, Vermeidung nicht initialisierter Variable 2 /* Navigation mit ALKIS-Daten im Mapbender 2.7 - Teil Grundbuch-Suche 3 Diese Version des Programms verwendet die Datenbank-Struktur aus dem norGIS-ALKIS-Importer. 4 5 Version vom 6 2016-02-11 Version fÃŒr norGIS-ALKIS-Import aus Version Classic abgeleitet. 7 2016-03-02 $gemeinde auf feste LÀnge korrigieren 8 2016-11-28 Gemeinsam genutzte Datenbanken ermöglichen 16 9 */ 17 10 … … 23 16 24 17 $cntget = extract($_GET); 18 $gemeinde=str_pad($gemeinde, 3, "0", STR_PAD_LEFT); // temporÀr .. 25 19 include("../../conf/alkisnav_conf.php"); // Konfigurations-Einstellungen 26 20 include("alkisnav_fkt.php"); // Funktionen 27 28 $con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password; 29 $con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$dbname.$dbvers.$gkz); 21 $con = pg_connect ($dbconn) or die ("Fehler bei der Verbindung zur Datenbank ".$dbpre.$dbgkz); 30 22 31 23 echo <<<END 32 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">33 <html >24 <!doctype html> 25 <html lang="de"> 34 26 <head> 35 27 <meta http-equiv="cache-control" content="no-cache"> 36 28 <meta http-equiv="pragma" content="no-cache"> 37 29 <meta http-equiv="expires" content="0"> 38 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">30 <meta charset="utf-8"> 39 31 <title>ALKIS-Suche Grundbuch</title> 40 32 <link rel="stylesheet" type="text/css" href="alkisnav.css"> … … 63 55 64 56 function ListAG($liste_ag, $aktuell) { 65 // Amtsgerichte (Grundbuch ) auflisten, dazu als Filter eine AG-Liste57 // Amtsgerichte (Grundbuchamt) auflisten, dazu als Filter die AG-Liste aus Conf-Datei verwenden. 66 58 global $debug; 67 59 $linelimit=40; … … 97 89 function ListGBBez($agkey) { 98 90 // Grundbuch-Bezirke zu einem Amtsgericht auflisten. 99 // Auch wenn BlÀtter da sind, kann es eine Sackgasse sein.100 // Manchmal haben die BlÀtter keine FlurstÃŒcke im Filter-Bereich 91 // Auch wenn BlÀtter vorhanden sind, kann es eine "Sackgasse" sein. 92 // Manchmal haben die BlÀtter keine FlurstÃŒcke im Filter-Bereich (Gemeinde). 101 93 global $debug; 102 94 $linelimit=100; // Bezirke/AG … … 140 132 141 133 function ag_bez_head($gbbez, $bezaktuell) { 142 // Zu einem Grundbuchbezirks-SchlÃŒssel die Zeilen AG und Bezirkausgeben134 // Zu einem Grundbuchbezirks-SchlÃŒssel die Zeilen "AG" und "Bezirk" ausgeben 143 135 // Parameter = SchlÃŒssel des Bezirks 144 136 #global $debug; … … 304 296 if ($showParent) { 305 297 ag_bez_head($zgbbez, false); // AG + BEZ 306 zeile_blatt ($zgbbez, $gbbeznam, $blattgml, $zblatt, false, "", true);298 zeile_blatt ($zgbbez, "", $blattgml, $zblatt, false, "", true); 307 299 } 308 300 // Body … … 381 373 // Body 382 374 // Anfang (Select-Liste) gleich 383 $sqlanf ="SELECT g. gemeinde, g.gemarkungsname, f.gml_id, f.flurnummer, f.zaehler, f.nenner, ";375 $sqlanf ="SELECT g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; 384 376 if($epsg == "25832") { // Transform nicht notwendig 385 377 $sqlanf.="st_x(st_Centroid(f.wkb_geometry)) AS x, "; … … 393 385 switch ($gfilter) { // Filter Gemeinde 394 386 case 1: // Einzel 395 $sqlfitler="AND g.gemeinde='".$gemeinde."' "; break;387 $sqlfitler="AND f.gemeinde='".$gemeinde."' "; break; 396 388 case 2: // Liste 397 $sqlfilter="AND g.gemeinde in ('".str_replace(",", "','", $gemeinde)."') "; break;389 $sqlfilter="AND f.gemeinde in ('".str_replace(",", "','", $gemeinde)."') "; break; 398 390 } 399 391 400 392 // Direkte Buchungen (Flurst.) 401 $sql =$sqlanf."FROM ax_flurstueck f JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung";393 $sql =$sqlanf."FROM ax_flurstueck f JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 402 394 $sql.="WHERE f.istgebucht = $1 AND f.endet IS NULL ".$sqlfilter."ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 403 395 … … 414 406 while($row = pg_fetch_array($res)) { 415 407 $fs_gml=$row["gml_id"]; 416 $gemei=$row["gemeinde"]; 417 $gmkg=$row["gemarkungsname"]; 408 $gmkg=$row["bezeichnung"]; 418 409 $flur=$row["flurnummer"]; 419 410 $fskenn=$row["zaehler"]; … … 424 415 // Zwischen-Foot 425 416 if($zfs1 == 0) { 426 echo "\n<p class='anz'>Kein Flurstück direkt</p>";417 echo "\n<p class='anz'>Kein Flurstück zu dieser Buchung</p>"; 427 418 } elseif($zfs1 > 1) { 428 419 echo "\n<p class='anz'>".$zfs1." Flurstücke</p>"; … … 433 424 434 425 // Recht "an" (dienende Buchungen und ihre Flurst.) 426 435 427 $sql =$sqlanf.", sd.gml_id AS diengml, sd.laufendenummer AS dienlfd, 436 428 bd.gml_id AS dienbltgml, bd.buchungsblattnummermitbuchstabenerweiterung AS dienblatt, … … 439 431 JOIN ax_buchungsstelle sd ON sd.gml_id=ANY(sh.an) 440 432 JOIN ax_flurstueck f ON f.istgebucht=sd.gml_id 441 JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung433 JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 442 434 JOIN ax_buchungsblatt bd ON sd.istbestandteilvon=bd.gml_id 443 435 JOIN ax_buchungsblattbezirk gd ON bd.land=gd.land AND bd.bezirk=gd.bezirk 444 436 WHERE sh.gml_id = $1 AND sh.endet IS NULL AND sd.endet IS NULL AND f.endet IS NULL AND bd.endet IS NULL AND gd.endet IS NULL " 437 445 438 .$sqlfilter."ORDER BY gd.bezeichnung, bd.buchungsblattnummermitbuchstabenerweiterung, cast(sd.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 446 439 … … 457 450 $gwblatt=""; 458 451 while($row = pg_fetch_array($res)) { 459 $dienstelle=$row["stelle"]; // Stelle (AG) des dien enden GrundstÃŒcks460 $dienbezgml=$row["dienbezgml"]; // Bezirk sdes dien. GS: gml, Nr. und Bezeichnung452 $dienstelle=$row["stelle"]; // Stelle (AG) des dien. Grdst. 453 $dienbezgml=$row["dienbezgml"]; // Bezirk des dien. GS: gml, Nr. und Bezeichnung 461 454 $diengbbez=$row["diengbbez"]; // Bezeichnung 462 455 $dienbezirk=$row["bezirk"]; // Key 463 $dienbltgml=$row["dienbltgml"]; // dien endesBlatt, gml und Nr456 $dienbltgml=$row["dienbltgml"]; // dien. Blatt, gml und Nr 464 457 $dienblatt=$row["dienblatt"]; 465 $diengml=$row["diengml"]; // gml_id des dien enden GrundstÃŒcks458 $diengml=$row["diengml"]; // gml_id des dien. Grdst. 466 459 $dienlfd=$row["dienlfd"]; // BVNR (laufendNr) des dien. GS 467 if ($gwblatt != $dienblatt) { // Gruppierung Blatt - dienend 460 if ($gwblatt != $dienblatt) { // Grupp. Blatt - dien. 461 if ($gwblatt == "") { // der erste "dienende": Einleitungs-Zeile 462 $aber=""; 463 if($zfs1 == 0) {$aber="Aber ein ";} 464 echo "\n<p class='anz' title='Die oben genannte Buchung hat ein Recht an den folgenden Buchungen'>".$aber."Recht an ..</p>"; 465 } 468 466 $gwblatt = $dienblatt; // Steuerg GW Blatt 469 467 zeile_blatt($dienbezirk, $diengbbez, $dienbltgml, $dienblatt, true, "", false); … … 475 473 } // ++ Buchungsart? Welches Recht? 476 474 $fs_gml=$row["gml_id"]; 477 $gemei=$row["gemeinde"]; 478 $gmkg=$row["gemarkungsname"]; 475 $gmkg=$row["bezeichnung"]; 479 476 $flur=$row["flurnummer"]; 480 477 $fskenn=$row["zaehler"]; … … 505 502 } 506 503 504 // Filter aus Conf-Datei 507 505 if ($gemeinde == "") { 508 506 $gfilter = 0; // ungefiltert … … 514 512 } 515 513 516 // Auch wenn redundant: Das Kennzeichen fÃŒr Anzeige und weitere Links zerlegen 514 // Das eingegebene Kennzeichen fÃŒr "Anzeige" und "weitere Links" zerlegen, 515 // auch wenn ÃŒber einen ein Self-Link mit gml_id aufgerufen. 517 516 $kennztyp=ZerlegungGBKennz($gbkennz); 518 517 519 518 // Wurde eine gml_id (internes Kennzeichen) aus einem Self-Link verwendet? 520 // Dann hat das Prioritaet,also *nicht* nach $gbkennz suchen.519 // Dann hat DAS PrioritÀt, dann also *nicht* nach $gbkennz suchen. 521 520 if ($buchunggml != "") { // gml der Buchungsstelle 522 521 $trans="Flurstücke zur Buchungsstelle"; // Link … … 531 530 ListGBBez($ag); 532 531 533 } else { // Eingabe im Formular 534 535 switch ($kennztyp) { 532 } else { // kein Self-Link sondern manuelle Eingabe im Formular 533 switch ($kennztyp) { // wurde oben bereits analysiert und zerlegt 536 534 case 0: // keine Eingabe 537 535 $trans="Liste der Amtsgerichte"; … … 541 539 $trans="Bezirke suchen \"".$gbkennz."\""; 542 540 $beznr=SuchGBBezName(); 543 if ($beznr > 0) { // eindeutig541 if ($beznr > 0) { // wenn der Suchbegriff eindeutig war, .. 544 542 $zgbbez=$beznr; 545 543 $trans="Bezirk gefunden, Blätter dazu"; 546 EinBezirk(false); // gleich weiter544 EinBezirk(false); // .. dann gleich weiter 547 545 }; 548 546 break; 549 case 2: // Eingabe Bezirk-Nummer -> Liste der BlÀtter 547 case 2: // Eingabe Bezirk-Nummer -> Liste der BlÀtter im Bezirk 550 548 $trans="Blätter im GB-Bezirk"; 551 549 EinBezirk(true); 552 550 break; 553 case 3: // Eingabe Blatt -> Liste der Buchungen551 case 3: // Eingabe GB-Blatt -> Liste der Buchungen auf dem Blatt 554 552 $trans="Buchungen auf GB-Blatt"; 555 553 $blattgml=gml_blatt(); // gml_id zum Blatt suchen 556 554 if ($blattgml != "") { // gefunden 557 if (EinBlatt(true) == 1) { // darauf genau eine Buchung558 $trans="GB-Blatt und 1 Buchung"; 559 $buchunggml=gml_buchungsstelle(); // gml_id zum Kennzeichen555 if (EinBlatt(true) == 1) { // wenn darauf genau eine Buchung ist 556 $trans="GB-Blatt und 1 Buchung"; // dann gleich tiefer rein 557 $buchunggml=gml_buchungsstelle(); // gml_id der Buchung 560 558 EinGrundstueck(false); 561 559 } … … 579 577 580 578 // Nach Durchlaufen des PHP-Scriptes die zuletzt ausgefÃŒhrte Transaktion 581 // im Kopf des Ergebnisrahmens anzeigen.579 // im Kopf des Ergebnisrahmens anzeigen. 582 580 // Dazu die im HTML-Header definierte Javascript-Function benutzen. 583 581 // Alternativ wird auch aus dem Javascript "positionieren Karte" dieser Titel gesetzt.
Note: See TracChangeset
for help on using the changeset viewer.