Index: trunk/var/www/info/alkis/alkisfsnw.php
===================================================================
--- trunk/var/www/info/alkis/alkisfsnw.php (revision 127)
+++ trunk/var/www/info/alkis/alkisfsnw.php (revision 128)
@@ -10,4 +10,5 @@
26.07.2011 debug, SQL nur im Test-Modus anzeigen.
02.11.2011 6.+7. Parameter fuer function eigentuemer()
+ 16.11.2011 Neuer Style class='dbg', Link Historie
ToDo:
@@ -61,5 +62,5 @@
$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
if (!$con) echo "
Fehler beim Verbinden der DB
\n";
-if ($debug > 1) {echo "DB=".$dbname.", user=".$dbuser."
";}
+if ($debug > 1) {echo "DB=".$dbname.", user=".$dbuser."
";}
// F L U R S T U E C K
@@ -75,5 +76,5 @@
if (!$res) {
echo "\nFehler bei Flurstuecksdaten
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
}
if ($row = pg_fetch_array($res)) {
@@ -92,5 +93,5 @@
} else {
echo "Fehler! Kein Treffer fuer gml_id=".$gmlid."
";
- if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
}
// Balken
@@ -144,5 +145,5 @@
if (!$res) {
echo "\nFehler bei Gemeinde
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
";}
}
$row = pg_fetch_array($res);
@@ -152,5 +153,17 @@
echo "(".$gemeinde.") ";
}
-echo $gnam." | ";
+echo $gnam."";
+
+ // Link zur FlurstÃŒcks-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft")
+ echo "\n ";
+ echo "\n\tHistorie ";
+ echo "";
+ echo "";
+ echo "\n ";
+
+echo " | ";
// K r e i s
@@ -162,5 +175,5 @@
if (!$res) {
echo "\nFehler bei Kreis
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
";}
}
$row = pg_fetch_array($res);
@@ -179,5 +192,5 @@
if (!$res) {
echo "Fehler bei Regierungsbezirk
";
- if ($debug > 2) {echo "SQL=
".$sql."
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
";}
}
$row = pg_fetch_array($res);
@@ -215,5 +228,5 @@
if (!$res) {
echo "Fehler bei Lagebezeichnung mit Hausnummer
";
- if ($debug > 2) {echo "SQL=
".$sql."
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
";}
}
$j=0;
@@ -262,5 +275,5 @@
if (!$res) {
echo "Fehler bei Lagebezeichnung ohne Hausnummer
";
- if ($debug > 2) {echo "SQL=
".$sql."
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
";}
}
$j=0;
@@ -323,5 +336,5 @@
if (!$res) {
echo "Fehler bei Suche tats. Nutzung
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
}
$j=0;
@@ -484,5 +497,5 @@
if (!$ress) {
echo "\nKeine Buchungsstelle.
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
}
$bs=0; // Z.Buchungsstelle
@@ -506,5 +519,5 @@
if (!$resg) {
echo "\nKein Buchungsblatt.
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmls."'
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmls."'
";}
}
$bl=0; // Z.Blatt
@@ -628,5 +641,5 @@
if (!$resan) {
echo "\nKeine weiteren Buchungsstellen.
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmls."'
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmls."'
";}
}
$an=0; // Stelle an Stelle
Index: trunk/var/www/info/alkis/alkisauszug.css
===================================================================
--- trunk/var/www/info/alkis/alkisauszug.css (revision 127)
+++ trunk/var/www/info/alkis/alkisauszug.css (revision 128)
@@ -8,5 +8,5 @@
04.01.2011 Spalte td.fla im fsnw
26.01.2011 einheitlich td padding-top 6px
- 03.11.2011 FS-Historie
+ 16.11.2011 FS-Historie
*/
body {background-color: #FDFFFD;}
@@ -33,5 +33,6 @@
p.gadr {color: maroon; margin-top: 1pt;} /* GB-Nachw. Eigentuemer Adresse */
p.nwlink, td.nwlink {font-size: 7pt; text-align: right; margin-top: 0pt;} /* Link zum Nachweis GB, FS, ..*/
-p.err {color: red;} /* Fehler-Meldungen */
+p.err {font-size: 11px; color: red;} /* Fehler -> Anwender */
+p.dbg {font-size: 10px; color: gray;} /* Debug -> Entwickler */
p.warn {color: gray; font-style: italic;} /* Warnung, Hinweis */
p.ph {color: gray;} /* Platzhalter */
Index: trunk/var/www/info/alkis/alkisfshist.php
===================================================================
--- trunk/var/www/info/alkis/alkisfshist.php (revision 127)
+++ trunk/var/www/info/alkis/alkisfshist.php (revision 128)
@@ -6,5 +6,6 @@
Version:
- 03.11.2011 Entwurf Prototyp
+ 2011-11-03 Entwurf Prototyp
+ 2011-11-16 Zum aktuellen FS die VorgÀnger suchen
Sinnvoller Einstieg als Erweiterung der Navigation (Suche in Flur, (auch) nach Hist-FS).
@@ -20,5 +21,5 @@
+++ Eine Geometrische VorgÀnger-Suche dazu realisieren? Oder besser Hist-Layer in Mapfile als Einstieg.
- +++ ZusÀtzlicher Parameter x/y (aus WMS-Feature-Info) als Geometriescher Einstieg fÌr historische FS MIT Raumbezug
+ +++ ZusÀtzlicher Parameter x/y (aus WMS-Feature-Info) als Geometrischer Einstieg fÌr historische FS MIT Raumbezug
*/
@@ -31,19 +32,21 @@
*/
$fst=rtrim($fs,"_");
- $zer=substr ($fst, 2, 4)."-".ltrim(substr($fst, 6, 3), "0")."-".ltrim(substr($fst, 9, 5),"0");
+ $zer=substr ($fst, 2, 4)."-".ltrim(substr($fst, 6, 3), "0")."-".ltrim(substr($fst, 9, 5),"0");
$nenn=ltrim(substr($fst, 14), "0");
if ($nenn != "") {$zer.="/".$nenn;}
+ $zer.="";
return $zer;
}
-function vornach($dbarr, $gkz, $idanzeige, $showkey) {
+function vornach($dbarr) {
// Datenbank-Array-Feld zeilenweise ausgeben als Selbst-Link
+ global $gkz, $idanzeige, $showkey;
if ($dbarr == "") {
- echo " ";
+ echo "(keine)";
} else {
$stri=trim($dbarr, "{}");
$arr = split(",",$stri);
foreach($arr AS $val){
- echo "Fehler bei Gemarkung.";}
+ $zgmk=0;
+ while($row = pg_fetch_array($res)) { // eigentlich nur EINE
+ $gmkg=$row["bezeichnung"];
+ $zgmk++;
+ }
+ if ($zgmk == 0) {
+ echo "\nGemarkung ".$gkey." ist unbekannt.
";
+ return;
+ }
+ return $gmkg;
+}
+
+function such_vor_arr($fsk) {
+// Suchen der VorgÀnger zum aktuellen Flurst. Ausgabe von Selbst-Links Zeilenweise in .
+// Akt. FS hat keine Verweise auf VorgÀnger. Darum in den Nachfolger-Verweisen von Hist.-FS suchen.
+// Problem: Dies sind Arrays, die nicht performant durchsucht werden können.
+ global $gkz, $con, $debug;
+
+ $wherecl="WHERE $1 = ANY (nachfolgerflurstueckskennzeichen) ";
+
+ // Bei kleinere Datenbanken keine spÌrbare Verzögerung bei Suche mit " = ANY(Array)"
+ // FÌr grosse BestÀnde zusÀtzlich filtern Ìber indizierte Felder Gemarkung + Flur?
+ // Dazu die nÀchsten 2 Zeilen aktivieren.
+// $wherecl.="AND gemarkungsnummer=".substr($fsk, 2, 4)." ";
+// $wherecl.="AND flurnummer=".ltrim(substr($fsk, 6, 3), "0")." ";
+ // Frage: kann das bei Historisierung wechseln? (Umflurung, Umgemarkung). Dann ggf. Fehler (nicht gefunden)
+
+ $sqlv.="SELECT 'h' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueck h ".$wherecl;
+ $sqlv.="UNION ";
+ $sqlv.="SELECT 'o' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueckohneraumbezug o ".$wherecl;
+ $sqlv.="ORDER BY flurstueckskennzeichen";
+
+ $v=array($fsk);
+ $resv = pg_prepare("", $sqlv);
+ $resv = pg_execute("", $v);
+ if (!$resv) {
+ echo "\n Fehler bei Vorgänger-FS. ";
+ if ($debug > 2) {echo "SQL= ".$sqlv." $1='".$fsk."' ";}
+ }
+ $zv=0;
+ while($rowv = pg_fetch_array($resv)) {
+ $ftyp=$rowv["ftyp"];
+ $gmlv=$rowv["gml_id"];
+ $vfsk=$rowv["flurstueckskennzeichen"];
+ echo "Flurstück ".fzerleg($vfsk)." ";
+ $zv++;
+ }
+ if ($zv == 0) {echo "(keine)";}
+ return;
}
@@ -102,17 +167,19 @@
$parmtyp="";
echo "Parameter 'gmlid' oder 'fskennz' fehlt. ";
- // ++ Formular ausgeben um das FlurstÃŒckskennzeichen einzugeben?
}
}
if ($parmtyp != "") { // einer der beiden erlaubten FÀlle
- // UNION-Abfrage auf 3 Àhnliche Tabellen, darin aber immr nur 1 Treffer.
- $sqlu ="SELECT 'a' AS ftyp, gml_id, flurnummer, zaehler, nenner, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, null AS nach, null AS vor ";
+ // UNION-Abfrage auf 3 Àhnliche Tabellen, darin aber immer nur 1 Treffer.
+
+ $felder="gml_id, flurnummer, zaehler, nenner, flurstueckskennzeichen, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, ";
+
+ $sqlu ="SELECT 'a' AS ftyp, ".$felder."null AS nach, null AS vor, null AS \"name\" ";
$sqlu.="FROM ax_flurstueck f ".$whereclause;
$sqlu.="UNION ";
- $sqlu.="SELECT 'h' AS ftyp, gml_id, flurnummer, zaehler, nenner, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor ";
+ $sqlu.="SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name ";
$sqlu.="FROM ax_historischesflurstueck h ".$whereclause;
$sqlu.="UNION ";
- $sqlu.="SELECT 'o' AS ftyp, gml_id, flurnummer, zaehler, nenner, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor ";
+ $sqlu.="SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name ";
$sqlu.="FROM ax_historischesflurstueckohneraumbezug o ".$whereclause;
@@ -127,10 +194,13 @@
$gmkgnr=$rowu["gemarkungsnummer"];
$flurnummer=$rowu["flurnummer"];
- $flstnummer=$rowu["zaehler"];
+ $zaehler=$rowu["zaehler"];
$nenner=$rowu["nenner"];
+ $flstnummer=$zaehler;
if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
+ $fskenn=$rowu["flurstueckskennzeichen"];
$flae=number_format($rowu["amtlicheflaeche"],0,",",".") . " m²";
- // $name=$rowu["name"];
- $gemkname=$gmkgnr; // +++ JOIN auf Schluesseltabelle fehlt noch
+ $name=$rowu["name"]; // in DB ein Array
+ $arrn = split(",", trim($name, "{}") ); // PHP-Array
+ $gemkname= gemkg_name($gmkgnr);
$entsteh=$rowu["zeitpunktderentstehung"];
$vor=$rowu["vor"];
@@ -139,5 +209,5 @@
} else {
if ($debug > 1) {echo "
Fehler! Kein Treffer für ".$parmtyp." = '".$parmval."' ";}
- if ($debug > 2) {echo "SQL= ".$sqlu." $1=".$parmtyp." = '".$parmval."' ";}
+ if ($debug > 2) {echo "SQL= ".$sqlu." $1=".$parmtyp." = '".$parmval."' ";}
}
}
@@ -151,10 +221,10 @@
case 'h':
$wert = "historisch (mit Raumbezug)";
- $ico= "Flurstueck_Historisch.ico"; // ++ anderes Icon, wenn Geomtrie vorhanden?
+ $ico= "Flurstueck_Historisch.ico"; //
$cls= "kennzfsh";
break;
case 'o':
$wert = "historisch ohne Raumbezug";
- $ico= "Flurstueck_Historisch.ico";
+ $ico= "Flurstueck_Historisch_oR.ico";
$cls= "kennzfsh";
break;
@@ -184,16 +254,30 @@
echo "\n\t";
echo "\n\t\n\t\tEntstehung | ";
- echo "\n\t\t".$entsteh." | \n\t ";
- // echo "\n\t\n\t\tletz. Fortf | ";
- // echo "\n\t\t".$name." | ";
- echo "\n\t\t | | "; // Leer-Zeile statt FF-Nr
+ echo "\n\t\t".$entsteh." | ";
+ echo "\n\t ";
+ echo "\n\t";
+ echo "\n\t\tletz. Fortf | ";
+ echo "\n\t\t";
+ foreach($arrn AS $val) { // Zeile f. jedes Element
+ echo trim($val, '"')." ";
+ }
+ echo " | ";
echo "\n\t ";
echo "\n\t ";
if ($idanzeige) {linkgml($gkz, $gmlid, "Flurstück"); }
echo "\n\t | \n\n";
+
+if ($debug > 2) {echo "FF= ".$name."
";}
+
+if ($ftyp == "a") { // Aktuell -> Historie
+ echo "\nweitere Auskunft: ";
+ echo "Flurstück ";
+ echo "";
+ echo "";
+}
echo "\n
";
-//echo "\nweitere Auskunft:
"; // oben rechts von der Tabelle
-
-// if ($debug > 1) {echo "VOR ".$vor." NACH ".$nach."
";}
echo "";
-// TEST
if ($debug > 1) {
$z=1;
while($rowu = pg_fetch_array($resu)) {
$ftyp=$rowu["ftyp"];
- echo "Mehr als EIN Eintrag gefunden: '".$ftyp."' (".$z.")
";
+ echo "Mehr als EIN Eintrag gefunden: '".$ftyp."' (".$z.")
";
$z++;
}
Index: trunk/var/www/info/alkis/alkisrelationen.php
===================================================================
--- trunk/var/www/info/alkis/alkisrelationen.php (revision 127)
+++ trunk/var/www/info/alkis/alkisrelationen.php (revision 128)
@@ -13,4 +13,5 @@
11.07.2011 Ersetzen $self durch $_SERVER['PHP_SELF']."?"
02.11.2011 h3
+ 10.11.2011 Relationen-ZÀhler ausgeben, ab 5 Zeilen nicht mehr 'auf einen Blick' erkennbar.
*/
ini_set('error_reporting', 'E_ALL');
@@ -67,4 +68,6 @@
if ($i == 0) {
echo ".. keine |
";
+ } elseif ($i > 4) {
+ echo "\n\n\t".$i." Relationen | \n
";
}
}
@@ -89,4 +92,6 @@
if ($i == 0) {
echo "\n\n\t.. keine | \n
";
+ } elseif ($i > 4) {
+ echo "\n\n\t".$i." Relationen | \n
";
}
}
Index: trunk/var/www/info/alkis/alkisbestnw.php
===================================================================
--- trunk/var/www/info/alkis/alkisbestnw.php (revision 127)
+++ trunk/var/www/info/alkis/alkisbestnw.php (revision 128)
@@ -9,4 +9,5 @@
26.07.2011 debug, SQL nur im Testmodus anzeigen, Prepared Statements
02.11.2011 6. Parameter fuer function eigentuemer()
+ 16.11.2011 neuer Style class='dbg'
ToDo:
@@ -74,5 +75,5 @@
if (!$res) {
echo "Fehler bei Grundbuchdaten.
";
- if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
}
if ($row = pg_fetch_array($res)) {
@@ -188,5 +189,5 @@
if (!$res) {
echo "Fehler bei Buchung.
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
}
$i=0;
@@ -230,5 +231,5 @@
if (!$resan) {
echo "Fehler bei 'andere Buchungsstelle'.
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
";}
}
$a=0; // count: andere BS
@@ -254,5 +255,5 @@
if (!$fbres) {
echo "Fehler bei fiktivem Blatt.
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
";}
}
$b=0;
@@ -402,5 +403,5 @@
if (!$resb) {
echo "Fehler bei 'andere Berechtigte Blätter:'
".$sql."
\n";
- if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
+ if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
}
$b=0; // count: Blaetter
Index: trunk/var/www/info/alkis/alkisgebaeudenw.php
===================================================================
--- trunk/var/www/info/alkis/alkisgebaeudenw.php (revision 127)
+++ trunk/var/www/info/alkis/alkisgebaeudenw.php (revision 128)
@@ -123,4 +123,6 @@
echo "\n\n Gebäude
";
echo "\n.. auf oder an dem Flurstück. Ermittelt durch Verschneidung der Geometrie.
";
+
+// +++ Zustand 3000 = geplantes GebÀude
// G e b a e u d e
Index: trunk/data/mapbender/http/nav/alkisnav_fls.php
===================================================================
--- trunk/data/mapbender/http/nav/alkisnav_fls.php (revision 127)
+++ trunk/data/mapbender/http/nav/alkisnav_fls.php (revision 128)
@@ -9,9 +9,9 @@
07.11.2011 optional auch Historische FS suchen, Link auf Buchauskunft-Modul alkisfshis.php
09.11.2011 "h" hinter Flur oder FlurstÃŒck sucht sofort in Historie
- Ausgabe Flur in Varianten aktuell/historisch mit gegenseitigen Verweisen
- ToDo:
- Hist: Gemarkung entschlÃŒsseln
- Hist: die Nachfolger-Liste gleich in der DB nachschlagen, und aktuelle FS als solche anzeigen
- Hist: Icons fÃŒr Link (mit Pfeil), Icons H/O unterscheiden
+ Ausgabe Flur in Varianten aktuell/historisch mit gegenseitigen Verweisen
+ 11.11.2011 Nachfolger-Liste in der DB nachschlagen, und aktuelle FS als solche kennzeichnen
+ neue Icons fÃŒr Link mit Pfeil
+ Differenzierung mit/ohne Raumbezug bei Icons fuer Histor. FS
+ Gemarkung- und Flur-Zeile vor einzelnem FlurstÃŒck ausgeben
*/
import_request_variables("PG");
@@ -44,8 +44,7 @@
// Wenn ja, dann Schalter setzen und nur numerischen Teil zurÃŒck geben.
global $phist, $debug;
-// if ($debug >= 2) {echo "Teilen '".$zahl."'
";}
- $zahl=trim($zahl);
+ $zahl=trim($zahl);
$zlen=strlen($zahl) - 1;
- if ($zlen > 0) {
+ if ($zlen > 0) {
$hinten = ucfirst(substr($zahl, $zlen, 1));
if ($hinten == "H" ) {
@@ -57,5 +56,4 @@
}
}
-// if ($debug >= 2) {echo "Teile '".$vorn."'/'".$hinten."'
";}
return $zahl;
}
@@ -100,6 +98,46 @@
}
+function gemkg_zeile($zgemkg) {
+// Eine Zeile zu Gemarkung ausgeben, SchlÃŒssel wird ÃŒbergeben, Name in DB nachschlagen
+ global $con, $gkz, $gemeinde, $epsg;
+ $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;";
+ $v=array($zgemkg);
+ $res=pg_prepare("", $sql);
+ $res=pg_execute("", $v);
+ if (!$res) {echo "\nFehler bei Gemarkung.
";}
+ $zgmk=0;
+ while($row = pg_fetch_array($res)) { // eigentlich nur EINE
+ $gmkg=$row["bezeichnung"];
+ $zgmk++;
+ echo "\n";
+ }
+ if ($zgmk == 0) {
+ echo "\n";
+ echo "\n\t\t
";
+ echo " Gemarkung ".$zgemkg." ist unbekannt.
";
+ echo "\n
";
+ return;
+ }
+ return 0;
+}
+
+function flur_zeile($zgemkg, $zflur) {
+// Eine Zeile zur Flur ausgeben
+ global $con, $gkz, $gemeinde, $epsg;
+ echo "\n";
+ echo "\n\t\t
";
+ $url=$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$zgemkg."-".$zflur;
+ echo "Flur
".$zflur."";
+ //echo "
";
+ echo " Hist.";
+ echo "\n ";
+ return 0;
+}
+
function ListGemeinden() {
- // bei Leereingabe die Gemeinden anlisten
+// bei Leereingabe die Gemeinden anlisten
global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter;
$linelimit=50;
@@ -252,5 +290,5 @@
function EineGemarkung($AuchGemkZeile) {
- // Kennzeichen bestehend nur aus Gemarkung-SchlÃŒssel wurde eingegeben
+// Kennzeichen bestehend nur aus Gemarkung-SchlÃŒssel wurde eingegeben
global $con, $gkz, $gemeinde, $epsg, $debug, $zgemkg;
$linelimit=120; // max. Fluren je Gemarkung
@@ -303,46 +341,10 @@
}
-function gemkg_zeile($zgemkg) {
-// Zeile zu Gemarkung ausgeben, gkg-schlÃŒssel ÃŒbergeben
-
- global $con, $gkz, $gemeinde, $epsg;
-
- $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;";
- $v=array($zgemkg);
- $res=pg_prepare("", $sql);
- $res=pg_execute("", $v);
- if (!$res) {echo "\nFehler bei Gemarkung.
";}
- $zgmk=0;
- while($row = pg_fetch_array($res)) {
- $gmkg=$row["bezeichnung"];
- $zgmk++;
- }
- if ($zgmk == 0) {
- echo "\n";
- echo "\n\t\t
";
- echo " Gemarkung ".$zgemkg." ist unbekannt.
";
- echo "\n
";
- return;
- }
- echo "\n";
- return 0;
-}
-
function EineFlur() {
- // Kennzeichen aus Gemarkung und FlurNr wurde eingegeben, dazu aktuelle FlurstÃŒcke suchen
+// Kennzeichen aus Gemarkung und FlurNr wurde eingegeben, dazu aktuelle FlurstÃŒcke suchen
global $con, $gkz, $gemeinde, $epsg, $debug, $scalefs, $auskpath, $zgemkg, $zflur;
$linelimit=600; // Wie groà kann eine Flur sein?
-
gemkg_zeile($zgemkg);
- echo "\n";
- echo "\n\t\t
";
- $url=$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$zgemkg."-".$zflur;
- echo "Flur
".$zflur."";
- //echo "
";
- echo " Hist.";
- echo "\n ";
+ flur_zeile($zgemkg, $zflur);
$sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ";
@@ -350,6 +352,5 @@
$sql.="x(st_Centroid(f.wkb_geometry)) AS x, ";
$sql.="y(st_Centroid(f.wkb_geometry)) AS y ";
- }
- else {
+ } else {
$sql.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, ";
$sql.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";
@@ -390,8 +391,8 @@
function HistFlur() {
- // Kennzeichen aus Gemarkung und FlurNr wurde eingegeben
- // Die Flur nach Historischen FlurstÃŒcken durchsuchen
+// Kennzeichen aus Gemarkung und FlurNr wurde eingegeben
+// Die Flur nach historischen FlurstÃŒcken durchsuchen
global $con, $gkz, $gemeinde, $epsg, $debug, $scalefs, $auskpath, $land, $zgemkg, $zflur;
- $linelimit=400;
+ $linelimit=500;
gemkg_zeile($zgemkg);
@@ -421,10 +422,15 @@
$fskenn=$row["zaehler"];
if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer
-
- //++ if ($ftyp == "h") { } else { } // versch. Icons? h: Karte Pos.?
- echo "\n"; // Zeile
+ if ($ftyp == "h") {
+ $ico="Flurstueck_Historisch_Lnk.ico";
+ $titl="Historisches Flurstück";
+ } else {
+ $ico="Flurstueck_Historisch_oR_Lnk.ico";
+ $titl="Historisches Flurstück ohne Raumbezug";
+ } // h: Karte Pos.?
+ echo "\n
"; // Zeile
// Icon -> Bauchauskunft
echo "\n\t
";
- echo "\n\t\t";
+ echo "\n\t\t";
echo "\n\t ";
// Kennzeichen -> weiter in die Historie hinein
@@ -443,7 +449,10 @@
function EinFlurstueck() {
- // FlurstÃŒckskennzeichen komplett bis zum Zaehler eingegeben
- // Sonderfall: bei Bruchnummer, mehrere Nenner zum Zaehler
+// FlurstÃŒckskennzeichen wurde komplett bis zum Zaehler eingegeben
+// Sonderfall: bei Bruchnummer, mehrere Nenner zum Zaehler
global $con, $gkz, $debug, $scalefs, $epsg, $auskpath, $fskennz, $zgemkg, $zflur, $zzaehler, $znenner;
+
+ gemkg_zeile($zgemkg);
+ flur_zeile($zgemkg, $zflur);
$sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, ";
@@ -454,12 +463,10 @@
else {
$sql.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, ";
- $sql.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y, ";
- }
-
- $sql.="g.bezeichnung ";
- $sql.="FROM ax_flurstueck f JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+ $sql.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";
+ }
+ $sql.="FROM ax_flurstueck f ";
$sql.="WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND f.zaehler= $3 ";
If ($znenner != "") {$sql.="AND f.nenner=".$znenner." ";} // wie prepared?
- $sql.="ORDER BY f.zaehler, f.nenner;"; // WHERE f.land= ?
+ $sql.="ORDER BY f.zaehler, f.nenner;";
$v=array($zgemkg, $zflur, $zzaehler);
$res=pg_prepare("", $sql);
@@ -469,5 +476,4 @@
while($row = pg_fetch_array($res)) {
$fs_gml=$row["gml_id"];
- $gmkg=$row["bezeichnung"];
$flur=$row["flurnummer"];
$fskenn=$row["zaehler"];
@@ -484,5 +490,5 @@
echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' ";
echo "onmouseout='parent.parent.hideHighlight()'>";
- echo $gmkg." ".$flur."-".$fskenn."";
+ echo $fskenn."";
echo "\n
";
$zfs++;
@@ -490,5 +496,4 @@
if($zfs == 0) {
echo "\n
Kein aktuelles Flurstück.
";
-
// Soll in der Historie weiter gesucht werden?
echo "\n
";
@@ -505,7 +510,9 @@
global $con, $gkz, $debug, $scalefs, $epsg, $auskpath, $land, $zgemkg, $zflur, $zzaehler, $znenner;
+ gemkg_zeile($zgemkg);
+ flur_zeile($zgemkg, $zflur);
+
// Suche ueber das Flurstueckskennzeichen, gml ist meist unbekannt
$whcl.="WHERE flurstueckskennzeichen= $1 ";
-
$sql ="SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner, null as nachf FROM ax_flurstueck ".$whcl;
$sql.="UNION SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueck ".$whcl;
@@ -533,24 +540,28 @@
if ($ftyp == "a") { // aktuelles FS gefunden, Koordinate holen
- $sql ="SELECT ";
+
+ // BEGINN +++ als function ?
+ $sqlk ="SELECT ";
if($epsg == "25832") { // Transform nicht notwendig
- $sql.="x(st_Centroid(wkb_geometry)) AS x, ";
- $sql.="y(st_Centroid(wkb_geometry)) AS y ";
+ $sqlk.="x(st_Centroid(wkb_geometry)) AS x, ";
+ $sqlk.="y(st_Centroid(wkb_geometry)) AS y ";
} else {
- $sql.="x(st_transform(st_Centroid(wkb_geometry), ".$epsg.")) AS x, ";
- $sql.="y(st_transform(st_Centroid(wkb_geometry), ".$epsg.")) AS y ";
+ $sqlk.="x(st_transform(st_Centroid(wkb_geometry), ".$epsg.")) AS x, ";
+ $sqlk.="y(st_transform(st_Centroid(wkb_geometry), ".$epsg.")) AS y ";
}
- $sql.="FROM ax_flurstueck WHERE gml_id= $1 ";
+ $sqlk.="FROM ax_flurstueck WHERE gml_id= $1 ";
$v=array($fs_gml);
- $res=pg_prepare("", $sql);
- $res=pg_execute("", $v);
- if (!$res) {echo "\n
Fehler bei Koordinate.
";}
- $zfs=0;
- while($row = pg_fetch_array($res)) {
- $x=$row["x"];
- $y=$row["y"];
- $zfs++;
+ $resk=pg_prepare("", $sqlk);
+ $resk=pg_execute("", $v);
+ if (!$resk) {echo "\n
Fehler bei Koordinate.
";}
+ $zfsk=0;
+ while($rowk = pg_fetch_array($resk)) {
+ $x=$rowk["x"];
+ $y=$rowk["y"];
+ $zfsk++;
}
- if ($zfs == 0) {echo "\n
Kein Treffer bei Koordinate.
";}
+ if ($zfsk == 0) {echo "\n
Kein Treffer bei Koordinate.
";}
+ // ENDE +++ als function ?
+
echo "\n
aktueller Nachfolger:
";
echo "\n
"; // Zeile
@@ -567,48 +578,88 @@
echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' ";
echo "onmouseout='parent.parent.hideHighlight()'>";
- echo $gmkg." ".$flur."-".$fskenn."";
+ // echo $flur."-".$fskenn."";
+ echo $fskenn."";
echo "\n
";
} else { // Historisches FS gefunden (h oder o)
- echo "\n
Historisches Flurstück:
";
-
- // Zeile
- echo "\n
";
+ // echo "\n
Historisches Flurstück:
";
+
+ if ($ftyp == "h") {
+ $ico="Flurstueck_Historisch_Lnk.ico";
+ $titl="Historisches Flurstück";
+ } else {
+ $ico="Flurstueck_Historisch_oR_Lnk.ico";
+ $titl="Historisches Flurstück ohne Raumbezug";
+ } // h: Karte Pos.?
+ echo "\n
";
echo "\n\t
";
- echo "\n\t\t";
- echo "\n\t ";
- echo "\n\t ".$gknr."-".$flur."-".$fskenn."";
+ echo "\n\t\t
";
+ echo "\n\t Historisches Flst. ".$fskenn."";
echo "\n
";
- // Nachfolger ermitteln
if ($nachf == "") {
echo "\n
keine Nachfolger
";
} else {
- echo "\n
Nachfolger-Flurstücke:
";
+ echo "\n
Nachfolger-Flurstücke:
";
+ // Die direkten Nachfolger ermitteln
+ // Nachfolger in DB suchen um den Status aktuell/historisch zu ermitteln
$stri=trim($nachf, "{}");
- $arr = split(",",$stri);
- foreach($arr AS $val){
- $fst=rtrim($val,"_");
- $zer=substr ($fst, 2, 4)."-".ltrim(substr($fst, 6, 3), "0")."-".ltrim(substr($fst, 9, 5),"0");
- $nenn=ltrim(substr($fst, 14), "0");
- if ($nenn != "") {$zer.="/".$nenn;}
-
-// +++ besser: array in Where kennz in ( , , ) umwandeln
-// aktuelle FS gleich als solche anzeigen
-
- // Zeile Nachfolger
- echo "\n
";
-
- // Icon -> Nachweis
- echo "\n\t
";
- echo "\n\t\t";
+ $stri="'".str_replace(",", "','", $stri)."'";
+ // $whcln.="WHERE flurstueckskennzeichen IN ( $1 ) ";
+ $whcln.="WHERE flurstueckskennzeichen IN ( ".$stri." ) ";
+ $sqln ="SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_flurstueck ".$whcln;
+ $sqln.="UNION SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueck ".$whcln;
+ $sqln.="UNION SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueckohneraumbezug ".$whcln;
+ // $v=array($stri);
+ $v=array();
+ $resn=pg_prepare("", $sqln);
+ $resn=pg_execute("", $v);
+ if (!$resn) {echo "\nFehler bei Nachfolger.
";}
+ $zfsn=0;
+ while($rown = pg_fetch_array($resn)) {
+ $ftypn=$rown["ftyp"];
+ $na_gml=$rown["gml_id"];
+ $gknrn=$rown["gemarkungsnummer"];
+ $flurn=$rown["flurnummer"];
+ $fskennn=$rown["zaehler"];
+ if ($rown["nenner"] != "") {$fskennn.="/".$rown["nenner"];}
+
+ switch ($ftypn) {
+ case "a":
+ $ico="Flurstueck_Link.ico";
+ $titl="Aktuelles Flurstück";
+ $hisparm="";
+ $auskprog="alkisfsnw";
+ // ++ Koordinaten holen? siehe oben "als function"
+ break;
+ case "h":
+ $ico="Flurstueck_Historisch_Lnk.ico";
+ $titl="Historisches Flurstück";
+ $hisparm="&hist=j";
+ $auskprog="alkisfshist";
+ break;
+ case "o":
+ $ico="Flurstueck_Historisch_oR_Lnk.ico";
+ $titl="Historisches Flurstück ohne Raumbezug";
+ $hisparm="&hist=j";
+ $auskprog="alkisfshist";
+ break;
+ }
+ $fs=$gknrn."-".$flurn."-".$fskennn;
+ echo "\n
";
+ echo "Flst. ".$fskennn."";
+ echo "\n
";
+
+ $zfsn++;
+ // Kontrollieren: Wurden auch so viele FS in DB gefunden, wie im Array "Where in()" standen?
}
+ if ($zfsn == 0) {
+ echo "
keine Nachfolger gefunden
";
+ if ($debug > 1) {echo "
SQL=
".$sqln."
Liste=
".$stri."
";}
+ }
}
}