Changeset 425 for trunk/info/info/alkisn/alkisbauwerk.php
- Timestamp:
- 12/30/21 17:49:00 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkisn/alkisbauwerk.php
r422 r425 5 5 1 Bauwerk im Verkehrsbereich 6 6 2 Bauwerk im GewÀsserbereich 7 3 Sonstiges Bauwerk oder sonstige Einrichtung 8 4 Bauwerk oder Anlage fÃŒr Industrie und Gewerbe 9 5 Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung 10 6 Leitung 11 7 Transportanlage 12 8 Turm 13 9 VorratsbehÀlter, Speicherbauwerk 7 3 Sonstiges Bauwerk oder sonstige Einrichtung 51009 8 4 Bauwerk oder Anlage fÃŒr Industrie und Gewerbe 51002 9 5 Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung 51006 10 6 Leitung 51005 11 7 Transportanlage 51004 12 8 Turm 51001 13 9 VorratsbehÀlter, Speicherbauwerk 51003 14 14 15 15 Version: 16 16 2021-03-11 Neues Modul 17 17 2021-03-17 Korrekturen 18 18 2021-12-09 2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche). Debugging verbessert. 19 20 ToDo: 21 - Icon fÃŒr "Bauwerk" machen! ggf. einzeln fÃŒr jede der 9 Arten? 22 - 4 weitere Objektarten, bisher nicht verwendet: 23 51007 'Historisches Bauwerk oder historische Einrichtung' 24 51008 'Heilquelle, Gasquelle' 25 51010 'Einrichtung in öffentlichen Bereichen' 26 51011 'Besonderer Bauwerkspunkt' 19 27 */ 20 28 … … 22 30 // Ein Bauwerk "gehört zu" (Relation) einem GebÀude. Zu diesem GebÀude die Adresse(n) als Tabellen-Zeile ausgeben 23 31 function bw_gz_lage($gmlgz) { 24 global $gkz, $d ebug, $showkey;32 global $gkz, $dbg, $showkey; 25 33 26 34 // HAUPTgebÀude Geb >zeigtAuf> lage (mehrere) 27 $sqlgz ="SELECT 'm' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer"35 $sqlgz ="SELECT 'm' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer, p.bezeichnung as gemeinde " 28 36 ."FROM ax_gebaeude g JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf) " 29 ."JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 37 ."JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 38 ."JOIN ax_gemeinde p ON s.land=p.land AND s.regierungsbezirk=p.regierungsbezirk AND s.kreis=p.kreis AND s.gemeinde=p.gemeinde ".UnqKatAmt("s","p") 30 39 ."WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; 31 40 32 41 // ++ evtl. keine NEBEN-GebÀude möglich, nur Haupt-? 33 42 // UNION - oder NEBENgebÀude Geb >hat> Pseudo 34 $sqlgz.="UNION SELECT 'p' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer "43 $sqlgz.="UNION SELECT 'p' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer, p.bezeichnung as gemeinde " 35 44 ."FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat " 36 45 ."JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 37 ." WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; // ID des Hauses"38 39 $sqlgz.="ORDER BY bezeichnung, hausnummer, laufendenummer;";46 ."JOIN ax_gemeinde p ON s.land=p.land AND s.regierungsbezirk=p.regierungsbezirk AND s.kreis=p.kreis AND s.gemeinde=p.gemeinde ".UnqKatAmt("s","p") 47 ."WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL " // ID des Hauses" 48 ."ORDER BY bezeichnung, hausnummer, laufendenummer;"; 40 49 $v = array($gmlgz); 41 50 $resgz = pg_prepare("", $sqlgz); … … 43 52 if (!$resgz) { 44 53 echo "\n<p class='err'>Fehler bei Lage mit HsNr. zum Bauwerk</p>"; 45 if ($d ebug > 2) {echo "\n<p class='dbg'>SQL=<br>".str_replace("$1", "'".$gmlgz."'", $sqlgz)."</p>";}46 if ($d ebug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($resgz)."</p>";}54 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".str_replace("$1", "'".$gmlgz."'", $sqlgz)."</p>";} 55 if ($dbg > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($resgz)."</p>";} 47 56 } else { 48 57 echo "\n<tr>"; … … 56 65 $hlfd=$rowgz["laufendenummer"]; 57 66 $gmllag=$rowgz["lgml"]; 67 $gemeinde=$rowgz["gemeinde"]; 58 68 59 69 if ($ltyp === "p") { 60 70 $lagetitl="NebengebÀude Nr. ".$hlfd; 61 // $lagetxt="Nebengebäude Nr. ".$hlfd; // alt 62 $lagetxt=$snam." ".$hsnr." (".$hlfd.")"; 71 $lagetxt=$snam." ".$hsnr." (".$hlfd."), ".$gemeinde; 63 72 } else { 64 73 $lagetitl="HauptgebÀude - Hausnummer ".$hsnr; 65 $lagetxt=$snam." ".$hsnr;74 $lagetxt=$snam." ".$hsnr.", ".$gemeinde; 66 75 } 67 76 … … 82 91 // Eine Zeile der HTML-Tabelle ausgeben 83 92 function tab_zeile($titel, $key, $inhalt, $ea, $ei) { 84 global $showkey, $allefelder, $d ebug;93 global $showkey, $allefelder, $dbg; 85 94 if ($inhalt != "" OR $allefelder) { 86 95 echo "\n<tr>\n\t<td class='li'>".$titel."</td>\n\t<td class='fett'>"; … … 96 105 // Anwendung fÃŒr die DB-Spalten, die nicht bei jeder Bauwerks-Tabelle vorkommen 97 106 function zusatz_spalte($col, $inhalt) { // Spalten-Name, Value 98 global $d ebug;107 global $dbg; 99 108 $einh=''; 100 109 switch ($col) { … … 126 135 // Fehler 127 136 default: // noch nicht berÃŒcksichtigt 128 if ($d ebug > 1) {echo "<p class='dbg'>Der Feldname ".$col." ist in function zusatz_spalte noch nicht berücksichtigt.</p>";}137 if ($dbg > 1) {echo "<p class='dbg'>Der Feldname ".$col." ist in function zusatz_spalte noch nicht berücksichtigt.</p>";} 129 138 $titel=$col; 130 139 } … … 144 153 // inhalt = gml_id oder Array mit gml_id's 145 154 function objektverweis($col, $inhalt) { 146 global $gkz, $showkey, $d ebug;147 // if ($d ebug > 1) {echo "<p>Verweis Typ '".$col."' auf Objekt(e): '".$inhalt."'.</p>";}155 global $gkz, $showkey, $dbg; 156 // if ($dbg > 1) {echo "<p>Verweis Typ '".$col."' auf Objekt(e): '".$inhalt."'.</p>";} 148 157 switch ($col) { 149 158 case 'hatdirektunten': // [] ++ Wie kann man dies Objekt finden? … … 168 177 // 'istabgeleitetaus'; 'traegtbeizu': 'istteilvon': // -> Keine FÀlle vorhanden 169 178 default: 170 if ($debug > 1) {echo "<p class='dbg'>Der Feldname ".$col." ist in function 'objektverweis' noch nicht berücksichtigt.</p>";} 171 } 172 } 173 // alle leer: 174 // SELECT * FROM bauwerke_zusammenfassung WHERE NOT istabgeleitetaus IS NULL; 175 // SELECT * FROM bauwerke_zusammenfassung WHERE NOT traegtbeizu IS NULL; 176 // SELECT * FROM bauwerke_zusammenfassung WHERE NOT istteilvon IS NULL; 177 // SELECT gml_id, hatdirektunten, st_asewkt( wkb_geometry ) as wkt FROM ax_bauwerkimgewaesserbereich WHERE NOT hatdirektunten IS NULL; 178 // 1 Fall in 290: 2 / DENW15AL360000N7 , 179 // SELECT gml_id, hatdirektunten, st_asewkt( wkb_geometry ) as wkt FROM ax_bauwerkimgewaesserbereich WHERE gml_id = 'DENW15AL360000N7'; 180 // 34 FÀlle in 200: 181 // 16 FÀlle in 300: 179 if ($dbg > 1) {echo "<p class='dbg'>Der Feldname ".$col." ist in function 'objektverweis' noch nicht berücksichtigt.</p>";} 180 } 181 } 182 182 183 183 // S T A R T … … 185 185 ini_set("session.cookie_httponly", 1); 186 186 session_start(); 187 $allfld = "n"; $showkey="n"; $nodebug=""; // Var. aus Parameterinitalisieren187 $allfld = "n"; $showkey="n"; $nodebug=""; // Var. initalisieren 188 188 $cntget = extract($_GET); // Parameter in Variable umwandeln 189 189 … … 224 224 225 225 $erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 226 227 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 228 // Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 229 if ($nodebug === "j") {$debug=0;} 226 $dbg=$debug; // CONF in Arbeits-Variable 227 if ($nodebug === "j") {$dbg=0;} // Entwicklungsumgebung temporÀr ausschalten 230 228 231 229 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbauwerk.php'"); … … 237 235 238 236 /* in ALLEN Bauwerks-Typen folgende Spalten, bisher NICHT verwendet: 239 processstep_ax_li_processstep_mitdatenerhebung_description[] processstep_rationale[]240 processstep_datetime[] processstep_individualname[] processstep_organisationname[] processstep_positionname[]241 processstep_phone[] processstep_address[] processstep_onlineresource[] processstep_hoursofservice[]242 processstep_contactinstructions[] processstep_role[] processstep_ax_datenerhebung[]243 processstep_scaledenominator[] processstep_sourcereferencesystem[] processstep_sourceextent[] processstep_sourcestep[]244 245 237 herkunft_source_source_ax_datenerhebung[] herkunft_source_source_scaledenominator[] herkunft_source_source_sourcereferencesystem[] 246 238 herkunft_source_source_sourceextent[] herkunft_source_source_sourcestep[] */ … … 414 406 if (!$resb) { 415 407 echo "\n<p class='err'>Fehler bei Bauwerksdaten Standardfelder.</p>"; 416 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1","'".$gmlid."'",$sqlb)."'</p>";} 417 if ($debug > 1) {echo "\n<p class='dbg'>Fehler:".pg_result_error($resb)."</p>";} 408 if ($dbg > 0) { 409 echo "\n<p class='dbg'>Fehler:".pg_result_error($resb)."</p>"; 410 if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1","'".$gmlid."'",$sqlb)."'</p>";} 411 } 418 412 } else { 413 if ($dbg > 0) { 414 $zeianz=pg_num_rows($resb); 415 if ($zeianz > 1){ 416 echo "\n<p class='err'>Die Abfrage liefert mehr als ein (".$zeianz.") Bauwerk! (Standardfelder)</p>"; 417 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sqlb), ENT_QUOTES, "UTF-8")."</p>";} 418 } 419 } 419 420 if (!$rowb = pg_fetch_assoc($resb)) { 420 421 echo "\n<p class='err'>Fehler! Kein Treffer für gml_id=".$gmlid."</p>"; 421 422 die('<p class="stop1">Abbruch</p></body>'); // Das wÃŒrde sich sonst 2x wiederholen 422 } else { 423 // Treffer 423 } else { // Treffer 424 424 // Seitenkopf 425 425 echo "<p class='balken bauwerk".$btyp."'>ALKIS Bauwerk ".$btyp." - ".$gmlid." </p>"; // Balken, Farbe wie WMS … … 484 484 if (!$resk) { 485 485 echo "\n<p class='err'>Fehler bei Schlüsseltabelle ".$btyp."</p>"; 486 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1","'".$gmlid."'",$sqlk)."'</p>";} 487 if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($resk)."</p>";} 486 if ($dbg > 0) { 487 echo "<p class='dbg'>Fehler:".pg_result_error($resk)."</p>"; 488 if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1","'".$gmlid."'",$sqlk)."'</p>";} 489 } 488 490 } else { 491 if ($dbg > 0) { 492 $zeianz=pg_num_rows($resk); 493 if ($zeianz > 1){ 494 echo "\n<p class='err'>Die Abfrage liefert mehr als ein (".$zeianz.") Bauwerk! (Key-Value)</p>"; 495 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sqlk), ENT_QUOTES, "UTF-8")."</p>";} 496 } 497 } 489 498 if (!$rowk = pg_fetch_array($resk)) { 490 499 echo "\n<p class='err'>Fehler! Kein Treffer für gml_id=".$gmlid."</p>"; … … 532 541 if (!$resz) { 533 542 echo "\n<p class='err'>Fehler bei Bauwerk Relation.</p>"; 534 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1","'".$gmlid."'",$sqlz)."'</p>";} 535 if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($resz)."</p>";} 543 if ($dbg > 0) { 544 echo "<p class='dbg'>Fehler:".pg_result_error($resz)."</p>"; 545 if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1","'".$gmlid."'",$sqlz)."'</p>";} 546 } 536 547 } else { 548 if ($dbg > 0) { 549 $zeianz=pg_num_rows($resz); 550 if ($zeianz > 1){ 551 echo "\n<p class='err'>Die Abfrage liefert mehr als ein (".$zeianz.") Bauwerk! (Zusatz-Spalten)</p>"; 552 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sqlz), ENT_QUOTES, "UTF-8")."</p>";} 553 } 554 } 537 555 if (!$rowz = pg_fetch_array($resz)) { 538 556 echo "\n<p class='err'>Fehler! Kein Treffer für gml_id=".$gmlid."</p>"; … … 540 558 // Die Spalten im Row abarbeiten 541 559 $anzcol=pg_num_fields($resz); 542 // if ($debug > 1) {echo "<p class='dbg'>".$anzcol." Zusatz-Spalten vorhanden"."</p>";}543 560 for ($i = 0; $i < $anzcol; $i++) { 544 561 $k=pg_field_name($resz, $i); … … 560 577 if (!$resr) { 561 578 echo "\n<p class='err'>Fehler bei Bauwerksdaten Zusatzfelder.</p>"; 562 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1","'".$gmlid."'",$sqlr)."'</p>";} 563 if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($resr)."</p>";} 579 if ($dbg > 0) { 580 echo "<p class='dbg'>Fehler:".pg_result_error($resr)."</p>"; 581 if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".str_replace("$1","'".$gmlid."'",$sqlr)."'</p>";} 582 } 564 583 } else { 584 if ($dbg > 0) { 585 $zeianz=pg_num_rows($resr); 586 if ($zeianz > 1){ 587 echo "\n<p class='err'>Die Abfrage liefert mehr als ein (".$zeianz.") Bauwerk! (Relationen)</p>"; 588 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sqlr), ENT_QUOTES, "UTF-8")."</p>";} 589 } 590 } 565 591 if (!$rowr = pg_fetch_array($resr)) { 566 592 echo "\n<p class='err'>Fehler! Kein Treffer für gml_id=".$gmlid."</p>"; 567 593 } else { // Die Spalten im Row abarbeiten 568 594 $anzcol=pg_num_fields($resr); 569 // if ($debug > 1) {echo "<p class='dbg'>".$anzcol." Relationen-Spalten vorhanden"."</p>";}570 595 for ($i = 0; $i < $anzcol; $i++) { 571 596 $k=pg_field_name($resr, $i); … … 581 606 582 607 echo "\n</table>\n"; 583 // +++ Test, ob ein zweiter Satz zum Bauwerk gefunden wird? Das sollte nicht sein. 608 echo "<div class='buttonbereich noprint'>\n<hr>\n\t<a title='zurück' href='javascript:history.back()'><img src='ico/zurueck.png' width='16' height='16' alt='zurück'></a> "; 609 if ($PrntBtn==true){echo "\n\t<a title='Drucken' href='javascript:window.print()'><img src='ico/print.png' width='16' height='16' alt='Drucken'></a> ";} 610 echo "\n</div>"; 611 612 footer($gmlid, selbstverlinkung()."?", "&btyp=".$btyp); 584 613 ?> 585 586 <div class='buttonbereich noprint'>587 <hr>588 <a title="zurück" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zurück"></a> 589 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>590 </div>591 592 <?php footer($gmlid, selbstverlinkung()."?", "&btyp=".$btyp); ?>593 594 614 </body> 595 615 </html>
Note: See TracChangeset
for help on using the changeset viewer.