Changeset 389 for trunk/info/info/alkisn/alkisfsnw.php
- Timestamp:
- 10/11/17 13:10:47 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkisn/alkisfsnw.php
r387 r389 12 12 2017-06-08 optional "berechtigte Buchungen" anzeigen, Function "eigentuemer" ohne Parameter $con, 13 13 Validierung Eingabeparameter, Feinkorrekturen 14 2017-10-11 Sauber filtern auf 'endet IS NULL', Ausgabe der BodenschÀtzung 14 15 15 16 ToDo: 16 - BodenschÀtzung anzeigen (siehe Mail Frau Weyand ITEBO vom 15.05.17)17 - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen) 17 - Parameter zum Umschalten mit/ohne BodenschÀtzung? 18 - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen) 18 19 */ 19 20 session_start(); … … 123 124 $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 124 125 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 125 WHERE f.gml_id= $1 AND f.endet IS NULL ;";126 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; 126 127 127 128 $v = array($gmlid); // mit gml_id suchen … … 146 147 $fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld 147 148 $fsgeomflae=$row["fsgeomflae"]; // aus Geometrie ermittelte FlÀche 149 $the_Xfactor = $fsbuchflae / $fsgeomflae; // Multiplikator zur Umrechnung geometrische AbschnittsflÀchen in BuchflÀche 148 150 $fsbuchflaed=number_format($fsbuchflae,0,",",".") . " m²"; // Display-Format dazu 149 151 $fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m²"; … … 518 520 WHERE n.flsnr = $1 ORDER BY cast(n.fl AS integer) DESC;"; 519 521 // Flurstueckskennzeichen mit Trennzeichen im ALB-Format wie 'llgggg-fff-zzzzz/nnn' 520 // Alternativ könnte auch der VIEW "ax_tatsaechlichenutzungsschluessel" fÃŒr den Text zur Nutzungsart verwendet werden.521 522 522 $fskennzalb=$defland.$gmkgnr."-".str_pad($flurnummer,3,"0",STR_PAD_LEFT)."-".str_pad($zaehler,5,"0",STR_PAD_LEFT)."/".str_pad($nenner,3,"0",STR_PAD_LEFT); 523 // echo "\n<p class='err'>Kennz ALB='".$fskennzalb."'</p>";524 525 523 $v = array($fskennzalb); 526 524 $res = pg_prepare("", $sql); … … 553 551 ."</td>" 554 552 ."\n\t<td>"; 555 /* // 553 /* // Derzeit ist keine Gruppe zugeordnet 556 554 switch ($grupp) { // Icon nach 4 Objektartengruppen 557 555 case "Siedlung": $ico = "Abschnitt.png"; break; … … 569 567 } 570 568 pg_free_result($res); 571 // ENDE N U T Z U N G572 569 573 570 echo "\n<tr>" // Summenzeile … … 590 587 ."\n\t</td>" 591 588 ."\n</tr>"; 589 // ENDE N U T Z U N G 590 591 592 // K L A S S I F I Z I E R U N G 593 594 // Klassifizierung nach W a s s e rrecht 595 /* 596 // Tabelle immer leer? 597 $sql="SELECT h.v, w.artderfestlegung, st_area(st_intersection(w.wkb_geometry, f.wkb_geometry)) AS schnittflae, f.amtlicheflaeche, st_area(f.wkb_geometry) as fsgeomflae 598 FROM ax_flurstueck f 599 JOIN ax_klassifizierungnachwasserrecht w 600 ON st_intersects(w.wkb_geometry, f.wkb_geometry) AND st_area(st_intersection(w.wkb_geometry, f.wkb_geometry)) > 0.05 601 LEFT JOIN alkis_wertearten h 602 ON cast(w.artderfestlegung AS character varying) = h.k AND h.element='ax_klassifizierungnachwasserrecht' AND h.bezeichnung='artderfestlegung' 603 WHERE f.gml_id = $1 AND f.endet IS NULL AND w.endet IS NULL ORDER BY schnittflae DESC"; 604 605 $v = array($gmlid); 606 $res = pg_prepare("", $sql); 607 $res = pg_execute("", $v); 608 if (!$res) {echo "\n<p class='err'>Fehler bei DB-Abfrage zur Klassifizierung Wasser</p>\n";} 609 610 if(!empty($res) && pg_num_rows($res) > 0) { 611 echo "\n<table>"; 612 while($row = pg_fetch_array($res)) { 613 $fsbuchflae=$row["amtlicheflaeche"]; 614 $fsgeomflae=$row["fsgeomflae"]; 615 $the_Xfactor=$fsbuchflae / $fsgeomflae; // ++ nicht in Loop, ist konst. je FS 616 $absflaebuch = $row['schnittflae'] * $the_Xfactor; 617 echo"\n<tr><td></td><td></td></tr>" 618 ."\n<tr><td><b>FlÀche</b></td><td class='klassifizerung'><span class=''>".number_format(intval($absflaebuch),0,",",".")." m²</span></td></tr>" 619 ."\n<tr><td><b>Bezeichnung</b></td><td class='klassifizerung'><span class=''>".$row['v']."</span></td></tr>" 620 ."\n<tr><td></td><td></td></tr>"; 621 } 622 echo "</table>"; 623 } 624 // Klassifizierung nach S t r a à e n recht 625 // Tabelle immer leer? 626 */ 627 628 // B o d e n s c h À t z u n g 629 // --------------------------- 630 // Tabelle "klas_3x" (norbit-ALB): Dort fehlen Bodenart und Zustandsstufe, es ist aber bereits auf BuchflÀche umgerechnet. 631 632 $sql="SELECT 633 kulturart.k as kulturartk, kulturart.v as kulturartv, bodenart.k as bodenartk, bodenart.v as bodenartv, zustbod.v AS zustbodv, 634 b.bodenzahlodergruenlandgrundzahl as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl, 635 b.jahreszahl, st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) AS schnittflae 636 FROM ax_flurstueck f 637 JOIN ax_bodenschaetzung b ON st_intersects(b.wkb_geometry, f.wkb_geometry) AND st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) > 0.05 638 LEFT JOIN alkis_wertearten AS bodenart ON cast(b.bodenart AS character varying) = bodenart.k AND bodenart.element='ax_bodenschaetzung' AND bodenart.bezeichnung='bodenart' 639 LEFT JOIN alkis_wertearten AS kulturart ON cast(b.kulturart AS character varying) = kulturart.k AND kulturart.element='ax_bodenschaetzung' AND kulturart.bezeichnung='kulturart' 640 LEFT JOIN alkis_wertearten AS zustbod ON cast(b.zustandsstufeoderbodenstufe AS character varying) = zustbod.k AND zustbod.element='ax_bodenschaetzung' AND zustbod.bezeichnung='zustandsstufeoderbodenstufe' 641 WHERE f.gml_id = $1 AND f.endet IS NULL AND b.endet IS NULL ORDER BY schnittflae DESC"; 642 643 $v = array($gmlid); 644 $res = pg_prepare("", $sql); 645 $res = pg_execute("", $v); 646 if (!$res) {echo "\n<p class='err'>Fehler bei DB-Abfrage zur Klassifizierung Boden</p>\n";} 647 648 $gesertragsmz = 0; // Gesamt-ErtragsMesszahl 649 $klasflae = 0; // Summe klassifizierte FlÀche 650 $j=0; 651 if(!empty($res) && pg_num_rows($res) > 0) { 652 while ($row = pg_fetch_array($res)) { 653 $kulturartk=$row['kulturartk']; // Key - 654 $kulturartv=$row['kulturartv']; // - Value 655 // 1000="Ackerland (A)", 2000="Acker-GrÃŒnland (AGr)", 3000="GrÃŒnland (Gr)", 4000="GrÃŒnland-Acker (GrA)" 656 if (substr($kulturartv, 0, 3) == 'Ack') { // A 657 $kbez1="Bodenzahl"; 658 $kbez2="Ackerzahl"; 659 } else { // Gr 660 $kbez1="Grünlandgrundzahl"; 661 $kbez2="Grünlandzahl"; 662 } 663 $absflae = $row['schnittflae']; 664 $absbuchflae = $absflae * $the_Xfactor; 665 $klasflae+=$absbuchflae; 666 $ertragszahl = intval($absbuchflae * $row['ackerzahl'] / 100); 667 $gesertragsmz+=$ertragszahl; 668 // $absflaedis = number_format($absflae,0,",",".")." m²"; // als Tool-Tip ? 669 $absbuchflaedis = number_format($absbuchflae,0,",",".")." m²"; 670 $boedenzahl=ltrim($row['bodenzahl'], '0'); 671 $ackerzahl=ltrim($row['ackerzahl'], '0'); 672 673 // Sp. 1/4 674 if ($j == 0) { 675 echo "\n<tr>\n\t<td class='ll' title='Abschnitt Bodenschätzung'><img src='ico/Landwirt.png' width='16' height='16' alt=''> Bodenschätzung:</td>"; 676 } else { 677 echo "\n<tr>\n\t<td> </td>"; 678 } 679 680 // Sp. 2/4 681 echo "\n\t<td class='fla' title='Ertragsmesszahl = Produkt von ".$kbez2."/100 und Fläche.'>EMZ ".$ertragszahl."</td>"; 682 683 // Sp. 3/4 - darin mehrere Infos 684 echo "\n\t<td class='ls'>"; 685 686 echo "\n\t\t<span class='absfla' title='Fläche des Schätzungsabschnitts'>".$absbuchflaedis."</span> "; 687 688 echo "\n\t\t<span class='absbew'>" 689 ."<span title='".$kbez1."'>".$boedenzahl."</span>/<span title='".$kbez2."'>".$ackerzahl."</span>" 690 ."</span> "; 691 692 echo "\n\t\t<span class='absart'>"; 693 if ($showkey) {echo "\n\t\t\t<span class='key'>(".$kulturartk.")</span> ";} 694 echo "\n\t\t\t<span title='Kulturart'>".$kulturartv."</span> "; 695 if ($showkey) {echo "\n\t\t\t<span class='key'>(".$row['bodenartk'].")</span> ";} 696 echo "\n\t\t\t<span title='Bodenart'>".$row['bodenartv']."</span> "; 697 echo "\n\t\t\t<span title='Zustandsstufe'>".$row['zustbodv']."</span>"; 698 if (isset($row['jahreszahl'])) {echo "\n\t\t <span title='Jahreszahl'>".$row['jahreszahl']."</span>";} 699 // ++ Entstehungsart (Array) derzeit leer. 1:N entschlÃŒsseln. entstehungsartoderklimastufewasserverhaeltnisse 700 // $ent = explode(",", trim($entsteh, "{}") ); // [] --> PHP-Array 701 // if (isset($row['sonstiges'])) {echo "\n\t\t, <span title='Sonstige Angaben'>".$row['sonstiges']."</span>";} -- immer leer (Konverter-Fehler?) 702 echo "\n\t\t</span>"; 703 704 // Sp. 4/4 - leer, keine Links 705 echo "\n\t</td>\n\t<td> </td>\n</tr>"; 706 $j++; 707 } 708 // Summenzeile 709 $klasflaedis = number_format($klasflae,0,",",".")." m²"; 710 echo "\n<tr>\n\t<td class='ll'>Ertragsmesszahl:</td>" 711 ."\n\t<td class='fla sum'>EMZ <span title='Summe der Ertragsmesszahlen für dies Flurstück'>".$gesertragsmz."</span></td>" 712 ."\n\t<td><span class='absfla'>".$klasflaedis."</span></td>\n\t<td> </td>\n</tr>"; 713 } 592 714 593 715 // H i n w e i s auf Bodenneuordnung oder eine strittige Grenze 594 716 // b.name, b.artderfestlegung, 595 596 717 $sql_boden ="SELECT a.k AS wert, a.v AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, 597 718 b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key … … 823 944 // Person <-benennt< AX_Namensnummer >istBestandteilVon-> AX_Buchungsblatt 824 945 if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer 825 $n = eigentuemer($gmlg, false, ""); // ohne Adresse946 $n = eigentuemer($gmlg, false, ""); // hier ohne Adresse 826 947 if ($n == 0) { 827 948 if ($blattkeyg == 1000) {
Note: See TracChangeset
for help on using the changeset viewer.