Index: /trunk/mapbender/http/nav/alkisnav_eig.php
===================================================================
--- /trunk/mapbender/http/nav/alkisnav_eig.php (revision 373)
+++ /trunk/mapbender/http/nav/alkisnav_eig.php (revision 374)
@@ -1,19 +1,10 @@
Fehler bei der Verbindung zur Datenbank
".$dbname.$dbvers.$gkz);
+$con_string = "host=".$host." port=".$port." dbname=".$dbname.$gkz." user=".$user." password=".$password;
+$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank
".$dbname.$gkz);
echo <<Fehler bei Name\n";}
$row = pg_fetch_array($res);
+
$zeil1=$row["nachnameoderfirma"].", ".$row["vorname"];
$gebdat=$row["geburtsdatum"];
@@ -92,16 +87,17 @@
$zeil1=htmlentities($zeil1, ENT_QUOTES, "UTF-8");
- $zeil2=trim($row["plz"]." ".$row["ort_post"]);
+ // 2016-07-18: Zeile 2 mit 3 getauscht. Wie Brief-Anschrift
+ $zeil2= trim($row["strasse"]." ".$row["hausnummer"]);
if ($zeil2 != "") {
- $zeil2="\n\t
".htmlentities($zeil2, ENT_QUOTES, "UTF-8");
- }
-
- $zeil3= trim($row["strasse"]." ".$row["hausnummer"]);
+ $zeil2= "\n\t
".htmlentities($zeil2, ENT_QUOTES, "UTF-8");
+ }
+
+ $zeil3=trim($row["plz"]." ".$row["ort_post"]);
if ($zeil3 != "") {
- $zeil3= "\n\t
".htmlentities($zeil3, ENT_QUOTES, "UTF-8");
+ $zeil3="\n\t
".htmlentities($zeil3, ENT_QUOTES, "UTF-8");
}
// Tabelle: Sp.1=Icon, Link zur Auskunft Person, Sp.2=Rahmen
-echo "
+ echo "
";
-return;
+ return;
}
function getEigByName() {
// 1 // Eigentuemer nach Name(-nsanfang)
- global $gkz, $gemeinde, $epsg, $name, $person, $gfilter;
+ global $gkz, $debug, $gemeinde, $epsg, $name, $person, $gfilter;
$linelimit=150;
$arr = explode(",", $name);
@@ -141,7 +137,15 @@
} else {
$match1 = trim($name1)."%";
- }
+ }
+
$sql ="SELECT p.nachnameoderfirma, p.vorname, p.gml_id FROM ax_person p ";
- if ($gfilter > 0) {
+
+// Der Filter auf "Gemeinde" bleibt hier zunÀchst unberÌcksichtigt, bis im NorGIS-ALKIS-Importer ein Ersatz
+// geschaffen wurde fÃŒr die Tabelle "gemeinde_person" aus dem Post-Processing der "klassischen" Datenstruktur.
+// Es können somit Personen gefunden werden, die kein GrundstÌck im berechtigten Bereich haben.
+// Wenn eine Gemeinde-DB aus eigenem NBA geladen wurde, ist das unkritisch.
+// Wenn eine Gemeinde aus einer kreisweiten DB beauskunftet wird, ist das so noch nicht einsetzbar.
+
+/* if ($gfilter > 0) {
$sql.="JOIN gemeinde_person g ON p.gml_id=g.person WHERE p.endet IS NULL AND ";
switch ($gfilter) {
@@ -151,7 +155,8 @@
$sql.="g.gemeinde in ('".str_replace(",", "','", $gemeinde)."') AND "; break;
}
- } else {
+ } else { */
$sql.="WHERE p.endet IS NULL AND ";
- }
+// }
+
if($match1 != '%'){
$sql.="nachnameoderfirma ILIKE $1 AND p.vorname ILIKE $2 ";
@@ -167,4 +172,5 @@
if (!$res) {
echo "\nFehler bei Eigentümer
";
+ if ($debug > 2) {echo "SQL=
".$sql."
$1='".$match."'
";}
return;
}
@@ -192,12 +198,11 @@
// 2 // GrundbÌcher zur gewÀhlten Person
// Es wird in dieser Function nicht geprÃŒft, ob die gefundenen GrundbÃŒcher auch FlurstÃŒcke
-// haben, die im gefilterten Bereich (Gemeinde) liegen. Es können daher Sackgassen entstehen,
+// haben, die im gefilterten Bereich (Gemeinde) liegen. Es können daher "Sackgassen" entstehen,
// also GrundbÌcher, die in der nÀchsten Stufe bei Filterung nicht zu Treffern fÌhren.
-// Das Joinen bis zum FS unter BerÌcksichtigung von speziellen Buchungen ist zu aufwÀndig.
+// Das Joinen bis zum FS unter BerÌcksichtigung von speziellen Buchungen ist aber zu aufwÀndig.
// Dann kann entweder das FS gleich mit ausgegeben werden -> getGBuFSbyPerson.
// Alternativ wÌrde eine Hilfstabelle benötigt, in der im PostProcessing
// das GB-zu-Gemeinde-VerhÀltnis vorbereitet wird.
global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $debug, $bltbez, $bltblatt, $bltseite, $kennztyp, $zgbbez;
- # $zblatt, $zblattn, $zblattz, $zbvnr;
$linelimit=150;
@@ -252,5 +257,5 @@
$gml=$row["gml_g"];
$blatt=$row["blatt"];
- zeile_blatt($zgbbez, $beznam, $gml, $blatt, false, $person, false);
+ zeile_blatt($zgbbez, "", $gml, $blatt, false, $person, false);
$cnt++;
}
@@ -313,5 +318,5 @@
$blatt=$row["blatt"];
zeile_gbbez ($beznam, $bezirk, false);
- zeile_blatt($bezirk, $beznam, $blattgml, $blatt, false, $person, true);
+ zeile_blatt($bezirk, "", $blattgml, $blatt, false, $person, true);
}
GB_Buchung_FS(250, ""); // Blatt > Grundst. > FS, max. 250, ohne Link "Buchung"
@@ -349,5 +354,5 @@
// Baustein 1: SQL-Anfang fuer beide Varianten
$sql1 ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam,
- s1.gml_id as bsgml, s1.laufendenummer AS lfd, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ot.gemarkung, ot.gemarkungsname, ";
+ s1.gml_id as bsgml, s1.laufendenummer AS lfd, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ot.gemashl, trim(trailing from ot.gemarkung) AS gemarkungsname, ";
if($epsg == "25832") { // Transform nicht notwendig
$sql1.="st_x(st_centroid(f.wkb_geometry)) AS x, ";
@@ -373,7 +378,6 @@
// Baustein 2: SQL-Ende fuer beide Varianten
- $sql2 ="JOIN pp_gemarkung ot ON f.land=ot.land AND f.gemarkungsnummer=ot.gemarkung "; // Ortsteil
+ $sql2 ="JOIN gema_shl ot ON f.land || f.gemarkungsnummer = ot.gemashl "; // Ortsteil
$sql2.="WHERE nn.benennt = $1 AND nn.endet IS NULL AND gb.endet IS NULL AND s1.endet IS NULL AND f.endet IS NULL ";
-
$sqlw2="AND s2.endet IS NULL ";
@@ -389,8 +393,9 @@
switch ($gfilter) { // Gemeinde-Filter
case 1: // Einzelwert
- $sql2.="AND ot.gemeinde='".$gemeinde."' "; break;
+ $sql2.="AND substring(ot.gemshl from 6 for 3)='".$gemeinde."' "; break;
case 2: // Liste
- $sql2.="AND ot.gemeinde in ('".str_replace(",", "','", $gemeinde)."') "; break;
- }
+ $sql2.="AND substring(ot.gemshl from 6 for 3) in ('".str_replace(",", "','", $gemeinde)."') "; break;
+ }
+
$sql3 ="ORDER BY b.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;";
// Sortier-Problem: laufendenummer in varchar linksbÃŒndig
@@ -448,5 +453,6 @@
if ($gwgb != $gb_gml) { // Gruppierung Blatt (Grundbuch)
$blatt=$row["blatt"];
- zeile_blatt($bezirk, $beznam, $gb_gml, $blatt, false, $person, false);
+ // zeile_blatt($bezirk, $beznam, $gb_gml, $blatt, false, $person, false);
+ zeile_blatt($bezirk, "", $gb_gml, $blatt, false, $person, false);
$gwgb = $gb_gml; // Steuerg GW GB
$gwbv = ""; // Steuerg GW BVNR
@@ -466,6 +472,12 @@
$zfs1++;
}
+
if($zfs1 == 0) {
if ($bltrecht == "ohne") {echo "\nKeine direkte Buchung gefunden.
";}
+ /* nur Entw.
+ if ($debug > 1) {
+ echo "\nKeine direkte Buchung gefunden.
";
+ if ($debug > 2) {echo "SQL = '".$sql."', $1 = '".$person."'
";}
+ } */
} elseif($zfs1 >= $linelimit) { // das Limit war zu knapp
echo "\n
";
@@ -492,5 +504,6 @@
}
}
- }
+ }
+
if ($bltrecht == "" and $zfs1 > 0) { // beides
echo "
"; // dann Trenner
@@ -523,5 +536,5 @@
$beznam=$row["beznam"];
$blatt=$row["blatt"];
- zeile_blatt ($bezirk, $beznam, $gb_gml, $blatt, false, $person, false);
+ zeile_blatt ($bezirk, "", $gb_gml, $blatt, false, $person, false);
$gwgb = $gb_gml; // Steuerg GW GB
$gwbv = ""; // Steuerg GW BVNR
@@ -532,5 +545,4 @@
$bsgml=$row["bsgml"];
zeile_buchung($bsgml, $bvnr, "", true, false); // Recht an ... // ohne Link!
- # zeile_buchung($bsgml, $bvnr, $bezirk."-".$blatt, true, false); // Recht an ...
}
$fs_gml=$row["gml_id"];
@@ -620,5 +632,4 @@
} else { // mit Filter auf Gemeinde: weniger Daten?
if ($kennztyp > 1) {
- #trans="Grundb. und Flurst. in ".$zgbbez." von .. "; // zu lang
$trans="Grdb. und Flst. von .. in .."; // Filter GB-Bez,
// darunter sind dann Name und Bezirk farblich markiert
@@ -650,5 +661,5 @@
// Nach Durchlaufen des PHP-Scriptes die zuletzt ausgefÃŒhrte Transaktion
-// im Kopf des Ergebnisrahmens anzeigen.
+// im Kopf des Ergebnisrahmens anzeigen.
// Dazu die im HTML-Header definierte Javascript-Function benutzen.
// Alternativ wird auch aus dem Javascript "positionieren Karte" dieser Titel gesetzt.