Changeset 333 for trunk/info
- Timestamp:
- 09/15/14 15:11:32 (10 years ago)
- Location:
- trunk/info/info/alkis
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
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 ?>
Note: See TracChangeset
for help on using the changeset viewer.