- Timestamp:
- 09/15/14 15:11:32 (10 years ago)
- Location:
- trunk
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/import/konv_nachverarbeitung.sh
r330 r333 37 37 echo "Connection: " $con 38 38 39 # zur Sicherheit (wÀhren der Umstellung) auch die Definitionen erneuern 40 echo "** - PP-Views aktualisieren:" 41 (cd $POSTNAS_HOME; psql $con -f pp_definition.sql) 42 39 43 # Post-Processing / Nacharbeiten 40 44 … … 44 48 sleep 1 45 49 46 echo "** - Fluren, Gemarkungen, Gemeinden und Stra ßen-Namen neu Laden:"50 echo "** - Fluren, Gemarkungen, Gemeinden und StraÃen-Namen neu Laden:" 47 51 (cd $POSTNAS_HOME; psql $con -f pp_laden.sql) 48 52 -
trunk/import/pp_definition.sql
r332 r333 44 44 45 45 -- Alles auf Anfang 46 /* 46 47 47 DROP VIEW IF EXISTS gemeinde_person_typ1; 48 48 DROP VIEW IF EXISTS gemeinde_person_typ2; … … 52 52 DROP VIEW IF EXISTS pp_gemarkung_analyse; 53 53 54 /* 54 55 DROP TABLE gemeinde_person; 55 56 DROP TABLE pp_gemeinde; … … 279 280 JOIN ax_buchungsblatt b ON n.istBestandteilVon=substring(b.gml_id,1,16) -- Namensnummer >istBestandteilVon> Blatt 280 281 JOIN ax_buchungsstelle s1 ON s1.istbestandteilvon=substring(b.gml_id,1,16) -- Blatt <istBestandteilVon< buchungsStelle1 281 JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)= ANY(s1.an)-- buchungsStelle2 <(recht)an< buchungsStelle1282 JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)=ANY(s1.an) -- buchungsStelle2 <(recht)an< buchungsStelle1 282 283 JOIN ax_flurstueck f ON f.istgebucht=substring(s2.gml_id,1,16) -- buchungsStelle2 < istGebucht < flurstÃŒck 283 284 JOIN ax_gemarkung k ON f.land=k.land AND f.gemarkungsnummer=k.gemarkungsnummer -
trunk/info/info/alkis/alkisausk.php
r330 r333 15 15 2013-04-08 deprecated "import_request_variables" ersetzt 16 16 2014-01-28 Link zu alkisstrasse.php 17 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 18 19 +++ NOCH UMSTELLEN: alkis_beziehungen 17 2014-09-15 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 20 18 21 19 */ … … 50 48 51 49 // *** F L U R S T U E C K *** 52 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung "; 53 $sql.="FROM ax_flurstueck f "; 54 $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 55 $sql.="WHERE f.gml_id= $1;"; 56 // Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt" 50 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung 51 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 52 WHERE f.gml_id= $1 AND f.endet IS NULL;"; 57 53 58 54 $v = array($gmlid); … … 139 135 140 136 // Lagebezeichnung MIT Hausnummer (Adresse) 141 $sql ="SELECT DISTINCT l.gml_id, s.gml_id AS kgml, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 142 $sql.="FROM alkis_beziehungen v "; 143 $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=substring(l.gml_id,1,16) "; // Strassennamen JOIN 144 $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 145 $sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' ";// id FS"; 146 $sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 137 $sql ="SELECT DISTINCT l.gml_id, s.gml_id AS kgml, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung 138 FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(f.weistauf) 139 LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 140 WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 141 147 142 $v = array($gmlid); 148 143 $res = pg_prepare("", $sql); … … 174 169 // *** G R U N D B U C H *** 175 170 echo "\n<h2><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbuch</h2>"; 176 // ALKIS: FS --> bfs --> GS --> bsb --> GB. 177 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, "; 178 $sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, "; 179 $sql.="z.bezeichnung, a.bezeichner AS bart "; // stelle -> amtsgericht 180 $sql.="FROM alkis_beziehungen bfs "; // Bez Flurst.- Stelle. 181 $sql.="JOIN ax_buchungsstelle s ON bfs.beziehung_zu=s.gml_id "; 182 $sql.="JOIN alkis_beziehungen bsb ON s.gml_id=bsb.beziehung_von "; // Bez. Stelle - Blatt 183 $sql.="JOIN ax_buchungsblatt b ON bsb.beziehung_zu=b.gml_id "; 184 $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 185 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert "; 186 $sql.="WHERE bfs.beziehung_von= $1 "; 187 $sql.="AND bfs.beziehungsart='istGebucht' "; 188 $sql.="AND bsb.beziehungsart='istBestandteilVon' "; 189 $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 171 // ALKIS: FS >istgebucht> GS >istBestandteilVon> GB. 172 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, 173 s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, a.bezeichner AS bart 174 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id 175 JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id 176 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk 177 LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert 178 WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL 179 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 190 180 191 181 $v = array($gmlid); … … 260 250 261 251 // Ausgabe Name in Function 262 $n = eigentuemer($con, $rowg["gml_id"], false); // ohne Adr essen263 264 if ($n == 0) { // keine Nam ensnummer, kein Eigentuemer252 $n = eigentuemer($con, $rowg["gml_id"], false); // ohne Adr. 253 254 if ($n == 0) { // keine NamNum, kein Eigent. 265 255 echo "\n<p class='err'>Keine Eigentümer gefunden.</p>"; 266 256 echo "\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>"; -
trunk/info/info/alkis/alkisauszug.css
r330 r333 11 11 2013-06-27 p.recht 12 12 2014-01-27 strasse, hsnr, Print-Balken 13 2014-09-15 PostNAS 0.8: p.cnt 13 14 */ 14 15 body {background-color: #FDFFFD;} … … 41 42 p.err {font-size: 11px; color: red;} /* Fehler -> Anwender */ 42 43 p.dbg {font-size: 10px; color: gray;} /* Debug -> Entwickler */ 44 p.cnt {font-size: 10px; color: gray;} /* Counter, Zaehler */ 43 45 p.warn {color: gray; font-style: italic;} /* Warnung, Hinweis */ 44 46 p.ph {color: gray;} /* Platzhalter */ -
trunk/info/info/alkis/alkisbestnw.php
r332 r333 12 12 2013-04-08 deprecated "import_request_variables" ersetzt 13 13 2014-09-10 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 14 2014-09-1 0Bei Relationen den Timestamp abschneiden14 2014-09-15 Bei Relationen den Timestamp abschneiden 15 15 16 16 ToDo: ZÀhler fuer Anzahl FS in der Liste … … 119 119 WHERE sh.istbestandteilvon= $1 AND sd.endet IS NULL AND sh.endet IS NULL;"; 120 120 121 $v=array(substr($gmlid, 1,16)); // GB-Blatt, in Relation immer nur 16 Zeichen121 $v=array(substr($gmlid,0,16)); // GB-Blatt, in Relation immer nur 16 Zeichen 122 122 $res=pg_prepare("", $sql); 123 123 $res=pg_execute("", $v); … … 164 164 WHERE s.istbestandteilvon= $1 AND s.endet IS NULL ORDER BY cast(s.laufendenummer AS integer);"; 165 165 166 $v=array( $gmlid);166 $v=array(substr($gmlid,0,16)); // Rel. istbestandteilvon nur 16 Zeichen 167 167 $res=pg_prepare("", $sql); 168 168 $res=pg_execute("", $v); … … 170 170 if (!$res) { 171 171 echo "<p class='err'>Fehler bei Buchung.</p>\n"; 172 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '". $gmlid."'</p>";}172 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".substr($gmlid,0,16)."'</p>";} 173 173 } 174 174 $i=0; 175 175 $fscnt=0; 176 176 while($row = pg_fetch_array($res)) { 177 $lfdnr =$row["lfd"];178 $bvnr =str_pad($lfdnr, 4, "0", STR_PAD_LEFT);179 $gml_bs 180 $ba =$row["bart"]; // Buchungsart aus Schluesseltabelle177 $lfdnr=$row["lfd"]; 178 $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 179 $gml_bs= $row["gml_id"]; // id der buchungsstelle 180 $ba=$row["bart"]; // Buchungsart aus Schluesseltabelle 181 181 182 182 if ($row["zaehler"] == "") { … … 231 231 $b=0; 232 232 while($fbrow = pg_fetch_array($fbres)) { // genau 1 233 $fbgml 234 $fbland 235 $fbbez 233 $fbgml = $fbrow["gml_id"]; 234 $fbland = $fbrow["land"]; 235 $fbbez = $fbrow["bezirk"]; 236 236 $fbblatt = $fbrow["blatt"]; 237 $fbbart 237 $fbbart = blattart($fbrow["blattart"]); 238 238 $beznam = $fbrow["beznam"]; 239 239 $b++; … … 323 323 echo "</td>"; 324 324 echo "\n\t<td colspan=7>"; 325 echo "<p class='warn'>Flurstücke zu ".$bvnr." nicht im Datenbestand.</p>";325 echo "<p class='warn'>Flurstücke zu ".$bvnr." nicht gefunden.</p>"; 326 326 echo "</td>"; 327 327 echo "\n</tr>"; … … 347 347 } else { 348 348 if ($i > 5 and $fscnt > 5) { // nur wenn nicht auf einen Blick zu erkennen 349 echo "\n<p class=' dbg'>".$i." Buchungen mit ".$fscnt." Flurstücken</p>\n";349 echo "\n<p class='cnt'>".$i." Buchungen mit ".$fscnt." Flurstücken</p>\n"; 350 350 } 351 351 } … … 366 366 WHERE sf.istbestandteilvon = $1 AND sf.endet IS NULL AND sb.endet IS NULL AND bb.endet IS NULL ORDER BY bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung;"; 367 367 368 $v = array( $gmlid);368 $v = array(substr($gmlid,0,16)); // nur 16 Zeichen in Relation 369 369 $resb = pg_prepare("", $sql); 370 370 $resb = pg_execute("", $v); 371 371 if (!$resb) { 372 372 echo "<p class='err'>Fehler bei 'andere Berechtigte Blätter.</p>\n"; 373 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '". $gmlid."'</p>";}373 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".substr($gmlid,0,16)."'</p>";} 374 374 } 375 375 $b=0; // count: Blaetter -
trunk/info/info/alkis/alkisfkt.php
r332 r333 12 12 2014-02-06 Korrektur EigentÃŒmerart 13 13 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 14 2014-09-1 0Bei Relationen den Timestamp abschneiden14 2014-09-15 Bei Relationen den Timestamp abschneiden 15 15 */ 16 16 … … 90 90 Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). 91 91 Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. 92 Table-Tag und Kopfzeile im aufrufenden Programm. 93 */ 94 global $gkz, $idanzeige, $showkey; 92 Table-Tag und Kopfzeile im aufrufenden Programm. */ 93 global $debug, $gkz, $idanzeige, $showkey; 95 94 96 95 // F L U R S T U E C K 97 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; 98 $sql.="FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16) "; 99 $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 100 $sql.="WHERE s.gml_id= $1 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 96 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche 97 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16) 98 LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 99 WHERE s.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 100 101 /* 102 SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, 103 f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche 104 FROM ax_flurstueck f 105 JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16) 106 LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 107 WHERE s.gml_id= 'DENW18AL00001hHb' 108 AND f.endet IS NULL 109 AND s.endet IS NULL 110 AND g.endet IS NULL 111 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner; 112 113 $1 = 'DENW18AL00001hHb' */ 101 114 102 115 $v = array($gml_bs); … … 113 126 while($rowf = pg_fetch_array($resf)) { 114 127 $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 115 116 /* $fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);117 if ($rowf["nenner"] != "") { // Bruchnummer118 $fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);119 }120 */121 128 // ohne fuehrende Nullen? 122 129 $fskenn=$rowf["zaehler"]; … … 124 131 $fskenn.="/".$rowf["nenner"]; 125 132 } 126 127 133 $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²"; 128 134 … … 171 177 $j++; 172 178 } // Ende Flurstueck 179 180 if ($j == 0 ) { // nur Entw. 181 if ($debug > 1) { 182 echo "<p class='dbg'>Keine FS gefunden</p>"; 183 } 184 if ($debug > 2) { 185 echo "<p class='dbg'>SQL='".$sql."'<br>$1 = '".$gml_bs."'</p>"; 186 } 187 } 188 173 189 pg_free_result($resf); 174 190 return $j; … … 199 215 $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 200 216 201 $v = array( $gmlid);217 $v = array(substr($gmlid,0,16)); // 16 Stellen bei Relationen 202 218 $resn = pg_prepare("", $sqln); 203 219 $resn = pg_execute("", $v); … … 205 221 if (!$resn) { 206 222 echo "<p class='err'>Fehler bei Eigentümer</p>\n"; 207 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '". $gmlid."'</p>";}223 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".substr($gmlid,0,16)."'</p>";} 208 224 } 209 225 … … 369 385 } // End Loop NamNum 370 386 echo "\n</table>\n"; 371 if ($n == 0) { 372 // kommt vor bei "Fiktives Blatt", kein Fehler 387 if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler 373 388 if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 374 if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '". $gmlid."'</p>";}389 if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".substr($gmlid,0,16)."'</p>";} 375 390 } 376 391 pg_free_result($resn); -
trunk/info/info/alkis/alkisfshist.php
r330 r333 10 10 2012-11-27 Function split deprecated: explode 11 11 2013-04-08 deprecated "import_request_variables" ersetzt 12 2014-09- 03PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer12 2014-09-15 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 13 13 */ 14 14 15 15 function fzerleg($fs) { 16 /* Flurst ÃÂŒckskennzeichen (20) zerlegen als lesbares Format (wie im Balken):16 /* Flurstueckskennzeichen (20) zerlegen als lesbares Format (wie im Balken): 17 17 Dies FS-Kennz-Format wird auch als Eingabe in der Navigation akzeptiert 18 18 ....*....1....*....2 … … 82 82 // Frage: kann das bei Historisierung wechseln? (Umflurung, Umgemarkung). Dann ggf. Fehler (nicht gefunden) 83 83 84 $sqlv.="SELECT 'h' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueck h ".$wherecl; 85 $sqlv.="UNION "; 86 $sqlv.="SELECT 'o' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueckohneraumbezug o ".$wherecl; 87 $sqlv.="ORDER BY flurstueckskennzeichen"; 84 $sqlv.="SELECT 'h' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueck h ".$wherecl 85 ."UNION SELECT 'o' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueckohneraumbezug o ".$wherecl 86 ."ORDER BY flurstueckskennzeichen"; 88 87 89 88 $v=array($fsk); … … 146 145 $whereclause="WHERE gml_id= $1 "; 147 146 $v = array($gmlid); 148 } else { // Alternativ: das FlurstÃÂŒcks-Kennzeichen wurde ÃÂŒbergeben147 } else { // Alternativ: Flurst.-Kennz. uebergeben 149 148 if ($fskennz != "") { 150 149 $parmtyp="Flurstückskennzeichen"; … … 163 162 $felder="gml_id, flurnummer, zaehler, nenner, flurstueckskennzeichen, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, "; 164 163 165 $sqlu ="SELECT 'a' AS ftyp, ".$felder."null AS nach, null AS vor, null AS \"name\" "; 166 $sqlu.="FROM ax_flurstueck f ".$whereclause; 167 $sqlu.="UNION "; 168 $sqlu.="SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name "; 169 $sqlu.="FROM ax_historischesflurstueck h ".$whereclause; 170 $sqlu.="UNION "; 171 $sqlu.="SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name "; 172 $sqlu.="FROM ax_historischesflurstueckohneraumbezug o ".$whereclause; 173 164 $sqlu ="SELECT 'a' AS ftyp, ".$felder."null AS nach, null AS vor, null AS \"name\" FROM ax_flurstueck f ".$whereclause." AND f.endet IS NULL " 165 ."UNION SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueck h ".$whereclause." AND h.endet IS NULL " 166 ."UNION SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueckohneraumbezug o ".$whereclause." AND o.endet IS NULL;"; 167 174 168 $resu = pg_prepare("", $sqlu); 175 169 $resu = pg_execute("", $v); … … 185 179 $flae=number_format($rowu["amtlicheflaeche"],0,",",".") . " m²"; 186 180 $name=$rowu["name"]; // in DB ein Array 187 // $arrn=split(",", trim($name, "{}") ); // split ist deprecated!188 181 $arrn=explode(",", trim($name, "{}") ); // PHP-Array 189 182 $gemkname= gemkg_name($gmkgnr); … … 191 184 $vor=$rowu["vor"]; 192 185 $nach=$rowu["nach"]; 193 if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // f ÃÂŒr selbst-link-Umschalter ueber footer186 if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // fuer selbst-link-Umschalter ueber footer 194 187 } else { 195 188 if ($debug > 1) {echo "<br><p class='err'>Fehler! Kein Treffer für ".$parmtyp." = '".$parmval."'</p><br>";} … … 198 191 } 199 192 200 switch ($ftyp) { // Unterschiede Hist orisch/Aktuell193 switch ($ftyp) { // Unterschiede Hist./Aktuell 201 194 case 'a': 202 195 $wert = "aktuell"; -
trunk/info/info/alkis/alkisfsnw.php
r330 r333 21 21 2014-02-06 Korrektur 22 22 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 23 2014-09-1 0Bei Relationen den Timestamp abschneiden23 2014-09-15 Bei Relationen den Timestamp abschneiden 24 24 25 25 ToDo: … … 95 95 // Feld flurstueckskennzeichen ist in DB indiziert 96 96 // Format z.B.'052647002001910013__' oder '05264700200012______' 97 $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 ;";97 $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 AND endet IS NULL ;"; 98 98 99 99 $v = array($fskzdb); … … 195 195 196 196 // G e m e i n d e 197 $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3 ";197 $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3 AND endet IS NULL;"; 198 198 199 199 $v = array($bezirk,$kreis,$gemeinde); … … 224 224 225 225 // K r e i s 226 $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2 ";226 $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2 AND endet IS NULL;"; 227 227 $v = array($bezirk,$kreis); 228 228 $res = pg_prepare("", $sql); … … 242 242 243 243 // R e g - B e z 244 $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 ";244 $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 AND endet IS NULL;"; 245 245 $v = array($bezirk); 246 246 $res = pg_prepare("", $sql); … … 267 267 FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16) = ANY(f.weistauf) 268 268 JOIN ax_lagebezeichnungkatalogeintrag s ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 269 WHERE f.gml_id= $1 ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 269 WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL 270 ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 270 271 271 272 $v = array($gmlid); … … 316 317 FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON substring(l.gml_id,1,16)=ANY(f.zeigtauf) 317 318 LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 318 WHERE f.gml_id = $1 ;";319 WHERE f.gml_id = $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL;"; 319 320 320 321 $v = array($gmlid); … … 370 371 // ** N U T Z U N G ** Gemeinsame FlÀche von NUA und FS 371 372 // Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben 372 $sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe, ";373 $sql.="st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla "; 374 $sql.="FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id "; 375 $sql.="LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class "; 376 $sql.="WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true "; // id FS, ueberlappende Flaechen 377 $sql.="AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 "; // unter Rundung 378 $sql.="ORDER BY schnittflae DESC;";373 $sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe, 374 st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla 375 FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id 376 LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class 377 WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true 378 AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 379 AND f.endet IS NULL ORDER BY schnittflae DESC;"; 379 380 380 381 $v = array($gmlid); … … 499 500 // b.name, b.artderfestlegung, 500 501 501 $sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, "; 502 $sql_boden.="b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key "; 503 $sql_boden.="FROM ax_bauraumoderbodenordnungsrecht b JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON a.wert=b.artderfestlegung "; 504 $sql_boden.="LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle "; 505 $sql_boden.="WHERE ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry) "; 506 $sql_boden.="OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry)"; 502 $sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, 503 b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key 504 FROM ax_bauraumoderbodenordnungsrecht b JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON a.wert=b.artderfestlegung 505 LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle 506 WHERE b.endet IS NULL AND d.endet IS NULL 507 AND ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 ), wkb_geometry) 508 OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 ), wkb_geometry)"; 509 507 510 pg_prepare($con, "bodeneuordnung", $sql_boden); 508 511 $res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid)); 509 512 510 $sql_str = "SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE 1000 = ANY(artderflurstuecksgrenze) AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry);";513 $sql_str = "SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze) AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry);"; 511 514 pg_prepare($con, "strittigeGrenze", $sql_str); 512 515 $res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid)); … … 615 618 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON substring(s.gml_id,1,16)=f.istgebucht 616 619 LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart=b.wert 617 WHERE f.gml_id= $1 ORDER BY s.laufendenummer;";620 WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL ORDER BY s.laufendenummer;"; 618 621 619 622 $v = array($gmlid); … … 631 634 632 635 // B U C H U N G S B L A T T zur Buchungsstelle (istBestandteilVon) 633 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung "; 634 $sql.="FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=s.istbestandteilvon "; 635 $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 636 $sql.="WHERE s.gml_id = $1 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 636 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung 637 FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=s.istbestandteilvon 638 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk 639 WHERE s.gml_id = $1 AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 640 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 637 641 638 642 $v = array($gmls); … … 742 746 } 743 747 744 // Buchungstelle >an> Buchungstelle >istBestandteilVon> BLATT ->Bezirk745 $sql ="SELECT sd.gml_id AS s_gml, sd.buchungsart, sd.laufendenummer as lfd, sd.zaehler, sd.nenner, sd.nummerimaufteilungsplan as nrpl, sd.beschreibungdessondereigentums as sond, ";746 $sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.bezeichner AS bart ";747 $sql.="FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an) "; // Stelle >an> Stelle748 $sql.="JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=sd.istbestandteilvon ";// Stelle >istbestandteilvon> Blatt749 $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";750 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON sd.buchungsart=a.wert ";751 $sql.="WHERE sh.gml_id= $1 "; // id herrschende Buchungsstelle752 $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";753 754 $v = array($gmls); 748 // Buchungstelle >an> Buchungstelle >istBestandteilVon> BLATT -> Bezirk 749 $sql ="SELECT sd.gml_id AS s_gml, sd.buchungsart, sd.laufendenummer as lfd, sd.zaehler, sd.nenner, sd.nummerimaufteilungsplan as nrpl, sd.beschreibungdessondereigentums as sond, 750 b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.bezeichner AS bart 751 FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an) 752 JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=sd.istbestandteilvon 753 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk 754 LEFT JOIN ax_buchungsstelle_buchungsart a ON sd.buchungsart=a.wert 755 WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 756 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 757 758 $v = array($gmls); // id herrschende Buchungsstelle 755 759 $resan = pg_prepare("", $sql); 756 760 $resan = pg_execute("", $v); 757 761 if (!$resan) { 758 echo "\n<p class='err'> Keine weiteren Buchungsstellen.</p>\n";762 echo "\n<p class='err'>Fehler bei 'weitere Buchungsstellen'.</p>\n"; 759 763 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 760 764 } -
trunk/info/info/alkis/alkisgebaeudenw.php
r330 r333 43 43 $sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung 44 44 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 45 WHERE f.gml_id= $1 ;";45 WHERE f.gml_id= $1 AND f.endet IS NULL;"; 46 46 $v=array($gmlid); 47 47 $resf=pg_prepare("", $sqlf); … … 106 106 107 107 // G e b a e u d e 108 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, "; 109 $sqlg.="h.bauweise_beschreibung, u.bezeichner, g.zustand, z.bezeichner AS bzustand, "; 108 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, h.bauweise_beschreibung, u.bezeichner, g.zustand, z.bezeichner AS bzustand, "; 110 109 111 110 // GEB-Flaeche komplett auch die Fl. ausserhalb des FS … … 122 121 123 122 // Entschluesseln 124 $sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id ";125 $sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert "; 126 $sqlg.="LEFT JOIN ax_gebaeude_zustand z ON g.zustand=z.wert "; 127 $sqlg.="WHERE f.gml_id= $1"; // ID des akt. FS123 $sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id 124 LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert 125 LEFT JOIN ax_gebaeude_zustand z ON g.zustand=z.wert 126 WHERE f.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL "; // ID des akt. FS 128 127 129 128 // "within" -> nur Geb., die komplett im FS liegen 130 // "intersects" -> ueberlappende Fl.129 // "intersects" -> auch teil-ueberlappende Flst. 131 130 $sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true "; 132 133 // RLP: keine Relationen zu NebengebÀuden: 134 // auf Qualifizierung verzichten, sonst werden NebengebÀude nicht angezeigt 135 //$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') "; 131 // RLP: keine Relationen zu NebengebÀuden. Auf Qualifizierung verzichten, sonst werden NebengebÀude nicht angezeigt 132 //$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') "; 136 133 $sqlg.="ORDER BY schnittflae DESC;"; 137 134 … … 203 200 $sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(g.zeigtauf) "; 204 201 $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 205 $sqll.="WHERE g.gml_id= $1 ";202 $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; 206 203 207 204 // oder NEBENgebÀude Geb >hat> Pseudo … … 209 206 $sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON substring(l.gml_id,1,16)=g.hat "; 210 207 $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 211 $sqll.="WHERE g.gml_id= $1 "; // ID des Hauses"208 $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; // ID des Hauses" 212 209 213 210 $sqll.="ORDER BY bezeichnung, hausnummer;"; -
trunk/info/info/alkis/alkishaus.php
r330 r333 51 51 52 52 // // G e b a e u d e 53 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug, "; 54 $sqlg.="g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, g.weiteregebaeudefunktion, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben, "; 55 $sqlg.="h.bauweise_beschreibung, u.bezeichner AS bfunk, z.bezeichner AS bzustand, "; 56 // "w.bezeichner AS bweitfunk, "; 57 $sqlg.="d.bezeichner AS bdach, round(area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g "; 58 // Entschluesseln 59 $sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id "; 60 $sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert "; 61 $sqlg.="LEFT JOIN ax_gebaeude_zustand z ON g.zustand=z.wert "; 62 $sqlg.="LEFT JOIN ax_gebaeude_dachform d ON g.dachform=d.wert "; 63 64 $sqlg.="WHERE g.gml_id= $1 AND g.endet IS NULL ;"; 53 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug, 54 g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, g.weiteregebaeudefunktion, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben, 55 h.bauweise_beschreibung, u.bezeichner AS bfunk, z.bezeichner AS bzustand, "; // w.bezeichner AS bweitfunk, 56 $sqlg.="d.bezeichner AS bdach, round(area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g 57 LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id 58 LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert 59 LEFT JOIN ax_gebaeude_zustand z ON g.zustand=z.wert 60 LEFT JOIN ax_gebaeude_dachform d ON g.dachform=d.wert 61 WHERE g.gml_id= $1 AND g.endet IS NULL ;"; 65 62 66 63 $v = array($gmlid); -
trunk/info/info/alkis/alkisinlayausk.php
r330 r333 19 19 2014-02-06 pg_free_result 20 20 2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 21 2014-09-1 0Bei Relationen den Timestamp abschneiden21 2014-09-15 Bei Relationen den Timestamp abschneiden 22 22 */ 23 23 session_start(); … … 52 52 53 53 // *** F L U R S T U E C K *** 54 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung ";55 $sql.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 56 $sql.="WHERE f.gml_id= $1;";54 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung 55 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 56 WHERE f.gml_id= $1 AND f.endet IS NULL ;"; 57 57 // Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt" 58 58 $v = array($gmlid); … … 114 114 FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(f.weistauf) 115 115 JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 116 WHERE f.gml_id= $1 ORDER BY s.bezeichnung, l.hausnummer;"; 116 WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL 117 ORDER BY s.bezeichnung, l.hausnummer;"; 117 118 118 119 $v=array($gmlid); // id FS … … 148 149 FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON substring(l.gml_id,1,16)=ANY(f.zeigtauf) 149 150 LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 150 WHERE f.gml_id= $1 ORDER BY s.bezeichnung;"; 151 WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL 152 ORDER BY s.bezeichnung;"; 151 153 152 154 $v=array($gmlid); … … 197 199 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk 198 200 LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart=a.wert 199 WHERE f.gml_id= $1 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 201 WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 202 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 200 203 201 204 $v=array($gmlid); -
trunk/info/info/alkis/alkislage.php
r330 r333 10 10 2014-01-23 gml des Katalogs, Link auf Modul "strasse" 11 11 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 12 2014-09-1 0Bei Relationen den Timestamp abschneiden12 2014-09-15 Bei Relationen den Timestamp abschneiden 13 13 14 14 ToDo: … … 78 78 LEFT JOIN ax_lagebezeichnungkatalogeintrag s 79 79 ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 80 WHERE l.gml_id= $1 ;";80 WHERE l.gml_id= $1 AND l.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL;"; 81 81 82 82 $v = array($gmlid); … … 144 144 echo "<p>Typ: ".$untertitel."</p>"; 145 145 146 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Tab elle Kennzeichen146 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Tab. Kennz. 147 147 // ToDo: !! kleiner, wenn ltyp=0 und die Schluesselfelder leer sind 148 148 echo "\n\t<table class='kennzla' title='Lage'>"; … … 234 234 235 235 // F L U R S T U E C K E 236 237 236 // ax_Flurstueck >weistAuf> ax_LagebezeichnungMitHausnummer 237 // ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer 238 238 if ($ltyp <> "p") { // Pseudonummer linkt nur GebÀude 239 239 echo "\n\n<a name='fs'></a><h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurstücke</h3>\n"; … … 244 244 } 245 245 246 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche "; 247 $sql.="FROM ax_flurstueck f "; 248 $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 249 $sql.="WHERE $1 = ANY(f.".$bezart.")"; 250 $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 251 252 $v = array($gmlid); 246 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche 247 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 248 WHERE $1 = ANY(f.".$bezart.") AND f.endet IS NULL AND g.endet IS NULL 249 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 250 251 $v = array(substr($gmlid,0,16)); // Relation nur mit 16 Stellen 253 252 $resf = pg_prepare("", $sql); 254 253 $resf = pg_execute("", $v); 255 254 if (!$resf) { 256 255 echo "<p class='err'>Fehler bei Flurstück.</p>\n"; 257 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '". $gmlid."'</p>";}256 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".substr($gmlid,0,16)."'</p>";} 258 257 } 259 258 … … 291 290 } 292 291 echo "\n</table>"; 292 if ($j > 6) { 293 echo "<p class='cnt'>".$j." Flurstücke</p>"; 294 } 293 295 } 294 296 … … 310 312 echo "\n<p>Nebengebäude: "; 311 313 $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "; 312 $sql.=$whereclaus."AND lage= $6 AND pseudonummer= $7 ORDER BY laufendenummer;"; 313 // pseudonummer character varying(5), laufendenummer character varying(2), 314 $sql.=$whereclaus."AND lage= $6 AND pseudonummer= $7 AND l.endet IS NULL ORDER BY laufendenummer;"; 314 315 315 316 $v = array($land,$regbez,$kreis,$gem,$lage,$lage,$hsnr); … … 329 330 echo "\n<p>Hauptgebäude: "; 330 331 $sql ="SELECT l.gml_id FROM ax_lagebezeichnungmithausnummer l "; 331 $sql.=$whereclaus."AND hausnummer= $6 ;";332 $sql.=$whereclaus."AND hausnummer= $6 AND l.endet IS NULL ;"; 332 333 333 334 $v = array($land,$regbez,$kreis,$gem,$lage,$pseu); … … 343 344 echo "\n<p>weitere Nebengebäude: "; 344 345 $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "; 345 $sql.=$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 ORDER BY laufendenummer;";346 $sql.=$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 AND l.endet IS NULL ORDER BY laufendenummer;"; 346 347 $v = array($land,$regbez,$kreis,$gem,$lage,$pseu,$lfd); 347 348 $res = pg_prepare("", $sql); … … 369 370 $sql ="SELECT g.gml_id, g.gebaeudefunktion, g.name, g.bauweise, g.grundflaeche, g.zustand, round(area(g.wkb_geometry)::numeric,2) AS flaeche, h.bauweise_beschreibung, u.bezeichner 370 371 FROM ax_gebaeude g LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise=h.bauweise_id 371 LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert "; 372 // +++ JOIN Zustand 373 $sql.="WHERE $1 = ".$bezart.";"; 374 375 $v = array($gmlid); 372 LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion=u.wert WHERE $1 = ".$bezart." AND g.endet IS NULL;"; 373 374 $v = array(substr($gmlid,0,16)); // 16 St. in Rel. 376 375 $res = pg_prepare("", $sql); 377 376 $res = pg_execute("", $v); 378 377 if (!$res) { 379 378 echo "<p class='err'>Fehler bei Gebäude.</p>\n"; 380 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '". $gmlid."'</p>";}379 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".substr($gmlid,0,16)."'</p>";} 381 380 } 382 381 echo "\n<table class='geb'>"; -
trunk/info/info/alkis/alkisstrasse.php
r330 r333 11 11 2014-01-30 pg_free_result 12 12 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 13 2014-09-1 0Bei Relationen den Timestamp abschneiden13 2014-09-15 Bei Relationen den Timestamp abschneiden 14 14 */ 15 15 session_start(); … … 55 55 JOIN ax_gemeinde g ON s.land=g.land AND s.regierungsbezirk=g.regierungsbezirk AND s.kreis=g.kreis AND s.gemeinde=g.gemeinde 56 56 LEFT JOIN ax_lagebezeichnungohnehausnummer o ON s.land=o.land AND s.regierungsbezirk=o.regierungsbezirk AND s.kreis=o.kreis AND s.gemeinde=o.gemeinde AND s.lage=o.lage 57 WHERE s.gml_id= $1 ;";57 WHERE s.gml_id= $1 AND s.endet IS NULL AND o.endet IS NULL ;"; 58 58 59 59 $v=array($gmlid); … … 139 139 $subquery = "SELECT f1.gml_id AS fsgml, lm.gml_id AS lgml, lm.land, lm.regierungsbezirk, lm.kreis, lm.gemeinde, lm.lage, lm.hausnummer 140 140 FROM ax_flurstueck f1 JOIN ax_lagebezeichnungmithausnummer lm ON substring(lm.gml_id,1,16)=ANY(f1.weistAuf) 141 WHERE f1.endet IS NULL AND lm.endet IS NULL 141 142 UNION SELECT f2.gml_id AS fsgml, '' AS lgml, lo.land, lo.regierungsbezirk, lo.kreis, lo.gemeinde, lo.lage, '' AS hausnummer 142 FROM ax_flurstueck f2 JOIN ax_lagebezeichnungohnehausnummer lo ON substring(lo.gml_id,1,16)=ANY(f2.zeigtauf) "; 143 FROM ax_flurstueck f2 JOIN ax_lagebezeichnungohnehausnummer lo ON substring(lo.gml_id,1,16)=ANY(f2.zeigtauf) 144 WHERE f2.endet IS NULL AND lo.endet IS NULL"; 143 145 144 146 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, duett.lgml, duett.hausnummer … … 146 148 JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 147 149 JOIN ax_lagebezeichnungkatalogeintrag s ON duett.land=s.land AND duett.regierungsbezirk=s.regierungsbezirk AND duett.kreis=s.kreis AND duett.gemeinde=s.gemeinde AND duett.lage=s.lage 148 WHERE s.gml_id = $1 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 150 WHERE s.gml_id = $1 AND f.endet IS NULL AND s.endet IS NULL 151 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 149 152 150 153 $v=array($gmlid); … … 166 169 echo "\n</tr>"; 167 170 $j=0; 171 $cnths=0; // Count Haus 168 172 while($rowf = pg_fetch_array($resf)) { 169 173 $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); … … 190 194 if ($showkey) {echo "&showkey=j";} 191 195 echo "' title='Lage Mit Hausnummer'>Lage <img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a> "; 196 $cnths++; 192 197 } 193 198 … … 202 207 } 203 208 echo "\n</table>"; 209 if ($j > 6) { 210 echo "<p class='cnt'>".$j." Flurstücke"; 211 if ($cnths > 4) { 212 echo ", ".$cnths." Häuser"; 213 } 214 echo "</p>"; 215 } 204 216 pg_free_result($res); 205 217 ?> -
trunk/mapbender/http/nav/alkisnav_adr.php
r330 r333 9 9 2014-01-23 Link zum Auskunft-Modul fÃŒr StraÃe 10 10 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 11 2014-09-10 Bei Relationen den Timestamp abschneiden 11 12 12 13 ToDo: … … 240 241 } 241 242 $sqlko.="FROM ax_lagebezeichnungohnehausnummer o "; 242 $sqlko.="JOIN ax_flurstueck f ON o.gml_id =ANY(f.zeigtauf) ";243 $sqlko.="JOIN ax_flurstueck f ON substring(o.gml_id,1,16)=ANY(f.zeigtauf) "; 243 244 $sqlko.="WHERE o.land= $1 AND o.regierungsbezirk= $2 AND o.kreis= $3 AND o.gemeinde= $4 AND o.lage= $5 "; 244 245 $sqlko.="LIMIT 1;"; // die erstbeste Koordinate … … 296 297 $sql.="avg (st_y(st_transform(p.wkb_geometry,".$epsg."))) AS y "; 297 298 } 298 $sql.="FROM ap_pto p JOIN ax_lagebezeichnungmithausnummer h ON h.gml_id =ANY(p.dientzurdarstellungvon) ";299 $sql.="WHERE p.art ='HNR' AND h.land= $1 AND h.regierungsbezirk= $2 AND h.kreis= $3 AND h.gemeinde= $4 AND h.lage= $5 ";299 $sql.="FROM ap_pto p JOIN ax_lagebezeichnungmithausnummer h ON substring(h.gml_id,1,16)=ANY(p.dientzurdarstellungvon) "; 300 $sql.="WHERE p.art='HNR' AND h.land= $1 AND h.regierungsbezirk= $2 AND h.kreis= $3 AND h.gemeinde= $4 AND h.lage= $5 "; 300 301 $sql.="GROUP BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2) "; 301 302 $sql.="ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);"; -
trunk/mapbender/http/nav/alkisnav_eig.php
r330 r333 13 13 Title auch auf Icon, IE zeigt sonst alt= als Title dar. 14 14 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 15 2014-09-15 Bei Relationen den Timestamp abschneiden 15 16 */ 16 17 $cntget = extract($_GET); … … 62 63 global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $auskpath; // $debug 63 64 64 $sql ="SELECT p.nachnameoderfirma, p.vorname, p.geburtsdatum, p.namensbestandteil, ";65 $sql.="a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer ";66 $sql.="FROM ax_person p LEFT JOIN ax_anschrift a ON a.gml_id = ANY(p.hat) ";67 $sql.="WHERE p.gml_id= $1 AND p.endet IS NULL AND a.endet IS NULL LIMIT 1;";65 $sql ="SELECT p.nachnameoderfirma, p.vorname, p.geburtsdatum, p.namensbestandteil, 66 a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer 67 FROM ax_person p LEFT JOIN ax_anschrift a ON substring(a.gml_id,1,16)=ANY(p.hat) 68 WHERE p.gml_id= $1 AND p.endet IS NULL AND a.endet IS NULL LIMIT 1;"; 68 69 // Es wird nur eine Zeile ausgewertet 69 70 … … 128 129 $sql ="SELECT p.nachnameoderfirma, p.vorname, p.gml_id FROM ax_person p "; 129 130 if ($gfilter > 0) { 130 $sql.="JOIN gemeinde_person g ON p.gml_id = g.person WHERE "; 131 // $sql.="JOIN gemeinde_person g ON substring(p.gml_id,1,16) = substring(g.person,1,16) WHERE "; 132 $sql.="JOIN gemeinde_person g ON p.gml_id=g.person WHERE "; 131 133 switch ($gfilter) { 132 134 case 1: // Einzel … … 192 194 // Body 193 195 // Suche nach GrundbÃŒchern der Person 194 $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam ";195 $sql.="FROM ax_namensnummer n JOIN ax_buchungsblatt gb ON n.istbestandteilvon = gb.gml_id ";196 $sql.="JOIN ax_buchungsblattbezirk b ON gb.land = b.land AND gb.bezirk = b.bezirk ";197 $sql.="WHERE n.bennennt = $1 AND n.endet IS NULL AND gb.endet IS NULL AND b.endet IS NULL";196 $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam 197 FROM ax_namensnummer n JOIN ax_buchungsblatt gb ON n.istbestandteilvon=substring(gb.gml_id,1,16) 198 JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk 199 WHERE n.bennennt = $1 AND n.endet IS NULL AND gb.endet IS NULL AND b.endet IS NULL;"; 198 200 199 201 // Parameter $gbkennz, z.B. nach Klick auf Zeile "Bezirk" … … 218 220 echo "\n<p class='ein'>Teil ".$bltseite; 219 221 } 220 $v=array( $person, $linelimit);222 $v=array(substr($person,0,16), $linelimit); // nur 16 Stellen in Relation "benennt" 221 223 $res=pg_prepare("", $sql); 222 224 $res=pg_execute("", $v); … … 239 241 $cnt++; 240 242 } 241 243 /* 244 if ($cnt == 0) { // Nur Entwicklg. 245 if ($debug > 1) { 246 echo "\n<p class='err'>keine Buchung</p>"; 247 } 248 if ($debug > 2) { 249 echo "<p class='dbg'>SQL = '".$sql."',<br>$1 = '".substr($person,0,16)."'<p>"; 250 } 251 } 252 */ 242 253 // Foot 243 254 if($cnt == 0) { … … 328 339 329 340 // Baustein 1: SQL-Anfang fuer beide Varianten 330 $sql1 ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam, ";331 $sql1.="s1.gml_id as bsgml, s1.laufendenummer AS lfd, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ot.gemarkung, ot.gemarkungsname, ";341 $sql1 ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam, 342 s1.gml_id as bsgml, s1.laufendenummer AS lfd, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ot.gemarkung, ot.gemarkungsname, "; 332 343 if($epsg == "25832") { // Transform nicht notwendig 333 344 $sql1.="st_x(st_centroid(f.wkb_geometry)) AS x, "; … … 339 350 340 351 // NamenNummer >istbestandteilvon> buchungsblatt <istbestandteilvon< buchungsstelle-1 341 $sql1.="FROM ax_namensnummer nn ";342 $sql1.="JOIN ax_buchungsblatt gb ON gb.gml_id = nn.istbestandteilvon ";343 $sql1.="JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk ";344 $sql1.="JOIN ax_buchungsstelle s1 ON gb.gml_id =s1.istbestandteilvon ";352 $sql1.="FROM ax_namensnummer nn 353 JOIN ax_buchungsblatt gb ON substring(gb.gml_id,1,16)=nn.istbestandteilvon 354 JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk 355 JOIN ax_buchungsstelle s1 ON substring(gb.gml_id,1,16)=s1.istbestandteilvon "; 345 356 346 357 // Baustein A: Auswahl 1 oder 2 347 358 // buchungsstelle-1 <istGebucht< FS 348 $sqla1 ="JOIN ax_flurstueck f ON s 1.gml_id =f.istgebucht ";359 $sqla1 ="JOIN ax_flurstueck f ON substring(s1.gml_id,1,16)=f.istgebucht "; 349 360 350 361 // buchungsStelle1 (herr.) >an> buchungsStelle2 (dien.) <istGebucht< FS 351 $sqla2 ="JOIN ax_buchungsstelle s2 ON s 2.gml_id =ANY(s1.an) ";352 $sqla2.="JOIN ax_flurstueck f ON s 2.gml_id =f.istgebucht ";362 $sqla2 ="JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)=ANY(s1.an) "; 363 $sqla2.="JOIN ax_flurstueck f ON substring(s2.gml_id,1,16)=f.istgebucht "; 353 364 354 365 // Baustein 2: SQL-Ende fuer beide Varianten … … 360 371 if ($kennztyp > 1) { // 2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR 361 372 #if ($debug > 0) {echo "<p class='dbg'>Filter Bezirk '".$zgbbez."'<p>";} 362 $sql2.="AND b.bezirk = ".$zgbbez."";373 $sql2.="AND b.bezirk = '".$zgbbez."' "; 363 374 $bezirkaktuell = true; 364 375 } else { … … 402 413 // Blatt <istBestandteilVon< Buchungsstelle <istGebucht< Flurstck. 403 414 $sql=$sql1.$sqla1.$sql2.$bltwhere.$sql3; // Direkte Buchungen 404 $v=array($person, $linelimit); 415 416 $v=array(substr($person,0,16), $linelimit); // Rel. "benennt" nur 16 Zeichen 405 417 $res=pg_prepare("", $sql); 406 418 $res=pg_execute("", $v); 407 419 if (!$res) { 408 420 echo "\n<p class='err'>Fehler bei Buchung und Flurstück.</p>"; 409 if ($debug > 2) {echo "<p class='dbg'>SQL = '".$sql."' <p>";}421 if ($debug > 2) {echo "<p class='dbg'>SQL = '".$sql."', $1 = '".substr($person,0,16)."'<p>";} 410 422 return; 411 423 } … … 473 485 } 474 486 487 /* if ($zfs1 == 0) { // Nur Entw. - Start 488 if ($debug > 1) { 489 echo "\n<p class='dbg'>Keine Buchung</p>"; 490 } 491 if ($debug > 2) { 492 echo "<p class='dbg'>SQL = '".$sql."'<p>"; 493 } 494 } // Nur Entw. - Ende */ 495 475 496 // FÀlle mit "Rechte an" 476 497 if ($bltrecht != "ohne") { // "nur"/"ohne" liefert nur den abgebrochene Teil der Auflistung … … 478 499 // buchungsStelle2 <an< buchungsStelle1 479 500 $sql=$sql1.$sqla2.$sql2.$bltwhere."AND s2.endet IS NULL ".$sql3; // Rechte an 480 $v=array( $person, $linelimit);501 $v=array(substr($person,0,16), $linelimit); 481 502 $res=pg_prepare("", $sql); 482 503 $res=pg_execute("", $v); -
trunk/mapbender/http/nav/alkisnav_fkt.php
r330 r333 6 6 2014-02-06 Korrektur zeile_person 7 7 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 8 2014-09-10 Bei Relationen den Timestamp abschneiden 8 9 */ 9 10 … … 248 249 249 250 // 2 Varianten zwischen 250 $sqlz1="JOIN ax_flurstueck f ON f.istgebucht = s1.gml_id";251 $sqlz1="JOIN ax_flurstueck f ON f.istgebucht=substring(s1.gml_id,1,16) "; 251 252 252 $sqlz2 ="JOIN ax_buchungsstelle s2 ON s 2.gml_id =ANY(s1.an) "; // nur an oder "an" und "zu" ?253 $sqlz2 ="JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)=ANY(s1.an) "; // nur an oder "an" und "zu" ? 253 254 // Test: SELECT * FROM ax_buchungsstelle WHERE NOT zu IS NULL; // keine Treffer fÃŒr "zu" 254 // $sqlz2 ="JOIN ax_buchungsstelle s2 ON (s 2.gml_id = ANY(s1.an) OR s2.gml_id =ANY(s1.zu)) ";255 $sqlz2.="JOIN ax_flurstueck f ON f.istgebucht = s2.gml_id";255 // $sqlz2 ="JOIN ax_buchungsstelle s2 ON (substring(s2.gml_id,1,16)=ANY(s1.an) OR substring(s2.gml_id,1,16)=ANY(s1.zu)) "; 256 $sqlz2.="JOIN ax_flurstueck f ON f.istgebucht=substring(s2.gml_id,1,16) "; 256 257 257 258 // hinten gleich -
trunk/mapbender/http/nav/alkisnav_fls.php
r330 r333 10 10 2013-10-15 missing Parameter 11 11 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 12 2014-09-10 Bei Relationen den Timestamp abschneiden 12 13 */ 13 14 $cntget = extract($_GET); … … 308 309 $match = trim($fskennz)."%"; 309 310 } 310 $sql ="SELECT g.gemeinde, g.gemarkung, g.gemarkungsname, s.gemeindename ";311 $sql.="FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde = s.gemeinde ";312 $sql.="WHERE g.gemarkungsname ILIKE $1 ";311 $sql ="SELECT g.gemeinde, g.gemarkung, g.gemarkungsname, s.gemeindename 312 FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde 313 WHERE g.gemarkungsname ILIKE $1 "; 313 314 switch ($gfilter) { 314 315 case 1: // Einzelwert 315 $sql.="AND g.gemeinde='".$gemeinde."' 316 $sql.="AND g.gemeinde='".$gemeinde."'"; break; 316 317 case 2: // Liste 317 318 $sql.="AND g.gemeinde in ("."'".str_replace(",", "','", $gemeinde)."'".") "; break; … … 617 618 return; 618 619 } 619 620 /*621 622 SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner623 FROM ax_flurstueck624 WHERE flurstueckskennzeichen IN ( '05265600400296______' )625 AND endet IS NULL626 UNION627 SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner628 FROM ax_historischesflurstueck629 WHERE flurstueckskennzeichen IN ( '05265600400296______' )630 AND endet IS NULL631 UNION632 SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner633 FROM ax_historischesflurstueckohneraumbezug634 WHERE flurstueckskennzeichen IN ( '05265600400296______' )635 AND endet IS NULL '636 637 ==> UNION-Typen character varying und integer passen nicht zusammen gemarkungsnummer638 639 */640 620 641 621 $zfsn=0; -
trunk/mapbender/http/nav/alkisnav_grd.php
r330 r333 3 3 2013-04-16 "import_request_variables" entfÀllt in PHP 5.4 4 4 2013-04-26 Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung" 5 6 7 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 8 2013-04-29 Test mit IE 9 9 2013-05-07 Strukturierung des Programms, redundanten Code in Functions zusammen fassen … … 11 11 2013-12-12 Limit in EinBlatt von 200 weit hoch gesetzt (bis BlÀttern möglich wird) 12 12 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 13 2014-09-10 Bei Relationen den Timestamp abschneiden 13 14 */ 14 15 $cntget = extract($_GET); … … 54 55 $linelimit=40; 55 56 56 $sql ="SELECT stelle, bezeichnung AS ag FROM ax_dienststelle ";57 $sql.="WHERE stelle IN (".$liste_ag.") AND stellenart = 1000 AND endet IS NULL "; // AG aus Liste58 $sql.="ORDER BY bezeichnung LIMIT $1 ;";57 $sql ="SELECT stelle, bezeichnung AS ag FROM ax_dienststelle 58 WHERE stelle IN (".$liste_ag.") AND stellenart = 1000 AND endet IS NULL 59 ORDER BY bezeichnung LIMIT $1 ;"; 59 60 $res = pg_prepare("", $sql); 60 61 $res = pg_execute("", array($linelimit)); … … 93 94 94 95 // Body 95 $sql ="SELECT g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 96 $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 97 $sql.="WHERE a.stelle = $1 AND a.stellenart = 1000 AND a.endet IS NULL AND g.endet IS NULL "; 98 // Diese Subquery stellt sicher, dass nur Bezirke aufgelistet werden, die auch BlÀtter enthalten: 99 $sql.="AND NOT (SELECT gml_id FROM ax_buchungsblatt b WHERE b.land=g.land AND b.bezirk=g.bezirk AND b.endet IS NULL LIMIT 1) IS NULL "; 100 $sql.="ORDER BY g.bezeichnung LIMIT $2 ;"; 96 // Die Subquery stellt sicher, dass nur Bezirke aufgelistet werden, die auch BlÀtter enthalten 97 $sql ="SELECT g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g 98 JOIN ax_dienststelle a ON g.stelle=a.stelle 99 WHERE a.stelle = $1 AND a.stellenart = 1000 AND a.endet IS NULL AND g.endet IS NULL 100 AND NOT (SELECT gml_id FROM ax_buchungsblatt b WHERE b.land=g.land AND b.bezirk=g.bezirk AND b.endet IS NULL LIMIT 1) IS NULL 101 ORDER BY g.bezeichnung LIMIT $2 ;"; 102 101 103 $v = array($agkey, $linelimit); 102 104 $res = pg_prepare("", $sql); … … 129 131 // Parameter = SchlÃŒssel des Bezirks 130 132 #global $debug; 131 $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g ";132 $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 AND g.endet IS NULL AND a.endet IS NULL LIMIT 1;";133 $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g 134 JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 AND g.endet IS NULL AND a.endet IS NULL LIMIT 1;"; 133 135 $v=array($gbbez); 134 136 $res=pg_prepare("", $sql); … … 159 161 global $gkz, $gemeinde, $debug, $gbkennz; 160 162 $linelimit=80; 161 $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 162 $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 163 $sql.="WHERE g.bezeichnung ILIKE $1 AND g.endet IS NULL AND a.endet IS NULL "; // "AND a.stellenart=1000 " Amtsgericht 164 $sql.="ORDER BY a.bezeichnung, g.bezeichnung LIMIT $2 ;"; 163 164 $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g 165 JOIN ax_dienststelle a ON g.stelle=a.stelle 166 WHERE g.bezeichnung ILIKE $1 AND g.endet IS NULL AND a.endet IS NULL 167 ORDER BY a.bezeichnung, g.bezeichnung LIMIT $2 ;";// "AND a.stellenart=1000 " Amtsgericht 165 168 if ( $gbkennz == "") { 166 169 $match = "%"; … … 220 223 } 221 224 // Body 222 $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b ";223 $sql.="WHERE b.bezirk= $1 AND b.endet IS NULL ORDER BY b.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;";225 $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b 226 WHERE b.bezirk= $1 AND b.endet IS NULL ORDER BY b.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;"; 224 227 $v=array($zgbbez, $linelimit); 225 228 $res=pg_prepare("", $sql); … … 254 257 // Kennzeichen "Bezirk + Blatt" eingegeben. Dazu die gml_id des Blattes ermitteln. 255 258 global $debug, $zgbbez, $zblatt, $zblattn, $zblattz; 256 $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b ";257 $sql.="WHERE b.bezirk= $1 AND b.endet IS NULL AND b.buchungsblattnummermitbuchstabenerweiterung ";259 $sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b 260 WHERE b.bezirk= $1 AND b.endet IS NULL AND b.buchungsblattnummermitbuchstabenerweiterung "; 258 261 259 262 if ($zblattz == "") { // Ohne Buchstabenerweiterung: Formate '123','000123 ','0000123' … … 303 306 304 307 // Blatt -> B u c h u n g s s t e l l e 305 $sql ="SELECT s.gml_id FROM ax_buchungsstelle s ";306 $sql.="JOIN ax_buchungsblatt b ON s.istbestandteilvon = b.gml_id ";307 $sql.="WHERE b.bezirk= $1 AND s.endet IS NULL AND b.endet IS NULL AND b.buchungsblattnummermitbuchstabenerweiterung ";308 $sql ="SELECT s.gml_id FROM ax_buchungsstelle s 309 JOIN ax_buchungsblatt b ON s.istbestandteilvon=substring(b.gml_id,1,16) 310 WHERE b.bezirk= $1 AND s.endet IS NULL AND b.endet IS NULL AND b.buchungsblattnummermitbuchstabenerweiterung "; 308 311 309 312 if ($zblattz == "") { // Ohne Buchstabenerweiterung … … 421 424 $sql.="gd.stelle, gd.gml_id AS dienbezgml, gd.bezirk, gd.bezeichnung AS diengbbez "; // AG und Bezirk dazu 422 425 $sql.="FROM ax_buchungsstelle sh "; // herrschend 423 $sql.="JOIN ax_buchungsstelle sd ON s d.gml_id =ANY(sh.an) "; // dienend424 $sql.="JOIN ax_flurstueck f ON f.istgebucht = sd.gml_ID";426 $sql.="JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an) "; // dienend 427 $sql.="JOIN ax_flurstueck f ON f.istgebucht=substring(sd.gml_id,1,16) "; 425 428 $sql.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 426 $sql.="JOIN ax_buchungsblatt bd ON sd.istbestandteilvon = bd.gml_id"; // Blatt dienend429 $sql.="JOIN ax_buchungsblatt bd ON sd.istbestandteilvon=substring(bd.gml_id,1,16) "; // Blatt dienend 427 430 $sql.="JOIN ax_buchungsblattbezirk gd ON bd.land=gd.land AND bd.bezirk=gd.bezirk "; // GB-Bez. dienend 428 431 $sql.="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 ";
Note: See TracChangeset
for help on using the changeset viewer.