Changeset 330 for trunk/info/info/alkis
- Timestamp:
- 09/10/14 12:08:18 (10 years ago)
- Location:
- trunk/info/info/alkis
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkis/alkisausk.php
r313 r330 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 20 17 21 */ 18 22 session_start(); … … 97 101 echo "\n\t</table>"; 98 102 echo "\n</td>\n<td>"; 99 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurstück" ); }103 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurstück", "ax_flurstueck"); } 100 104 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>"; 101 105 … … 137 141 $sql ="SELECT DISTINCT l.gml_id, s.gml_id AS kgml, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 138 142 $sql.="FROM alkis_beziehungen v "; 139 $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu= l.gml_id"; // Strassennamen JOIN143 $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=substring(l.gml_id,1,16) "; // Strassennamen JOIN 140 144 $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 141 145 $sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' ";// id FS"; … … 234 238 } 235 239 echo "\n</td>\n<td>"; 236 if ($idanzeige) {linkgml($gkz, $rowg[0], "Buchungsblatt" );}240 if ($idanzeige) {linkgml($gkz, $rowg[0], "Buchungsblatt", "");} 237 241 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>"; 238 242 echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$rowg[0]; … … 261 265 echo "\n<p class='err'>Keine Eigentümer gefunden.</p>"; 262 266 echo "\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>"; 263 linkgml($gkz, $gmlid, "Buchungsblatt" );267 linkgml($gkz, $gmlid, "Buchungsblatt", ""); 264 268 } 265 269 } -
trunk/info/info/alkis/alkisbaurecht.php
r288 r330 4 4 5 5 Version: 6 2013-06-27 Neu als Variante von alkis*inlay*baurecht.ph (mit Footer, Balken und Umschaltung Key) 6 2013-06-27Neu als Variante von alkis*inlay*baurecht.ph (mit Footer, Balken und Umschaltung Key) 7 2014-09-10 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 8 9 ToDo: id-Anzeige hinzufÃŒgen fÃŒr Baurecht und FlurstÃŒck 7 10 */ 8 11 session_start(); … … 35 38 36 39 // wie View "baurecht" 37 $sql ="SELECT r.ogc_fid, r.artderfestlegung as adfkey, r.name, r.stelle, r.bezeichnung AS rechtbez, "; 38 $sql.="a.bezeichner AS adfbez, d.bezeichnung AS stellbez, d.stellenart, "; 39 $sql.="round(st_area(r.wkb_geometry)::numeric,0) AS flae "; 40 $sql.="FROM ax_bauraumoderbodenordnungsrecht r "; 41 $sql.="LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON r.artderfestlegung = a.wert "; 42 $sql.="LEFT JOIN ax_dienststelle d ON r.land = d.land AND r.stelle = d.stelle "; 43 $sql.="WHERE r.gml_id= $1 ;"; 40 $sql ="SELECT r.ogc_fid, r.artderfestlegung as adfkey, r.name, r.stelle, r.bezeichnung AS rechtbez, a.bezeichner AS adfbez, d.bezeichnung AS stellbez, d.stellenart, round(st_area(r.wkb_geometry)::numeric,0) AS flae 41 FROM ax_bauraumoderbodenordnungsrecht r 42 LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON r.artderfestlegung=a.wert 43 LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle WHERE r.gml_id= $1 ;"; 44 44 45 45 $v = array($gmlid); … … 85 85 echo "\n\t<td class='li'>Verfahrensnummer:</td>"; 86 86 echo "\n\t<td>".$verfnr."</td>"; 87 // if ($idanzeige) {linkgml($gkz, $gmlid, "Verfahren" ); } // KEINE Bez.!87 // if ($idanzeige) {linkgml($gkz, $gmlid, "Verfahren", ""); } // KEINE Bez.! 88 88 echo "\n</tr>"; 89 89 } … … 123 123 echo "\n<p>Ermittelt durch geometrische Verschneidung. Nach Größe absteigend.</p>"; 124 124 125 $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, "; 126 $sql.="round(st_area(ST_Intersection(r.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae "; 127 $sql.="FROM ax_flurstueck f, ax_bauraumoderbodenordnungsrecht r "; 128 $sql.="WHERE r.gml_id= $1 "; 129 $sql.="AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true "; 130 $sql.="AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0.05 "; // > 0.0 ist gemeint, Ungenauigkeit durch st_simplify 131 $sql.="ORDER BY schnittflae DESC "; 132 $sql.="LIMIT 40;"; // Limit: Flurbereinig. kann gross werden! 125 $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, round(st_area(ST_Intersection(r.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae 126 FROM ax_flurstueck f, ax_bauraumoderbodenordnungsrecht r 127 WHERE r.gml_id= $1 AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true 128 AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0.05 129 ORDER BY schnittflae DESC LIMIT 40;"; 130 // > 0.0 ist gemeint, Ungenauigkeit durch st_simplify 131 // Limit: Flurbereinig. kann gross werden! 133 132 // Trotz Limit lange Antwortzeit, wegen OrderBy -> intersection 134 133 $v = array($gmlid); -
trunk/info/info/alkis/alkisbestnw.php
r315 r330 3 3 4 4 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 5 Bestandsnachweis f uer ein Grundbuch aus ALKIS PostNAS5 Bestandsnachweis fÃŒr ein Grundbuch aus ALKIS PostNAS 6 6 7 7 Version: 8 2011-11-17 Parameter der Functions geÀndert 9 2011-11-22 Feldname land in ax_buchungsblattbezirk geÀndert 10 2011-11-30 import_request_variables 11 2012-07-24 Export CSV 12 2013-04-08 deprecated "import_request_variables" ersetzt 13 14 ToDo: 15 Zahler fuer Anzahl GB und FS in der Liste (ausgeben wenn > 10) 8 2011-11-17 Parameter der Functions geÀndert 9 2011-11-22 Feldname land in ax_buchungsblattbezirk geÀndert 10 2011-11-30 import_request_variables 11 2012-07-24 Export CSV 12 2013-04-08 deprecated "import_request_variables" ersetzt 13 2014-09-10 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 14 2014-09-10 Bei Relationen den Timestamp abschneiden 15 16 ToDo: ZÀhler fuer Anzahl FS in der Liste 16 17 */ 17 18 session_start(); … … 51 52 52 53 // G R U N D B U C H 53 // Direkter JOIN zwischen den "ax_buchungsblattbezirk" und "ax_dienststelle". 54 // Ueber Feld "gehoertzu|ax_dienststelle_schluessel|land" und "stelle". 55 // Bei JOIN ueber alkis_beziehungen entgegen Dokumentation keine Verbindung gefunden. 56 $sql ="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, "; // GB-Blatt 57 $sql.="b.gml_id, b.bezirk, b.bezeichnung AS beznam, "; // Bezirk 58 $sql.="a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart "; // Amtsgericht 59 $sql.="FROM ax_buchungsblatt g "; 60 $sql.="LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk "; // BBZ 61 $sql.="LEFT JOIN ax_dienststelle a ON b.land = a.land AND b.stelle = a.stelle "; 62 $sql.="WHERE g.gml_id= $1 "; 63 $sql.="AND a.stellenart=1000;"; // Amtsgericht 54 $sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, 55 b.gml_id, b.bezirk, b.bezeichnung AS beznam, a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart 56 FROM ax_buchungsblatt g LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk 57 LEFT JOIN ax_dienststelle a ON b.land=a.land AND b.stelle=a.stelle 58 WHERE g.gml_id= $1 AND a.stellenart=1000 AND g.endet IS NULL AND a.endet IS NULL;"; 64 59 65 60 $v = array($gmlid); … … 72 67 } 73 68 if ($row = pg_fetch_array($res)) { 74 $blattkey=$row["blattart"]; // Schluessel69 $blattkey=$row["blattart"]; 75 70 $blattart=blattart($blattkey); 76 71 echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]." </p>\n"; // Balken 77 72 echo "\n<h2><img src='ico/Grundbuch.ico' width='16' height='16' alt=''> Grundbuch</h2>"; 78 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Kennz eichenim Rahmen73 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Kennz. im Rahmen 79 74 if ($blattkey == 1000) { 80 75 echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; … … 102 97 103 98 echo "\n\n\t</td>\n\t<td>"; 104 if ($idanzeige) {linkgml($gkz, $gmlid, "Buchungsblatt" );}99 if ($idanzeige) {linkgml($gkz, $gmlid, "Buchungsblatt", "");} 105 100 echo "\n\t</td>\n</tr>\n</table>"; 106 101 } … … 111 106 echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 112 107 $n = eigentuemer($con, $gmlid, true, ""); // MIT Adressen. 113 if ($n == 0) { // keine Namens nummer, kein Eigentuemer108 if ($n == 0) { // keine NamensNr, kein Eigentuemer 114 109 echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 115 110 echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$blattkey." (".$blattart.")</p>"; 116 linkgml($gkz, $gmlid, "Buchungsblatt" );111 linkgml($gkz, $gmlid, "Buchungsblatt", ""); 117 112 } 118 113 } 119 114 120 115 // Vorab pruefen, ob Sonderfall "Rechte an .." vorliegt. 121 if ($blattkey == 1000) { // Grundbuchblatt 122 $sql ="SELECT count(z.laufendenummer) AS anzahl "; 123 $sql.="FROM alkis_beziehungen v "; 124 $sql.="JOIN ax_buchungsstelle s ON v.beziehung_von=s.gml_id "; // Blatt 125 $sql.="JOIN alkis_beziehungen x ON x.beziehung_von=s.gml_id "; 126 $sql.="JOIN ax_buchungsstelle z ON x.beziehung_zu=z.gml_id "; // andere B-Stelle 127 $sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart='istBestandteilVon' AND (x.beziehungsart='an' OR x.beziehungsart='zu');"; 128 $v=array($gmlid); 116 if ($blattkey == 1000) { // GB-Blatt <istBestandteilVon< sh=herrschend >an> sd=dienend 117 $sql="SELECT count(sd.laufendenummer) AS anzahl 118 FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (substring(sd.gml_id,1,16)=ANY(sh.an) OR substring(sd.gml_id,1,16)=ANY(sh.zu)) 119 WHERE sh.istbestandteilvon= $1 AND sd.endet IS NULL AND sh.endet IS NULL;"; 120 121 $v=array($gmlid); // GB-Blatt 129 122 $res=pg_prepare("", $sql); 130 123 $res=pg_execute("", $v); … … 166 159 167 160 // Blatt -> B u c h u n g s s t e l l e 168 // ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle 169 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, "; 170 $sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner as bart "; 171 $sql.="FROM ax_buchungsstelle s "; 172 $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von "; 173 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert "; 174 $sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart='istBestandteilVon' "; 175 $sql.="ORDER BY s.laufendenummer;"; 161 // aktuelles ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle 162 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner as bart 163 FROM ax_buchungsstelle s LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart=b.wert 164 WHERE s.istbestandteilvon= $1 AND s.endet IS NULL ORDER BY cast(s.laufendenummer AS integer);"; 176 165 177 166 $v=array($gmlid); … … 184 173 } 185 174 $i=0; 175 $fscnt=0; 186 176 while($row = pg_fetch_array($res)) { 187 177 $lfdnr = $row["lfd"]; … … 196 186 } 197 187 // F l u r s t u e c k s d a t e n zur direkten Buchungsstelle 198 $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, true); // return =Anzahl der FS199 188 $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, true); // return=Anzahl der FS 189 $fscnt=$fscnt + $j; 200 190 if ($j == 0) { // k e i n e Flurstuecke gefunden (Miteigentumsnteil usw.) 201 191 // Bei "normalen" Grundstuecken wurden Flurstuecksdaten gefunden und ausgegeben. 202 192 // Bei Miteigentumsanteil, Erbbaurecht usw. muss nach weiteren Buchungsstellen gesucht werden: 203 // Buchungsstelle >an/zu> (andere)Buchungsstelle >istBestandTeilVon> 193 // Buchungsstelle >an/zu> (andere)Buchungsstelle >istBestandTeilVon> "FiktivesBlatt (ohne) Eigentuemer" 204 194 205 195 // andere Buchungsstellen 206 // ax_buchungsstelle >zu> ax_buchungsstelle (des gleichen Blattes) 207 // ax_buchungsstelle >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an) 208 209 // aktuelles Blatt (herrschendes GB) hat Recht "an" fiktives Blatt (dienendes GB-Blatt) 210 // a n d e r e Buchungsstelle 211 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, "; 212 $sql.="v.beziehungsart, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner AS bart "; 213 $sql.="FROM ax_buchungsstelle s "; 214 $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_zu "; 215 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert "; 216 $sql.="WHERE v.beziehung_von= $1 "; // id buchungsstelle (fiktives Blatt) 217 $sql.="AND (v.beziehungsart='an' OR v.beziehungsart='zu') "; 218 $sql.="ORDER BY s.laufendenummer;"; 196 // ax_buchungsstelle >zu> ax_buchungsstelle (des gleichen Blattes) 197 // ax_buchungsstelle >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an) 198 // sh=herrschend sd=dienend 199 $sql ="SELECT sd.gml_id, sd.buchungsart, sd.laufendenummer AS lfd, sd.beschreibungdesumfangsderbuchung AS udb, sd.nummerimaufteilungsplan AS nrap, sd.beschreibungdessondereigentums AS sond, b.bezeichner AS bart "; 200 $sql.="FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON (sd.gml_id=ANY(sh.an) OR sd.gml_id=ANY(sh.zu)) "; 201 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON sd.buchungsart=b.wert "; 202 $sql.="WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL ORDER BY sd.laufendenummer;"; 203 219 204 $v=array($gml_bs); 220 205 $resan=pg_prepare("", $sql); 221 206 $resan=pg_execute("", $v); 222 //$resan=pg_query($con,$sql);223 207 if (!$resan) { 224 208 echo "<p class='err'>Fehler bei 'andere Buchungsstelle'.</p>\n"; 225 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."< /p>";}209 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 226 210 } 227 $a=0; // count : andere BS211 $a=0; // count 228 212 $altbvnr=""; // Gruppenwechsel 229 213 while($rowan = pg_fetch_array($resan)) { … … 235 219 // dienendes Grundbuch 236 220 $sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, b.blattart, z.bezeichnung AS beznam "; 237 $sql.="FROM ax_buchungsblatt b "; 238 $sql.="JOIN alkis_beziehungen v ON b.gml_id=v.beziehung_zu "; 221 $sql.="FROM ax_buchungsblatt b JOIN ax_buchungsstelle s ON substring(b.gml_id,1,16)=s.istbestandteilvon "; 239 222 $sql.="LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk "; 240 $sql.="WHERE v.beziehung_von= $1 "; 241 $sql.="AND v.beziehungsart='istBestandteilVon' "; 242 $sql.="ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 223 $sql.="WHERE s.gml_id= $1 AND b.endet IS NULL ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 243 224 $v=array($gml_bsan); 244 225 $fbres=pg_prepare("", $sql); 245 226 $fbres=pg_execute("", $v); 246 //$fbres=pg_query($con,$sql);247 227 if (!$fbres) { 248 228 echo "<p class='err'>Fehler bei fiktivem Blatt.</p>\n"; 249 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."< /p>";}229 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 250 230 } 251 231 $b=0; … … 271 251 echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke 272 252 echo "<span class='wichtig'>".$bvnr."</span>"; // Sp.1 Erbbau BVNR 273 if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle" );}253 if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");} 274 254 $altbvnr = $bvnr; // Gruppenwechsel merken 275 255 } … … 290 270 echo $fbblatt; // Sp.6 BVNR 291 271 if ($idanzeige) { 292 linkgml($gkz, $fbgml, "Buchungsblatt" );272 linkgml($gkz, $fbgml, "Buchungsblatt", ""); 293 273 } 294 274 echo "</td>"; … … 296 276 echo str_pad($lfdnran, 4, "0", STR_PAD_LEFT); 297 277 if ($idanzeige) { 298 linkgml($gkz, $gml_bsan, "Buchungsstelle" );278 linkgml($gkz, $gml_bsan, "Buchungsstelle", "ax_buchungsstelle"); 299 279 } 300 280 … … 307 287 echo "</td>"; 308 288 echo "\n\t<td>"; // Sp.8 Link ("an" oder "zu" ?) 309 echo "<p class='nwlink'> ".$rowan["beziehungsart"];289 echo "<p class='nwlink'>an/zu"; //.$rowan["beziehungsart"] Feld gibt es nicht mehr 310 290 echo " <a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$fbgml; 311 291 if ($idanzeige) {echo "&id=j";} … … 320 300 // F l u r s t u e c k s d a t e n zur a n d e r e n Buchungsstelle 321 301 // Buchungsart wird nur in erster Zeile ausgegeben, hier leer 322 $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false); // return = Anzahl derFS323 324 // +++ Gibt es ueberhaupt Sondereigentum beim fiktiven Blatt??302 $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false); // return=Anz.FS 303 $fscnt=$fscnt + $aj; 304 // +++ Gibt es Sondereigentum beim fiktiven Blatt? 325 305 if ($rowan["nrap"] != "") { 326 306 echo "\n<tr>"; … … 339 319 echo "\n\t<td><span class='wichtig'>".$bvnr."</span>"; 340 320 if ($idanzeige) { 341 linkgml($gkz, $gml_bs, "Buchungsstelle" );321 linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle"); 342 322 } 343 323 echo "</td>"; … … 349 329 } 350 330 $i++; 351 if ($row["nrap"] != "") { // N ummer im Aufteilungsplan331 if ($row["nrap"] != "") { // Nr im Auft.Plan 352 332 echo "\n<tr>"; 353 333 echo "\n\t<td class='nrap' colspan=8>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td>"; … … 358 338 echo "\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>"; 359 339 echo "\n</tr>"; 360 } 361 } // Ende Buchungsstelle340 } // Ende Buchungsstelle/BVNR 341 } // Ende Loop 362 342 echo "\n</table>"; 363 343 364 344 if ($i == 0) { 365 345 echo "\n<p class='err'>Keine Buchung gefunden.</p>\n"; 366 linkgml($gkz, $gmlid, "Buchungsblatt"); 367 } 368 // b e r e c h t i g t e Grundbuecher (Buchungsblatt) 369 // mit Recht "an"/"zu" dem aktuellen fiktiven GB 370 371 // bf vf sf vs sb vb bb 372 // Blatt <istBestandteilVon< Stelle <an< Stelle >istBestandteilVon> Blatt 373 // Fiktiv Fiktiv <zu< Berechtigt Berechtigt 374 $sql ="SELECT bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, "; 375 $sql.="vs.beziehungsart, "; 376 $sql.="sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, ba.bezeichner AS bart, "; // berechtigte Buchungsstelle 377 $sql.=" bz.bezeichnung AS beznam, ag.bezeichnung, ag.stelle, ag.stellenart "; // Bezirk, Amtsgericht 378 $sql.="FROM alkis_beziehungen vf "; // Verbindung fiktiv 379 $sql.="JOIN ax_buchungsstelle sf ON sf.gml_id = vf.beziehung_von "; // Stelle fiktiv 380 $sql.="JOIN alkis_beziehungen vs ON sf.gml_id = vs.beziehung_zu "; // Verbindung Stellen 381 $sql.="JOIN ax_buchungsstelle sb ON sb.gml_id = vs.beziehung_von "; // Stelle berechtigt 382 $sql.="JOIN alkis_beziehungen vb ON sb.gml_id = vb.beziehung_von "; // Verbindung berechtigt 383 $sql.="JOIN ax_buchungsblatt bb ON bb.gml_id = vb.beziehung_zu "; // Blatt berechtigt 384 $sql.="LEFT JOIN ax_buchungsblattbezirk bz ON bb.land = bz.land AND bb.bezirk = bz.bezirk "; 385 // $sql.="LEFT JOIN ax_dienststelle ag ON bz.\"gehoertzu|ax_dienststelle_schluessel|land\" = ag.land AND bz.stelle=ag.stelle "; 386 $sql.="LEFT JOIN ax_dienststelle ag ON bz.land = ag.land AND bz.stelle=ag.stelle "; 387 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart ba ON sb.buchungsart = ba.wert "; 388 $sql.="WHERE vf.beziehung_zu= $1 "; 389 $sql.="AND vf.beziehungsart='istBestandteilVon' "; 390 $sql.="AND (vs.beziehungsart='an' OR vs.beziehungsart='zu') "; 391 $sql.="AND vb.beziehungsart= 'istBestandteilVon' "; 392 $sql.="ORDER BY bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung;"; 393 394 $v = array($gmlid); 395 $resb = pg_prepare("", $sql); 396 $resb = pg_execute("", $v); 397 if (!$resb) { 398 echo "<p class='err'>Fehler bei 'andere Berechtigte Blätter:'<br>".$sql."</p>\n"; 399 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 400 } 401 $b=0; // count: Blaetter 402 while($rowb = pg_fetch_array($resb)) { 403 if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 404 echo "\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Berechtigte Grundbücher</h3>\n"; 405 echo "\n<table class='outer'>"; 406 echo "\n<tr>"; // Tabelle Kopf 407 echo "\n\t<td class='head'>Land</td>"; 408 echo "\n\t<td class='head'>Dienststelle</td>"; 409 echo "\n\t<td class='head'>Bezirk</td>"; 410 echo "\n\t<td class='head'>Blatt</td>"; 411 echo "\n\t<td class='head'>BVNR</td>"; // Neu 412 echo "\n\t<td class='head'>Buchungsart</td>"; // Neu 413 echo "\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>"; 414 echo "\n</tr>"; 415 } 416 $gml_b=$rowb["gml_id"]; // id des berechtigten Blattes 417 $gml_s=$rowb["gml_s"]; // id der berechtigten Buchungsstelle 418 $blart=$rowb["blattart"]; 419 $buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt 420 $bart=$rowb["bart"]; // Buchungsart entschluesselt 421 $lfdnr=$rowb["lfdnr"]; 422 $bvnr = str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 423 424 echo "\n<tr>"; 425 echo "\n\t<td>".$rowb["land"]."</td>"; 426 echo "\n\t<td>"; // Amtsgericht 427 echo dienststellenart($rowb["stellenart"])." "; 428 if ($showkey) { 429 echo "<span class='key'>".$rowb["stelle"]."</span> "; 430 } 431 echo $rowb["bezeichnung"]; 432 echo "</td>"; 433 echo "\n\t<td>"; 434 if ($showkey) { 435 echo "<span class='key'>".$rowb["bezirk"]."</span> "; 436 } 437 echo $rowb["beznam"]; 438 echo "</td>"; 439 echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>"; 440 if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt");} 441 echo "</td>"; 442 echo "\n\t<td>".$bvnr; 443 if ($idanzeige) {linkgml($gkz, $gml_s, "Buchungsstelle");} 444 echo "</td>"; 445 echo "\n\t<td>"; 446 if ($showkey) { 447 echo "<span class='key'>".$buch."</span> "; 448 } 449 echo $bart; 450 echo "</td>"; 451 echo "\n\t<td>"; 452 echo "\n\t\t<p class='nwlink'>"; 453 // echo $rowb["beziehungsart"]." "; // "an"/"zu" ? 454 echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$gml_b."#bvnr".$lfdnr; 455 if ($idanzeige) {echo "&id=j";} 456 if ($showkey) {echo "&showkey=j";} 457 echo "' title='Nachweis des berechtigten Blattes ".$rowb["beziehungsart"]." ".$blattart."'>"; 458 echo blattart($blart); 459 echo " \n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>"; 460 echo "\n\t\t</p>"; 461 echo "</td>"; 346 linkgml($gkz, $gmlid, "Buchungsblatt", ""); 347 } else { 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"; 350 } 351 } 352 353 // b e r e c h t i g t e Grundbuecher (Buchungsblatt) 354 // mit Recht "an"/"zu" dem aktuellen fiktiven GB 355 356 // bf vf sf vs sb vb bb 357 // Blatt <istBestandteilVon< Stelle <an< Stelle >istBestandteilVon> Blatt 358 // Fiktiv Fiktiv <zu< Berechtigt Berechtigt 359 $sql ="SELECT bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, 360 sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, ba.bezeichner AS bart, bz.bezeichnung AS beznam, ag.bezeichnung, ag.stelle, ag.stellenart 361 FROM ax_buchungsstelle sf JOIN ax_buchungsstelle sb ON (substring(sf.gml_id,1,16)=ANY(sb.an) OR substring(sf.gml_id,1,16)=ANY(sb.zu)) 362 JOIN ax_buchungsblatt bb ON substring(bb.gml_id,1,16)=sb.istbestandteilvon 363 LEFT JOIN ax_buchungsblattbezirk bz ON bb.land=bz.land AND bb.bezirk=bz.bezirk 364 LEFT JOIN ax_dienststelle ag ON bz.land=ag.land AND bz.stelle=ag.stelle 365 LEFT JOIN ax_buchungsstelle_buchungsart ba ON sb.buchungsart=ba.wert 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 368 $v = array($gmlid); 369 $resb = pg_prepare("", $sql); 370 $resb = pg_execute("", $v); 371 if (!$resb) { 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>";} 374 } 375 $b=0; // count: Blaetter 376 while($rowb = pg_fetch_array($resb)) { 377 if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 378 echo "\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Berechtigte Grundbücher</h3>\n"; 379 echo "\n<table class='outer'>"; 380 echo "\n<tr>"; // Tabelle Kopf 381 echo "\n\t<td class='head'>Land</td>"; 382 echo "\n\t<td class='head'>Dienststelle</td>"; 383 echo "\n\t<td class='head'>Bezirk</td>"; 384 echo "\n\t<td class='head'>Blatt</td>"; 385 echo "\n\t<td class='head'>BVNR</td>"; // Neu 386 echo "\n\t<td class='head'>Buchungsart</td>"; // Neu 387 echo "\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>"; 462 388 echo "\n</tr>"; 463 $b++; 464 } 465 if ($b == 0) { 466 if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000 467 echo "<p class='err'>Keine berechtigten Blätter zu ".$blattart." (".$blattkey.") gefunden.</p>"; 468 } 469 } else { 470 echo "\n</table>"; 471 } 472 389 } 390 $gml_b=$rowb["gml_id"]; // id des berechtigten Blattes 391 $gml_s=$rowb["gml_s"]; // id der berechtigten Buchungsstelle 392 $blart=$rowb["blattart"]; 393 $buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt 394 $bart=$rowb["bart"]; // Buchungsart entschluesselt 395 $lfdnr=$rowb["lfdnr"]; 396 $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 397 398 echo "\n<tr>"; 399 echo "\n\t<td>".$rowb["land"]."</td>"; 400 echo "\n\t<td>"; // Amtsgericht 401 echo dienststellenart($rowb["stellenart"])." "; 402 if ($showkey) { 403 echo "<span class='key'>".$rowb["stelle"]."</span> "; 404 } 405 echo $rowb["bezeichnung"]; 406 echo "</td>"; 407 echo "\n\t<td>"; 408 if ($showkey) { 409 echo "<span class='key'>".$rowb["bezirk"]."</span> "; 410 } 411 echo $rowb["beznam"]; 412 echo "</td>"; 413 echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>"; 414 if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt", "");} 415 echo "</td>"; 416 echo "\n\t<td>".$bvnr; 417 if ($idanzeige) {linkgml($gkz, $gml_s, "Buchungsstelle", "ax_buchungssstelle");} 418 echo "</td>"; 419 echo "\n\t<td>"; 420 if ($showkey) { 421 echo "<span class='key'>".$buch."</span> "; 422 } 423 echo $bart; 424 echo "</td>"; 425 echo "\n\t<td>"; 426 echo "\n\t\t<p class='nwlink'>"; 427 echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$gml_b."#bvnr".$lfdnr; 428 if ($idanzeige) {echo "&id=j";} 429 if ($showkey) {echo "&showkey=j";} 430 echo "' title='Nachweis des berechtigten Blattes an ".$blattart."'>"; // oder "zu" statt "an" 431 echo blattart($blart); 432 echo " \n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>"; 433 echo "\n\t\t</p>"; 434 echo "</td>"; 435 echo "\n</tr>"; 436 $b++; 437 } 438 if ($b == 0) { 439 if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000 440 echo "<p class='err'>Keine berechtigten Blätter zu ".$blattart." (".$blattkey.") gefunden.</p>"; 441 } 442 } else { 443 echo "\n</table>"; 444 } 473 445 ?> 474 446 -
trunk/info/info/alkis/alkisexport.php
r308 r330 1 1 <?php 2 2 /* Modul alkisexport.php 3 CSV-Export von ALKIS-Daten zu einem Flurstueck, Grundbuch oder Eigent ümer.4 Es wird eine GML-ID übergeben.3 CSV-Export von ALKIS-Daten zu einem Flurstueck, Grundbuch oder EigentÃŒmer. 4 Es wird eine GML-ID ÃŒbergeben. 5 5 Es wird ein gespeicherter View verwendet, der nach der gml_id gefiltert wird. 6 6 Der View verkettet Flurstueck - Buchungsstelle - Grundbuch - Eigentuemer 7 Die Lagebezeichnung des Flurst ücks wird in ein Feld komprimiert.7 Die Lagebezeichnung des FlurstÃŒcks wird in ein Feld komprimiert. 8 8 Parameter: gkz=mandant&gmlid=DE...&tabtyp=flurstueck/grundbuch/person 9 9 10 10 2014-01-17 krz f.j. 11 11 2014-01-20 weitere Spalten und verbesserte Formatierung 12 2014-01-21 Der View liefert "Rechtsgemeinschaft" nun als Feld in allen Personen-S ätzen12 2014-01-21 Der View liefert "Rechtsgemeinschaft" nun als Feld in allen Personen-SÀtzen 13 13 eines GB-Blattes statt als eigenen "Satz ohne Person". 14 14 2014-01-27 Erweiterung auf Filter "strasse" ("gml_id" aus "ax_lagebezeichnungkatalogeintrag") 15 2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 16 2014-09-10 Bei Relationen den Timestamp abschneiden 15 17 */ 16 18 17 19 function lage_zum_fs($gmlid) { 18 // Zu einem Flurst ück die Lagebezeichnungen (mit Hausnummer) so aufbereiten,20 // Zu einem FlurstÃŒck die Lagebezeichnungen (mit Hausnummer) so aufbereiten, 19 21 // dass ggf. mehrere Lagebezeichnungen in eine Zelle der Tabelle passen. 20 $sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer FROM alkis_beziehungen v "; 21 $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; 22 $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage = s.lage "; 23 $sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' "; 24 $sql.="ORDER BY s.bezeichnung, l.hausnummer;"; 22 // FS >westAuf> Lage >> Katalog 23 $sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer 24 FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(f.weistauf) 25 JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 26 WHERE f.gml_id= $1 ORDER BY s.bezeichnung, l.hausnummer;"; 27 25 28 $v=array($gmlid); 26 29 $res=pg_prepare("", $sql); 27 30 $res=pg_execute("", $v); 28 31 if (!$res) { 29 echo "Fehler bei Lagebezeichnung \n"; 30 //echo $sql."\n"; 32 return "** Fehler bei Lagebezeichnung **"; //.$sql; 31 33 } 32 34 $j=0; … … 47 49 } 48 50 51 // HIER START // 52 49 53 $cntget = extract($_GET); // Parameter aus URL lesen 50 54 header('Content-type: application/octet-stream'); … … 61 65 exit("Fehler beim Verbinden der DB"); 62 66 } 63 pg_set_client_encoding($con, LATIN1); // F ür Excel kein UTF8 ausgeben67 pg_set_client_encoding($con, LATIN1); // FÃŒr Excel kein UTF8 ausgeben 64 68 65 69 // Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv". … … 68 72 case 'grundbuch': $filter = "gbgml"; break; // ax_buchungsblatt.gml_id 69 73 case 'person': $filter = "psgml"; break; // ax_person.gml_id 70 case 'strasse': $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = Stra ße-GML-ID74 case 'strasse': $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = StraÃe-GML-ID 71 75 default: exit("Falscher Parameter '".$tabtyp."'"); break; 72 76 } … … 83 87 $res=pg_execute("", $v); 84 88 if (!$res) {exit("Fehler bei Datenbankabfrage");} 85 $i=1; // Kopfzeile z ählt mit89 $i=1; // Kopfzeile zÀhlt mit 86 90 $fsalt=''; 87 91 … … 110 114 $bu_lfd=$row["bu_lfd"]; // BVNR 111 115 $bu_ant=$row["bu_ant"]; // '=zaehler/nenner' oder NULL 112 $bu_key=$row["buchungsart"]; // Schl üssel113 $bu_art=$row["bu_art"]; // entschl üsselt (Umlaute in ANSI!)116 $bu_key=$row["buchungsart"]; // SchlÃŒssel 117 $bu_art=$row["bu_art"]; // entschlÃŒsselt (Umlaute in ANSI!) 114 118 if($bu_ant == '') { // Keine Bruch-Zahl 115 119 $bu_ant = '1'; // "voller Anteil" (Faktor 1) … … 121 125 $nam_lfd="'".kurz_namnr($row["nam_lfd"])."'"; // In Hochkomma, wird sonst wie Datum dargestellt. 122 126 $nam_ant=$row["nam_ant"]; 123 $nam_adr=$row["nam_adr"]; // Art der Rechtsgemeischaft (Schl üssel)127 $nam_adr=$row["nam_adr"]; // Art der Rechtsgemeischaft (SchlÃŒssel) 124 128 125 129 if ($nam_adr == '') { // keine Rechtsgemeinschaft … … 133 137 $rechtsg=$row["nam_bes"]; // Beschrieb der Rechtsgemeinschaft 134 138 } else { 135 $rechtsg=rechtsgemeinschaft($nam_adr); // Entschl üsseln139 $rechtsg=rechtsgemeinschaft($nam_adr); // EntschlÃŒsseln 136 140 } 137 141 } … … 154 158 } else { 155 159 $adresse=$row["strasse"]." ".$row["hausnummer"].", ".$row["plz"]." ".$ort; 156 $land=$row["land"]; // nur andere L änder anzeigen160 $land=$row["land"]; // nur andere LÀnder anzeigen 157 161 if (($land != "DEUTSCHLAND") and ($land != "")) { 158 162 $adresse.=" (".$land.")"; … … 161 165 162 166 // Adressen (Lage) zum FS 163 if($fsgml != $fsalt) { // nur bei ge ändertem Kennz.167 if($fsgml != $fsalt) { // nur bei geÀndertem Kennz. 164 168 $lage=lage_zum_fs($fsgml); // die Lage neu ermitteln 165 169 $fsalt=$fsgml; 166 170 } 167 171 168 // Den Ausgabe-Satz montieren aus Flurst ücks-, Grundbuch- und Namens-Teil172 // Den Ausgabe-Satz montieren aus FlurstÃŒcks-, Grundbuch- und Namens-Teil 169 173 // A B C D E F G 170 174 $fsteil=$fs_kennz.";".$gmkgnr.";".$gemkname.";".$flurnummer.";".$flstnummer.";".$fs_flae.";".$lage.";"; … … 181 185 } 182 186 183 // Ausgabe in CSV-Datei187 // Ausgabe in die CSV-Datei -> Download -> Tabellenkalkulation 184 188 echo "\n".$fsteil.$gbteil.$namteil.$formelteil; 185 189 } -
trunk/info/info/alkis/alkisfkt.php
r315 r330 11 11 2014-01-22 Eigentuemerart: Mehr Werte und Zugriff auf DB-SchlÃŒssel-Tabelle 12 12 2014-02-06 Korrektur EigentÃŒmerart 13 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 14 2014-09-10 Bei Relationen den Timestamp abschneiden 13 15 */ 14 16 … … 63 65 } 64 66 65 function linkgml($gkz, $gml, $typ ) {67 function linkgml($gkz, $gml, $typ, $tabelle) { 66 68 // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php 67 $kurzid=substr($gml, 12); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich 69 // tabelle = nur angeben fÃŒr Tabellen, die Relationen-Spalten besitzen, sonst leer 70 $kurzid=substr($gml, 12, 4); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich 71 // PostNAS 0.8: Timestamp abschneiden 68 72 echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' "; 69 echo "href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ." '>";73 echo "href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ."&tabelle=".$tabelle."'>"; 70 74 echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''>".$kurzid."</a>"; 71 75 return 0; … … 73 77 74 78 function kurz_namnr($lang) { 75 // Namensnummer k uerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden79 // Namensnummer kÃŒrzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden 76 80 $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) 77 81 $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) … … 89 93 */ 90 94 global $gkz, $idanzeige, $showkey; 95 91 96 // F L U R S T U E C K 92 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, "; 93 $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; 94 $sql.="FROM ax_flurstueck f "; 95 $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; 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) "; 96 99 $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 97 $sql.="WHERE v.beziehung_zu= $1 "; // id buchungsstelle 98 $sql.="AND v.beziehungsart='istGebucht' "; 99 $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 100 $sql.="WHERE s.gml_id= $1 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 100 101 101 102 $v = array($gml_bs); … … 116 117 if ($rowf["nenner"] != "") { // Bruchnummer 117 118 $fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT); 118 } */119 119 } 120 */ 120 121 // ohne fuehrende Nullen? 121 122 $fskenn=$rowf["zaehler"]; … … 136 137 echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke 137 138 echo "<span class='wichtig'>".$bvnr."</span>"; // BVNR 138 if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle" );}139 if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");} 139 140 echo "</td>"; 140 141 … … 154 155 echo "\n\t<td>".$flur."</td>"; 155 156 echo "\n\t<td><span class='wichtig'>".$fskenn."</span>"; 156 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück" );}157 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück", "ax_flurstueck");} 157 158 echo "</td>"; 158 159 echo "\n\t<td class='fla'>".$flae."</td>"; … … 178 179 // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link 179 180 // Parameter: 180 // $gmlid = ID desGB-Blattes181 // $mitadresse = Option (true/false) ob auchdie Adresszeile ausgegeben werden soll181 // $gmlid = ID GB-Blattes 182 // $mitadresse = Option (true/false) ob die Adresszeile ausgegeben werden soll 182 183 // Return = Anzahl Namensnummern 183 184 184 185 // Schleife 1: N a m e n s n u m m e r 185 // Beziehung: ax_namensnummer >istBestandteilVon>ax_buchungsblatt186 // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 186 187 global $debug, $gkz, $idanzeige, $showkey; 187 188 … … 195 196 } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; 196 197 197 $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 198 $sqln.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 199 $sqln.="FROM ax_namensnummer n JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 200 $sqln.="WHERE b.beziehung_zu= $1 AND b.beziehungsart='istBestandteilVon' ORDER BY laufendenummernachdin1421;"; 198 $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 199 $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 ORDER BY n.laufendenummernachdin1421;"; 201 200 202 201 $v = array($gmlid); … … 219 218 $namnum=kurz_namnr($rown["lfd"]); 220 219 echo $namnum." "; 221 if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer" );}220 if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer", "ax_namensnummer");} 222 221 echo "</p>\n\t</td>"; 223 222 … … 247 246 // Beziehung: ax_person <benennt< ax_namensnummer 248 247 $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 249 $sqlp.="FROM ax_person p JOIN a lkis_beziehungen v ON v.beziehung_zu=p.gml_id";250 $sqlp.="WHERE v.beziehung_von= $1 AND v.beziehungsart='benennt';";248 $sqlp.="FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=substring(p.gml_id,1,16) WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 249 // Timestamp an ID abschneiden! 251 250 252 251 $v = array($gmlnn); … … 260 259 261 260 $i=0; // cnt Person 262 while($rowp = pg_fetch_array($resp)) { 261 while($rowp = pg_fetch_array($resp)) { // ++ Schleife? nn >benennt> Person ist kein Array! 263 262 $diePerson=""; 264 263 if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} … … 281 280 // Spalte 3 = Link 282 281 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 283 if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person"); echo " ";} 284 if ($showkey) {echo "<span class='key'>(".$eiartkey.")</span> ";} 282 if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo " ";} 283 if ($showkey AND $eiartkey != '') { // oft leer 284 echo "<span class='key'>(".$eiartkey.")</span> "; 285 } 285 286 echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowp[0]; 286 287 if ($idanzeige) {echo "&id=j";} … … 293 294 // Schleife 3: A d r e s s e (OPTIONAL) 294 295 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 295 $sqla.="FROM ax_anschrift a JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 296 $sqla.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat';"; // ORDER? 296 $sqla.="FROM ax_anschrift a JOIN ax_person p ON substring(a.gml_id,1,16) = ANY(p.hat) WHERE p.gml_id= $1 ;"; // ORDER? 297 297 $gmlp=$rowp["gml_id"]; // Person 298 298 $v = array($gmlp); … … 332 332 if ($idanzeige) { 333 333 echo "<p class='nwlink noprint'>"; 334 linkgml($gkz, $gmla, "Adresse" );334 linkgml($gkz, $gmla, "Adresse", "ax_adresse"); 335 335 echo "</p>"; 336 336 } else { … … 342 342 pg_free_result($resa); 343 343 } // End if 344 345 344 // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 345 346 346 $i++; // cnt Person 347 347 // als eigene Tab-Zeile? … … 353 353 } 354 354 } // End Loop Person 355 if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, dann kein Fehler355 if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann kein Fehler 356 356 if ($debug > 0) { 357 357 echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>"; 358 358 if ($rechtsg != 9999) { 359 echo "\n<p class='dbg'> Keine Person zur Namensnummer ".$namnum."</p>";359 echo "\n<p class='dbg'>Fehler: Keine Person zur Namensnummer ".$namnum."</p>"; 360 360 } 361 //if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1=gml(NamNum)= '".$gmlnn."'</p>";}361 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";} 362 362 } 363 363 echo "</td>\n\t<td> </td>\n<tr>"; … … 367 367 echo "\n</table>\n"; 368 368 if ($n == 0) { 369 // kommt vor bei "Fiktives Blatt", kein Fehler 369 370 if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 371 370 372 if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 371 373 } -
trunk/info/info/alkis/alkisfshist.php
r315 r330 10 10 2012-11-27 Function split deprecated: explode 11 11 2013-04-08 deprecated "import_request_variables" ersetzt 12 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 12 13 */ 13 14 … … 249 250 echo "\n\t</tr>"; 250 251 echo "\n\t</table>"; 251 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurstück" ); }252 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurstück", "ax_flurstueck"); } 252 253 echo "\n\t</td>\n</tr>\n</table>"; 253 254 … … 270 271 </tr>"; // Head 271 272 272 // Spalte 1: F l u r s t à Œ c k273 // Spalte 1: F l u r s t ÃŒ c k 273 274 echo "\n<tr>\n\t<td>"; 274 275 echo "<img src='ico/".$ico."' width='16' height='16' alt=''> ".$wert; … … 276 277 echo "</td>"; 277 278 278 // Spalte 2: V o r g à € n g e r279 // Spalte 2: V o r g À n g e r 279 280 echo "\n\t<td>"; 280 281 switch ($ftyp) { // Unterschiede Historisch/Aktuell -
trunk/info/info/alkis/alkisfsnw.php
r315 r330 20 20 2014-01-30 Korrektur Nutzungsart (z.B. Friedhof mit class=funktion=0 hatte Anzeige "unbekannt") 21 21 2014-02-06 Korrektur 22 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 23 2014-09-10 Bei Relationen den Timestamp abschneiden 22 24 23 25 ToDo: … … 107 109 108 110 // F L U R S T U E C K 109 $sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae, f.zeitpunktderentstehung, "; 110 $sql.="g.gemarkungsnummer, g.bezeichnung "; 111 $sql.="FROM ax_flurstueck f "; 112 $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 113 $sql.="WHERE f.gml_id= $1"; 111 $sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung 112 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 113 WHERE f.gml_id= $1 AND f.endet IS NULL;"; 114 114 115 115 $v = array($gmlid); // mit gml_id suchen 116 116 $res = pg_prepare("", $sql); 117 117 $res = pg_execute("", $v); 118 118 119 if (!$res) { 119 120 echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>\n"; … … 138 139 $arrn = explode(",", trim($name, "{}") ); // PHP-Array 139 140 } else { 140 echo "<p class='err'>Fehler! Kein Treffer für gml_id=".$gmlid."</p>";141 echo "<p class='err'>Fehler! Kein Treffer für Flurstück mit gml_id=".$gmlid."</p>"; 141 142 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 143 echo "</body></html>"; 144 return; 142 145 } 143 146 pg_free_result($res); … … 177 180 178 181 echo "\n\t</table>"; 179 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurstück" ); }182 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurstück", "ax_flurstueck"); } 180 183 echo "\n\t</td>\n</tr>\n</table>"; 181 184 // echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame . "</td>\n</tr>"; … … 247 250 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";} 248 251 } 249 $row =pg_fetch_array($res);250 $bnam =htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");252 $row=pg_fetch_array($res); 253 $bnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 251 254 echo "<tr><td> </td><td>Regierungsbezirk</td><td>"; 252 255 if ($showkey) { … … 259 262 // ** L a g e b e z e i c h n u n g ** 260 263 261 // Lagebezeichnung M itHausnummer264 // Lagebezeichnung MIT Hausnummer 262 265 // ax_flurstueck >weistAuf> AX_LagebezeichnungMitHausnummer 263 $sql ="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 264 $sql.="FROM alkis_beziehungen v "; 265 $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 266 $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 267 $sql.="AND l.lage = s.lage "; 268 $sql.="WHERE v.beziehung_von= $1 "; // id FS"; 269 $sql.="AND v.beziehungsart='weistAuf' "; 270 $sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 271 // Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage 272 // bei einem SekundÀrbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier: 266 $sql="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung 267 FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16) = ANY(f.weistauf) 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;"; 273 270 274 271 $v = array($gmlid); 275 272 $res = pg_prepare("", $sql); 276 273 $res = pg_execute("", $v); 274 277 275 if (!$res) { 278 276 echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer</p>"; 279 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";} 280 } 281 $j=0; 282 while($row = pg_fetch_array($res)) { 283 $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 284 echo "\n<tr>\n\t"; 285 if ($j == 0) { 286 echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>"; 287 } else { 288 echo "<td> </td>"; 289 } 290 echo "\n\t<td> </td>"; 291 echo "\n\t<td class='lr'>"; 292 if ($showkey) { 293 echo "<span class='key' title='StraÃenschlüssel'>(".$row["lage"].")</span> "; 294 } 295 echo $sname." ".$row["hausnummer"]; 296 if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Lagebezeichnung mit Hausnummer");} 297 echo "</td>"; 298 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 299 echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&ltyp=m&gmlid=".$row["gml_id"]; 300 if ($showkey) {echo "&showkey=j";} 301 echo "'>Lage "; 302 echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>"; 303 echo "\n\t\t</p>\n\t</td>"; 304 echo "\n</tr>"; 305 $j++; 306 } 307 pg_free_result($res); 277 if ($debug > 1) { 278 //echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>"; 279 echo "<p class='dbg'>Fehler:".pg_last_error()."</p>"; 280 } 281 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 282 } else { 283 $j=0; 284 while($row = pg_fetch_array($res)) { 285 $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 286 echo "\n<tr>\n\t"; 287 if ($j == 0) { 288 echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>"; 289 } else { 290 echo "<td> </td>"; 291 } 292 echo "\n\t<td> </td>"; 293 echo "\n\t<td class='lr'>"; 294 if ($showkey) { 295 echo "<span class='key' title='StraÃenschlüssel'>(".$row["lage"].")</span> "; 296 } 297 echo $sname." ".$row["hausnummer"]; 298 if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Lagebezeichnung mit Hausnummer", "ax_lagebezeichnungmithausnummer");} 299 echo "</td>"; 300 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 301 echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&ltyp=m&gmlid=".$row["gml_id"]; 302 if ($showkey) {echo "&showkey=j";} 303 echo "'>Lage "; 304 echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>"; 305 echo "\n\t\t</p>\n\t</td>"; 306 echo "\n</tr>"; 307 $j++; 308 } 309 pg_free_result($res); 310 } 308 311 // Verbesserung: mehrere HsNr zur gleichen StraÃe als Liste? 309 312 310 // L a g e b e z e i c h n u n g O h n e H a u s n u m m er (Gewanne oder nur Strasse)313 // Lagebezeichnung OHNE Hausnummer (Gewanne oder nur Strasse) 311 314 // ax_flurstueck >zeigtAuf> AX_LagebezeichnungOhneHausnummer 312 $sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung "; 313 $sql.="FROM alkis_beziehungen v "; 314 $sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu "; 315 $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 316 $sql.="AND l.lage = s.lage "; 317 $sql.="WHERE v.beziehung_von= $1 "; // id FS 318 $sql.="AND v.beziehungsart='zeigtAuf';"; //ORDER? 315 $sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung 316 FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON substring(l.gml_id,1,16)=ANY(f.zeigtauf) 317 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 319 320 $v = array($gmlid); 320 321 $res = pg_prepare("", $sql); … … 322 323 if (!$res) { 323 324 echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>"; 324 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";} 325 //if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>";} 326 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 325 327 } 326 328 $j=0; … … 352 354 } 353 355 echo $row["bezeichnung"]; 354 if ($idanzeige) {linkgml($gkz, $lgml, "Lagebezeichnung o. HsNr." );}356 if ($idanzeige) {linkgml($gkz, $lgml, "Lagebezeichnung o. HsNr.", "ax_lagebezeichnungohnehausnummer");} 355 357 echo "</td>"; 356 358 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; … … 458 460 if ($nam != "") {echo "<br>Name: ".$nam;} 459 461 if ($bez != "") {echo "<br>Bezeichnung: ".$bez;} 460 if ($idanzeige) {linkgml($gkz, $gml, "Nutzungs-Abschnitt" );}462 if ($idanzeige) {linkgml($gkz, $gml, "Nutzungs-Abschnitt", "");} 461 463 462 464 echo "</td>"; 463 465 echo "\n\t<td>"; 464 466 switch ($grupp) { // Icon nach 4 Objektartengruppen 465 case "Siedlung": $ico = "Abschnitt.ico";break;466 case "Verkehr": $ico = "Strassen_Klassifikation.ico";break;467 case "Vegetation": $ico = "Wald.ico";break;468 case "GewÀsser": 469 default: 467 case "Siedlung": $ico = "Abschnitt.ico"; break; 468 case "Verkehr": $ico = "Strassen_Klassifikation.ico"; break; 469 case "Vegetation": $ico = "Wald.ico"; break; 470 case "GewÀsser": $ico = "Wasser.ico"; break; 471 default: $ico = "Abschnitt.ico"; break; 470 472 } 471 473 // Icon ist auch im Druck sichtbar, class='noprint' ? … … 499 501 $sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, "; 500 502 $sql_boden.="b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key "; 501 $sql_boden.="FROM ax_bauraumoderbodenordnungsrecht b JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON a.wert =b.artderfestlegung ";502 $sql_boden.="LEFT JOIN ax_dienststelle d ON b.stelle =d.stelle ";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 "; 503 505 $sql_boden.="WHERE ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry) "; 504 506 $sql_boden.="OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry)"; … … 610 612 611 613 // B U C H U N G S S T E L L E N zum FS (istGebucht) 612 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, "; 613 $sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart "; 614 $sql.="FROM alkis_beziehungen v JOIN ax_buchungsstelle s ON v.beziehung_zu=s.gml_id "; 615 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert "; 616 $sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart= $2 ORDER BY s.laufendenummer;"; 617 618 $v = array($gmlid,'istGebucht'); 614 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart 615 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON substring(s.gml_id,1,16)=f.istgebucht 616 LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart=b.wert 617 WHERE f.gml_id= $1 ORDER BY s.laufendenummer;"; 618 619 $v = array($gmlid); 619 620 $ress = pg_prepare("", $sql); 620 621 $ress = pg_execute("", $v); 621 622 if (!$ress) { 622 623 echo "\n<p class='err'>Keine Buchungsstelle.</p>\n"; 624 //if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($ress)."</p>";} 623 625 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 624 626 } … … 629 631 630 632 // B U C H U N G S B L A T T zur Buchungsstelle (istBestandteilVon) 631 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, "; 632 $sql.="z.bezeichnung "; // stelle -> amtsgericht 633 $sql.="FROM alkis_beziehungen v "; // Bez. Stelle - Blatt 634 $sql.="JOIN ax_buchungsblatt b ON v.beziehung_zu=b.gml_id "; 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 635 $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 636 $sql.="WHERE v.beziehung_von= $1 "; // id Buchungsstelle 637 $sql.="AND v.beziehungsart= $2 "; 638 $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 639 640 $v = array($gmls,'istBestandteilVon'); 636 $sql.="WHERE s.gml_id = $1 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 637 638 $v = array($gmls); 641 639 $resg = pg_prepare("", $sql); 642 640 $resg = pg_execute("", $v); … … 695 693 echo "\n<td>"; // Outer rechte Spalte: NW-Links 696 694 if ($idanzeige) { 697 linkgml($gkz, $gmls, "Buchungsstelle" );695 linkgml($gkz, $gmls, "Buchungsstelle", "ax_buchungsstelle"); 698 696 echo "<br>"; 699 linkgml($gkz, $gmlg, "Buchungsblatt" );697 linkgml($gkz, $gmlg, "Buchungsblatt", ""); // ax_buchungsblatt keine Relationen 700 698 } 701 699 echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>"; … … 730 728 if ($blattkeyg == 1000) { 731 729 echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 732 linkgml($gkz, $gmlg, "Buchungsblatt" );730 linkgml($gkz, $gmlg, "Buchungsblatt", ""); 733 731 } else { 734 732 echo "\n<p>ohne Eigentümer.</p>"; … … 741 739 echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>"; 742 740 echo "\n<p class='err'>Parameter: gml_id= ".$gmls.", Beziehung='istBestandteilVon'</p>"; 743 linkgml($gkz, $gmls, "Buchungstelle" );741 linkgml($gkz, $gmls, "Buchungstelle", "ax_buchungsstelle"); 744 742 } 745 743 746 744 // Buchungstelle >an> Buchungstelle >istBestandteilVon> BLATT -> Bezirk 747 $sql ="SELECT s.gml_id AS s_gml, s.buchungsart, s.laufendenummer as lfd, "; 748 $sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, "; 749 $sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, "; 750 $sql.="z.bezeichnung, a.bezeichner AS bart "; // stelle -> amtsgericht 751 $sql.="FROM alkis_beziehungen an "; // Bez. Stelle - Stelle 752 $sql.="JOIN ax_buchungsstelle s ON an.beziehung_von = s.gml_id "; 753 $sql.="JOIN alkis_beziehungen v ON s.gml_id = v.beziehung_von "; // Bez. Stelle - Blatt 754 $sql.="JOIN ax_buchungsblatt b ON v.beziehung_zu = b.gml_id "; 755 $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land = b.land AND z.bezirk = b.bezirk "; 756 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert "; 757 $sql.="WHERE an.beziehung_zu = $1 "; // id herrschende Buchungsstelle 758 $sql.="AND an.beziehungsart = 'an' AND v.beziehungsart = 'istBestandteilVon' "; 745 $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> Stelle 748 $sql.="JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=sd.istbestandteilvon ";// Stelle >istbestandteilvon> Blatt 749 $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 Buchungsstelle 759 752 $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 753 760 754 $v = array($gmls); 761 755 $resan = pg_prepare("", $sql); … … 806 800 echo "\n<td>"; // outer rechte Spalte 807 801 if ($idanzeige) { 808 linkgml($gkz, $rowan["s_gml"], "Buchungsstelle" );802 linkgml($gkz, $rowan["s_gml"], "Buchungsstelle", "ax_buchungsstelle"); 809 803 echo "<br>"; 810 linkgml($gkz, $rowan["g_gml"], "Buchungsblatt" );804 linkgml($gkz, $rowan["g_gml"], "Buchungsblatt", ""); 811 805 } 812 806 echo "\n<br>"; … … 845 839 if ($bs == 0) { 846 840 echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>"; 847 linkgml($gkz, $gmlid, "Flurstück" );841 linkgml($gkz, $gmlid, "Flurstück", "ax_flurstueck"); 848 842 } 849 843 pg_close($con); -
trunk/info/info/alkis/alkisgebaeudenw.php
r315 r330 8 8 2013-04-08 deprecated "import_request_variables" ersetzt 9 9 2014-01-30 pg_free_result 10 2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 11 2014-09-10 Bei Relationen den Timestamp abschneiden 10 12 */ 11 13 session_start(); … … 39 41 40 42 // Flurstueck 41 $sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung ";42 $sqlf.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 43 $sqlf.="WHERE f.gml_id= $1;";43 $sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung 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;"; 44 46 $v=array($gmlid); 45 47 $resf=pg_prepare("", $sqlf); … … 93 95 echo "&eig=n' title='Flurstücksnachweis'>Flurstück <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a>"; 94 96 echo "\n\t</p>"; 95 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurstück" ); }97 if ($idanzeige) {linkgml($gkz, $gmlid, "Flurstück", "ax_flurstueck"); } 96 98 echo "\n\t</td>\n</tr>\n</table>"; 97 99 // Ende Seitenkopf … … 107 109 $sqlg.="h.bauweise_beschreibung, u.bezeichner, g.zustand, z.bezeichner AS bzustand, "; 108 110 109 // G ebaeudeflaeche komplett auchausserhalb des FS111 // GEB-Flaeche komplett auch die Fl. ausserhalb des FS 110 112 $sqlg.="round(area(g.wkb_geometry)::numeric,2) AS gebflae, "; 111 113 … … 120 122 121 123 // Entschluesseln 122 $sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise =h.bauweise_id ";123 $sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion =u.wert ";124 $sqlg.="LEFT JOIN ax_gebaeude_zustand z ON g.zustand =z.wert ";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 "; 125 127 $sqlg.="WHERE f.gml_id= $1 "; // ID des akt. FS 126 128 127 // "within" liefert nur Gebaeude, die komplett im Flurstueckliegen128 // "intersects" liefert ueberlappende Flaechen129 // "within" -> nur Geb., die komplett im FS liegen 130 // "intersects" -> ueberlappende Fl. 129 131 $sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true "; 130 132 131 // RLP: keine Relationen zu Nebengeb aeuden:133 // RLP: keine Relationen zu NebengebÀuden: 132 134 // auf Qualifizierung verzichten, sonst werden NebengebÀude nicht angezeigt 133 135 //$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') "; … … 195 197 196 198 echo "\n\t<td class='nwlink noprint'>"; 197 198 199 // 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer, alle in ein TD zu EINEM GebÀude 199 // HAUPTgebÀude 200 $sqll ="SELECT 'm' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer ";201 $sqll .="FROM alkis_beziehungen v ";202 $sqll.=" JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id";200 201 // HAUPTgebÀude Geb >zeigtAuf> lage (mehrere) 202 $sqll ="SELECT 'm' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer "; 203 $sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(g.zeigtauf) "; 203 204 $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 204 $sqll.="WHERE v.beziehungsart = 'zeigtAuf' AND v.beziehung_von = $1 "; 205 $sqll.="UNION "; 206 // oder NEBENgebÀude 207 $sqll.="SELECT 'p' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer "; 208 $sqll.="FROM alkis_beziehungen v "; 209 $sqll.="JOIN ax_lagebezeichnungmitpseudonummer l ON v.beziehung_zu=l.gml_id "; 205 $sqll.="WHERE g.gml_id= $1 "; 206 207 // oder NEBENgebÀude Geb >hat> Pseudo 208 $sqll.="UNION SELECT 'p' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer "; 209 $sqll.="FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON substring(l.gml_id,1,16)=g.hat "; 210 210 $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 211 $sqll.="WHERE v.beziehungsart = 'hat' AND v.beziehung_von= $1 "; // ID des Hauses"211 $sqll.="WHERE g.gml_id= $1 "; // ID des Hauses" 212 212 213 $sqll.="ORDER BY bezeichnung, hausnummer 214 213 $sqll.="ORDER BY bezeichnung, hausnummer;"; 214 215 215 $v = array($ggml); 216 216 $resl = pg_prepare("", $sqll); … … 223 223 $ltyp=$rowl["ltyp"]; // Lagezeilen-Typ 224 224 $skey=$rowl["lage"]; // Str.-Schluessel 225 $snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); // 225 $snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); //-Name 226 226 $hsnr=$rowl["hausnummer"]; 227 227 $hlfd=$rowl["laufendenummer"]; 228 $gmllag=$rowl[" beziehung_zu"];228 $gmllag=$rowl["lgml"]; 229 229 if ($ltyp == "p") { 230 230 $lagetitl="NebengebÀude - Pseudonummer"; 231 231 $lagetxt="Nebengebäude Nr. ".$hlfd; 232 232 } else { 233 $lagetitl="Hauptg abÀude - Hausnummer";233 $lagetitl="HauptgebÀude - Hausnummer"; 234 234 $lagetxt=$snam." ".$hsnr; 235 235 } … … 240 240 if ($showkey) {echo "&showkey=j";} 241 241 echo "'>".$lagetxt."</a>"; 242 if ($idanzeige) {linkgml($gkz, $gmllag, "Lage" ); }242 if ($idanzeige) {linkgml($gkz, $gmllag, "Lage", ""); } 243 243 echo "<br>"; 244 } // Ende Loop Lage zeilenm.H.244 } // Ende Loop Lage m.H. 245 245 pg_free_result($resl); 246 246 echo "\n\t</td>"; … … 255 255 echo "\n</tr>"; 256 256 } 257 // Footer257 // Footer 258 258 if ($gebnr == 0) { 259 259 echo "\n</table>"; -
trunk/info/info/alkis/alkishaus.php
r315 r330 6 6 2011-11-30 NEU! Variante von alkisgebaeudenw: Aufruf fÃŒr EIN Haus, nicht fÃŒr ein FS 7 7 2011-01-31 ax_gebaeude.weiteregebaeudefunktion ist jetzt Array 8 2013-04-08 deprecated "import_request_variables" ersetzt 8 2013-04-08 deprecated "import_request_variables" ersetzt 9 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 10 2014-09-10 Bei Relationen den Timestamp abschneiden 9 11 10 12 ToDo: … … 53 55 $sqlg.="h.bauweise_beschreibung, u.bezeichner AS bfunk, z.bezeichner AS bzustand, "; 54 56 // "w.bezeichner AS bweitfunk, "; 55 $sqlg.="d.bezeichner AS bdach, round(area(g.wkb_geometry)::numeric,2) AS gebflae "; 56 $sqlg.="FROM ax_gebaeude g "; 57 57 $sqlg.="d.bezeichner AS bdach, round(area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g "; 58 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 "; // ID des Hauses59 $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 ;"; 65 65 66 66 $v = array($gmlid); … … 73 73 74 74 // Balken 75 echo "<p class='geb'>ALKIS Haus ".$gmlid." </p>\n"; // ++ + Kennzeichen =?75 echo "<p class='geb'>ALKIS Haus ".$gmlid." </p>\n"; // ++ Kennzeichen? 76 76 77 77 echo "\n<h2><img src='ico/Haus.ico' width='16' height='16' alt=''> Haus (Gebäude)</h2>\n"; … … 79 79 // Kennzeichen in Rahmen 80 80 // - Welches Kennzeichen zum Haus ? 81 if ($idanzeige) {linkgml($gkz, $gmlid, "Haus" ); }81 if ($idanzeige) {linkgml($gkz, $gmlid, "Haus", "ax_gebaeude"); } 82 82 echo "\n<hr>"; 83 83 // Umschalter: auch leere Felder ausgeben? … … 90 90 echo "</a></p>"; 91 91 92 while($rowg = pg_fetch_array($resg)) { // AlsSchleife, kann aber nur EIN Haus sein.92 while($rowg = pg_fetch_array($resg)) { // Schleife, kann aber nur EIN Haus sein. 93 93 $gebnr++; 94 94 echo "\n<table class='geb'>"; … … 130 130 // 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer 131 131 // HAUPTgebÀude 132 $sqll ="SELECT 'm' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer ";133 $sqll.="FROM a lkis_beziehungen v ";134 $sqll.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id";132 $sqll ="SELECT 'm' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer "; 133 $sqll.="FROM ax_gebaeude g "; 134 $sqll.="JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(g.zeigtauf) "; 135 135 $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 136 $sqll.="WHERE v.beziehungsart = 'zeigtAuf' AND v.beziehung_von = $1";136 $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL "; 137 137 $sqll.="UNION "; 138 138 // oder NEBENgebÀude 139 $sqll.="SELECT 'p' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer ";140 $sqll.="FROM a lkis_beziehungen v";141 $sqll.="JOIN ax_lagebezeichnungmitpseudonummer l ON v.beziehung_zu=l.gml_id";139 $sqll.="SELECT 'p' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer "; 140 $sqll.="FROM ax_gebaeude g "; 141 $sqll.="JOIN ax_lagebezeichnungmitpseudonummer l ON substring(l.gml_id,1,16)=g.hat "; 142 142 $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 143 $sqll.="WHERE v.beziehungsart = 'hat' AND v.beziehung_von = $1 "; // ID des Hauses"144 145 $sqll.="ORDER BY bezeichnung, hausnummer ";143 $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL "; 144 145 $sqll.="ORDER BY bezeichnung, hausnummer ;"; 146 146 147 147 $v = array($gmlid); … … 160 160 $hsnr=$rowl["hausnummer"]; 161 161 $hlfd=$rowl["laufendenummer"]; 162 $gmllag=$rowl[" beziehung_zu"];162 $gmllag=$rowl["gmllag"]; 163 163 164 164 if ($zhsnr == 1) { … … 174 174 if ($ltyp == "p") { echo ", lfd.Nr ".$hlfd;} 175 175 echo "</a>"; 176 if ($idanzeige) {linkgml($gkz, $gmllag, "Lage" ); }176 if ($idanzeige) {linkgml($gkz, $gmllag, "Lage", ""); } 177 177 echo "<br>"; 178 178 } // Ende Loop Lagezeilen m.H. -
trunk/info/info/alkis/alkisinlayausk.php
r319 r330 18 18 2014-01-28 Link zu alkisstrasse.php 19 19 2014-02-06 pg_free_result 20 2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 21 2014-09-10 Bei Relationen den Timestamp abschneiden 20 22 */ 21 23 session_start(); … … 51 53 // *** F L U R S T U E C K *** 52 54 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung "; 53 $sql.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung 55 $sql.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 54 56 $sql.="WHERE f.gml_id= $1 ;"; 55 57 // Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt" … … 109 111 110 112 // Lage MIT HausNr (Adresse) 111 $sql ="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.hausnummer ";112 $sql.="FROM alkis_beziehungen v JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 113 $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 114 $sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' "; // id FS";115 $sql.="ORDER BY s.bezeichnung, l.hausnummer;"; 116 $v=array($gmlid); 113 $sql ="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.hausnummer 114 FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(f.weistauf) 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;"; 117 118 $v=array($gmlid); // id FS 117 119 $res=pg_prepare("", $sql); 118 120 $res=pg_execute("", $v); … … 143 145 if ($j == 0) { // keine HsNr gefunden 144 146 // Lage OHNE HausNr 145 $sql ="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.unverschluesselt "; 146 $sql.="FROM alkis_beziehungen v JOIN ax_lagebezeichnungohnehausnummer l ON v.beziehung_zu=l.gml_id "; 147 $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 148 $sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='zeigtAuf' ORDER BY s.bezeichnung ;"; 147 $sql ="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.unverschluesselt 148 FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON substring(l.gml_id,1,16)=ANY(f.zeigtauf) 149 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 149 152 $v=array($gmlid); 150 153 $res=pg_prepare("", $sql); … … 187 190 // *** G R U N D B U C H *** 188 191 echo "\n<h2><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbuch</h2>"; 189 // ALKIS: FS --> bfs --> GS --> bsb --> GB. 190 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, "; 191 $sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, a.bezeichner AS bart "; 192 $sql.="FROM alkis_beziehungen bfs JOIN ax_buchungsstelle s ON bfs.beziehung_zu=s.gml_id "; 193 $sql.="JOIN alkis_beziehungen bsb ON s.gml_id=bsb.beziehung_von "; // Bez.Stelle-Blatt 194 $sql.="JOIN ax_buchungsblatt b ON bsb.beziehung_zu=b.gml_id "; 195 $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 196 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert "; 197 $sql.="WHERE bfs.beziehung_von= $1 AND bfs.beziehungsart='istGebucht' AND bsb.beziehungsart='istBestandteilVon' "; 198 $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 192 // FS >istgebucht> GS >istbestandteilvon> GB. 193 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, 194 s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, a.bezeichner AS bart 195 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16) 196 JOIN ax_buchungsblatt b ON s.istbestandteilvon=substring(b.gml_id,1,16) 197 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk 198 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;"; 200 199 201 $v=array($gmlid); 200 202 $resg=pg_prepare("", $sql); … … 255 257 echo "\n<p class='err'>Keine Eigentümer gefunden.</p>"; 256 258 echo "\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>"; 257 linkgml($gkz, $gmlid, "Buchungsblatt" );259 linkgml($gkz, $gmlid, "Buchungsblatt", ""); 258 260 } 259 261 } -
trunk/info/info/alkis/alkisinlaybaurecht.php
r287 r330 9 9 2013-04-08 deprecated "import_request_variables" ersetzt 10 10 2013-06-27 hiervon neue Variante alkisbaurecht (ohne "inlay"), 11 dafÃŒr hier die SchlÃŒssel ganz raus und FlurstÃŒcks-Verschneidung raus. 11 dafÃŒr hier die SchlÃŒssel ganz raus und FlurstÃŒcks-Verschneidung raus. 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 12 14 */ 13 15 session_start(); … … 42 44 43 45 // wie View "baurecht" 44 $sql ="SELECT r.ogc_fid, r.name, r.stelle, r.bezeichnung AS rechtbez, "; 45 $sql.="a.bezeichner AS adfbez, d.bezeichnung AS stellbez, "; 46 $sql.="round(st_area(r.wkb_geometry)::numeric,0) AS flae "; 47 $sql.="FROM ax_bauraumoderbodenordnungsrecht r "; 48 $sql.="LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON r.artderfestlegung = a.wert "; 49 $sql.="LEFT JOIN ax_dienststelle d ON r.land = d.land AND r.stelle = d.stelle "; 50 $sql.="WHERE r.gml_id= $1 ;"; 46 $sql ="SELECT r.ogc_fid, r.name, r.stelle, r.bezeichnung AS rechtbez, a.bezeichner AS adfbez, d.bezeichnung AS stellbez, round(st_area(r.wkb_geometry)::numeric,0) AS flae 47 FROM ax_bauraumoderbodenordnungsrecht r 48 LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON r.artderfestlegung=a.wert 49 LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle WHERE r.gml_id= $1 ;"; 51 50 52 51 $v = array($gmlid); -
trunk/info/info/alkis/alkislage.php
r306 r330 6 6 7 7 Version: 8 2013-03-06 Korrektur URL des Link im Abs. Lage bei eingeschalteten Test-Optionen 9 2013-04-08 deprecated "import_request_variables" ersetzt 10 2014-01-23 gml des Katalogs, Link auf Modul "strasse" 8 2013-03-06 Korrektur URL des Link im Abs. Lage bei eingeschalteten Test-Optionen 9 2013-04-08 deprecated "import_request_variables" ersetzt 10 2014-01-23 gml des Katalogs, Link auf Modul "strasse" 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 11 13 12 14 ToDo: … … 18 20 if ($auth == "mapbender") {require_once($mapbender);} 19 21 include("alkisfkt.php"); 22 20 23 switch ($ltyp) { 21 24 case "m": // "Mit HsNr" = Hauptgebaeude … … 29 32 $tnam = "ax_lagebezeichnungmithausnummer"; break; 30 33 } 34 31 35 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 32 36 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; … … 66 70 break; 67 71 } 68 $sql.="FROM ".$tnam." l "; // Left: Bei sub-Typ "Gewanne" von Typ "o" sind keine SchlÃŒsselfelder gefÃŒllt! 69 $sql.="LEFT JOIN ax_gemeinde g ON l.land=g.land AND l.regierungsbezirk=g.regierungsbezirk AND l.kreis=g.kreis AND l.gemeinde=g.gemeinde "; 70 $sql.="LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis "; 71 $sql.="LEFT JOIN ax_regierungsbezirk r ON l.land=r.land AND l.regierungsbezirk=r.regierungsbezirk "; 72 $sql.="LEFT JOIN ax_bundesland b ON l.land=b.land "; 73 $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s "; 74 $sql.="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 "; 75 $sql.="WHERE l.gml_id= $1;"; 72 // "Left" weil: Bei sub-Typ "Gewanne" von Typ "o" sind keine SchlÃŒsselfelder gefÃŒllt! 73 $sql.="FROM ".$tnam." l 74 LEFT JOIN ax_gemeinde g ON l.land=g.land AND l.regierungsbezirk=g.regierungsbezirk AND l.kreis=g.kreis AND l.gemeinde=g.gemeinde 75 LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis 76 LEFT JOIN ax_regierungsbezirk r ON l.land=r.land AND l.regierungsbezirk=r.regierungsbezirk 77 LEFT JOIN ax_bundesland b ON l.land=b.land 78 LEFT JOIN ax_lagebezeichnungkatalogeintrag s 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;"; 76 81 77 82 $v = array($gmlid); … … 214 219 215 220 // Kopf Rechts: weitere Daten? 216 if ($idanzeige) {linkgml($gkz, $gmlid, "Lage" ); }221 if ($idanzeige) {linkgml($gkz, $gmlid, "Lage", ""); } 217 222 218 223 if ($osub != "g") { // Link zu Strasse … … 235 240 echo "\n<p>mit dieser Lagebezeichnung.</p>"; 236 241 switch ($ltyp) { 237 case "m": $bezart="weist Auf"; break;238 case "o": $bezart="zeigt Auf"; break;239 } 240 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, "; 241 $sql .="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche ";242 case "m": $bezart="weistauf"; break; 243 case "o": $bezart="zeigtauf"; break; 244 } 245 246 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche "; 242 247 $sql.="FROM ax_flurstueck f "; 243 $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";244 248 $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 245 $sql.="WHERE v.beziehung_zu= $1 "; // id Lage 246 $sql.="AND v.beziehungsart= $2 "; 249 $sql.="WHERE $1 = ANY(f.".$bezart.")"; 247 250 $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 248 251 249 $v = array($gmlid ,$bezart);252 $v = array($gmlid); 250 253 $resf = pg_prepare("", $sql); 251 254 $resf = pg_execute("", $v); … … 275 278 echo "\n\t<td>".$flur."</td>"; 276 279 echo "\n\t<td><span class='wichtig'>".$fskenn."</span>"; 277 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück" );}280 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück", "ax_flurstueck");} 278 281 echo "</td>"; 279 282 echo "\n\t<td class='fla'>".$flae."</td>"; … … 361 364 echo "\n<p>mit dieser Lagebezeichnung.</p>"; 362 365 switch ($ltyp) { 363 case "p": $bezart="hat"; break; 364 case "m": $bezart="zeigtAuf"; break; 365 } 366 $sql ="SELECT g.gml_id, g.gebaeudefunktion, g.name, g.bauweise, g.grundflaeche, g.zustand, "; 367 $sql.="round(area(g.wkb_geometry)::numeric,2) AS flaeche, h.bauweise_beschreibung, u.bezeichner "; 368 $sql.="FROM ax_gebaeude g "; 369 $sql.="JOIN alkis_beziehungen v ON g.gml_id=v.beziehung_von "; 370 $sql.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id "; 371 $sql.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert "; 372 // +++ JOIN Zustand 373 $sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart= $2 ;"; 374 $v = array($gmlid,$bezart); 366 case "p": $bezart="g.hat"; break; 367 case "m": $bezart="ANY(g.zeigtauf)"; break; // array 368 } 369 $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 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); 375 376 $res = pg_prepare("", $sql); 376 377 $res = pg_execute("", $v); 377 378 if (!$res) { 378 echo "<p class='err'>Fehler bei Geb aeude.</p>\n";379 echo "<p class='err'>Fehler bei Gebäude.</p>\n"; 379 380 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 380 381 } … … 396 397 397 398 echo "<td>"; 398 if ($idanzeige) {linkgml($gkz, $ggml, "Gebäude" );}399 if ($idanzeige) {linkgml($gkz, $ggml, "Gebäude", "ax_gebaeude");} 399 400 // +++ Hausnummer / Adresse ??? 400 401 echo $row["name"]."</td>"; -
trunk/info/info/alkis/alkisnamstruk.php
r315 r330 9 9 2013-11-22 Namensbestandteil ("von") in Kompakt-Adresse vor den Namen setzen 10 10 2014-02-06 Redundante Adressen kommen vor. Nur eine davon anzeigen. 11 2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 12 2014-09-10 Bei Relationen den Timestamp abschneiden 11 13 12 14 ToDo: Sortierung der GrundbÃŒcher zum Namen … … 60 62 61 63 if (!$res) {echo "\n<p class='err'>Fehler bei Zugriff auf Namensnummer</p>\n";} 62 if ($idanzeige) { linkgml($gkz, $gmlid, "Person" ); }64 if ($idanzeige) { linkgml($gkz, $gmlid, "Person", "ax_person"); } 63 65 if ($row = pg_fetch_array($res)) { 64 66 $vor=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8"); … … 84 86 // A d r e s s e 85 87 echo "\n<h3><img src='ico/Strasse_mit_Haus.ico' width='16' height='16' alt=''> Adresse</h3>\n"; 86 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";87 $sqla.="FROM ax_anschrift a JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";88 $sqla.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat' ";89 88 // Es können redundante Adressen vorhanden sein, z.B. aus Migration, temporÀr aus LBESAS. Die letzte davon anzeigen. 90 $sqla.="ORDER BY a.gml_id DESC ;"; 89 90 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland 91 FROM ax_anschrift a JOIN ax_person p ON substring(a.gml_id,1,16)=ANY(p.hat) WHERE p.gml_id= $1 ORDER BY a.gml_id DESC ;"; 91 92 92 93 $v = array($gmlid); … … 111 112 $hsnr=$rowa["hausnummer"]; 112 113 $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 113 if ($idanzeige) { linkgml($gkz, $gmla, "Adresse" ); }114 if ($idanzeige) { linkgml($gkz, $gmla, "Adresse", "ax_adresse"); } 114 115 115 116 echo "<table>\n"; … … 150 151 // >bestehtAusRechtsverhaeltnissenZu> namensnummer (Nebenzweig/SonderfÀlle?) 151 152 152 $sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, g.gml_id AS gml_g, "; 153 $sqlg.="g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, b.bezeichnung AS beznam "; 154 $sqlg.="FROM alkis_beziehungen bpn JOIN ax_namensnummer n ON bpn.beziehung_von=n.gml_id "; 155 $sqlg.="JOIN alkis_beziehungen bng ON n.gml_id=bng.beziehung_von "; 156 $sqlg.="JOIN ax_buchungsblatt g ON bng.beziehung_zu=g.gml_id "; 157 $sqlg.="LEFT JOIN ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk "; 158 $sqlg.="WHERE bpn.beziehung_zu= $1 AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' "; 159 $sqlg.="ORDER BY g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung;"; 153 $sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, b.bezeichnung AS beznam 154 FROM ax_person p JOIN ax_namensnummer n ON substring(p.gml_id,1,16)=n.benennt JOIN ax_buchungsblatt g ON substring(g.gml_id,1,16)=n.istbestandteilvon 155 LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk 156 WHERE p.gml_id= $1 ORDER BY g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung;"; 160 157 // buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander 161 158 … … 208 205 echo "<span class='wichtig'>".$rowg["nr"]."</span>"; 209 206 if ($idanzeige) { 210 linkgml($gkz, $gmlg, "Grundbuchblatt" );207 linkgml($gkz, $gmlg, "Grundbuchblatt", ""); 211 208 } 212 209 echo "</td>"; … … 219 216 } 220 217 if ($idanzeige) { 221 linkgml($gkz, $gmln, "Namensnummer" );218 linkgml($gkz, $gmln, "Namensnummer", "ax_namensnummer"); 222 219 } 223 220 echo "</td>"; -
trunk/info/info/alkis/alkisrelationen.php
r306 r330 11 11 2011-11-30 import_request_variables 12 12 2013-04-08 deprecated "import_request_variables" ersetzt 13 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 14 15 V o r l À u f i g u n b e n u t z b a r 16 17 Dies Modul nutzte die gml_ids in der zentralen Tabelle 'alkis_beziehungen' um dort ALLE Relationen zu finden. 18 Mit Umstellung auf Relationen-Spalten in den Objekt-Tabellen ist das nicht mehr möglich. 19 20 Neuentwicklung wahrscheimlich nicht sinnvoll. 21 13 22 */ 14 23 session_start(); … … 40 49 } else { 41 50 echo "\n\n<h3 title='Die gml_is ist global eindeutig'>ALKIS-".$otyp." mit gml_id = '".$gmlid."'</h3>"; 42 $sql="SELECT beziehungsart, beziehung_zu FROM alkis_beziehungen WHERE beziehung_von= $1;"; 43 $v = array($gmlid); 44 $res = pg_prepare("", $sql); 45 $res = pg_execute("", $v); 51 52 // Zerlegen 53 echo "<h4>Zerlegung des Kennzeichens</h4>"; 54 echo "<p>Land = '".substr($gmlid, 0, 2)."'</p>"; 55 echo "<p>Bundesland = '".substr($gmlid, 2, 2)."'</p>"; 56 echo "<p>Kreis = '".substr($gmlid, 4, 2)."'</p>"; 57 echo "<p>Konstante = '".substr($gmlid, 6, 6)."'</p>"; 58 echo "<p>Objekt-Nr = '".substr($gmlid, 12, 4)."'</p>"; 59 echo "<p>Zeitstempel = '".substr($gmlid, 16)."'</p>"; 60 61 // $sql="SELECT beziehungsart, beziehung_zu FROM alkis_beziehungen WHERE beziehung_von= $1;"; 62 // $v = array($gmlid); 63 // $res = pg_prepare("", $sql); 64 // $res = pg_execute("", $v); 46 65 47 66 echo "\n<table>"; … … 64 83 } 65 84 } 85 86 /* 66 87 $sql="SELECT beziehungsart, beziehung_von FROM alkis_beziehungen WHERE beziehung_zu= $1;"; 67 88 $v = array($gmlid); … … 88 109 } 89 110 } 111 */ 90 112 echo "\n</table>"; 91 113 } -
trunk/info/info/alkis/alkisstrasse.php
r315 r330 9 9 2014-01-23 Neu 10 10 2014-01-24 CSV-Export 11 2014-01-30 pg_free_result 11 2014-01-30 pg_free_result 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 12 14 */ 13 15 session_start(); … … 31 33 <title>ALKIS Straße</title> 32 34 <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 33 <link rel="shortcut icon" type="image/x-icon" href="ico/ Lage_an_Strasse.ico">35 <link rel="shortcut icon" type="image/x-icon" href="ico/Strassen.ico"> 34 36 <script type="text/javascript"> 35 37 function ALKISexport() { … … 46 48 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 47 49 48 $sql ="SELECT s.land, s.regierungsbezirk, s.kreis, s.gemeinde, s.lage, s.bezeichnung AS snam, ";49 $sql.="b.bezeichnung AS bnam, r.bezeichnung AS rnam, k.bezeichnung AS knam, g.bezeichnung AS gnam, o.gml_id AS ogml "; 50 $sql.="FROM ax_lagebezeichnungkatalogeintrag s JOIN ax_bundesland b ON s.land=b.land "; 51 $sql.="JOIN ax_regierungsbezirk r ON s.land=r.land AND s.regierungsbezirk=r.regierungsbezirk "; 52 $sql.="JOIN ax_kreisregion k ON s.land=k.land AND s.regierungsbezirk=k.regierungsbezirk AND s.kreis=k.kreis "; 53 $sql.="JOIN ax_gemeinde g ON s.land=g.land AND s.regierungsbezirk=g.regierungsbezirk AND s.kreis=g.kreis AND s.gemeinde=g.gemeinde "; 54 $sql.="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 "; 55 $sql.="WHERE s.gml_id= $1 ;";50 $sql ="SELECT s.land, s.regierungsbezirk, s.kreis, s.gemeinde, s.lage, s.bezeichnung AS snam, 51 b.bezeichnung AS bnam, r.bezeichnung AS rnam, k.bezeichnung AS knam, g.bezeichnung AS gnam, o.gml_id AS ogml 52 FROM ax_lagebezeichnungkatalogeintrag s JOIN ax_bundesland b ON s.land=b.land 53 JOIN ax_regierungsbezirk r ON s.land=r.land AND s.regierungsbezirk=r.regierungsbezirk 54 JOIN ax_kreisregion k ON s.land=k.land AND s.regierungsbezirk=k.regierungsbezirk AND s.kreis=k.kreis 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 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 ;"; 56 58 57 59 $v=array($gmlid); … … 131 133 echo "\n\n<a name='fs'></a><h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurstücke</h3>\n"; 132 134 echo "\n<p>Zusammenfassung von 'Lage mit Hausnummer' und 'Lage ohne Hausnummer' an dieser StraÃe</p>"; 135 133 136 // ax_Flurstueck >weistAuf> ax_LagebezeichnungMitHausnummer > = Hauptgebaeude 134 137 // ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer > = Strasse 135 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, duett.lgml, duett.hausnummer FROM ax_flurstueck f "; 136 $sql.="JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 137 $sql.="JOIN (SELECT v1.beziehung_von AS fsgml, lm.gml_id AS lgml, lm.land, lm.regierungsbezirk, lm.kreis, lm.gemeinde, lm.lage, lm.hausnummer "; 138 $sql.="FROM alkis_beziehungen v1 JOIN ax_lagebezeichnungmithausnummer lm ON lm.gml_id=v1.beziehung_zu AND v1.beziehungsart= 'weistAuf' "; 139 $sql.="UNION SELECT v2.beziehung_von AS fsgml, '' AS lgml, lo.land, lo.regierungsbezirk, lo.kreis, lo.gemeinde, lo.lage, '' AS hausnummer "; 140 $sql.="FROM alkis_beziehungen v2 JOIN ax_lagebezeichnungohnehausnummer lo ON lo.gml_id=v2.beziehung_zu AND v2.beziehungsart= 'zeigtAuf' "; 141 $sql.=") AS duett ON f.gml_id=duett.fsgml "; 142 $sql.="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 "; 143 $sql.="WHERE s.gml_id = $1 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 138 // Suchkriterium: gml_id aus Katalog 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 FROM ax_flurstueck f1 JOIN ax_lagebezeichnungmithausnummer lm ON substring(lm.gml_id,1,16)=ANY(f1.weistAuf) 141 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 144 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, duett.lgml, duett.hausnummer 145 FROM ax_flurstueck f JOIN ( ".$subquery." ) AS duett ON substring(f.gml_id,1,16)=duett.fsgml 146 JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 147 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;"; 149 144 150 $v=array($gmlid); 145 151 $resf=pg_prepare("", $sql); … … 173 179 echo "\n\t<td>".$flur."</td>"; 174 180 echo "\n\t<td><span class='wichtig'>".$fskenn."</span>"; 175 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück" );}181 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück", "ax_flurstueck");} 176 182 echo "</td>"; 177 183 echo "\n\t<td class='fla'>".$flae."</td>";
Note: See TracChangeset
for help on using the changeset viewer.