Ignore:
Timestamp:
12/05/16 10:57:00 (7 years ago)
Author:
frank.jaeger
Message:

ALKIS-Auskunft: in info/alkis/ den Stand 372 wieder hergestellt (Versionen aus "alkisn" versehendlich dort hoch geladen).
In info/alkisn/ Nachbesserungen an Gebäude-Name und Nutzungsart.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkis/alkisbaurecht.php

    r376 r377  
    44 
    55        Version: 
    6         2016-02-24 Version fuer norGIS-ALKIS-Import 
    7         2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
     6        2013-06-27Neu als Variante von alkis*inlay*baurecht.ph (mit Footer, Balken und Umschaltung Key) 
     7        2014-09-15 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     8        2015-12-09 Austausch .ico durch .png 
     9 
     10        ToDo: id-Anzeige hinzufÃŒgen fÃŒr Baurecht und FlurstÃŒck 
    811*/ 
    912session_start(); 
     
    1215if ($auth == "mapbender") {require_once($mapbender);} 
    1316include("alkisfkt.php"); // f. Footer 
     17if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    1418$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    1519if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    16 echo <<<END 
    17 <!doctype html> 
    18 <html lang="de"> 
     20 
     21?> 
     22<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     23<html> 
    1924<head> 
    20         <meta charset="utf-8"> 
     25        <meta name="author" content="b600352" > 
     26        <meta http-equiv="cache-control" content="no-cache"> 
     27        <meta http-equiv="pragma" content="no-cache"> 
     28        <meta http-equiv="expires" content="0"> 
     29        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    2130        <title>ALKIS Bau-, Raum- oder Bodenordnungsrecht</title> 
    2231        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    2433</head> 
    2534<body> 
    26 END; 
    2735 
    28  
    29 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbaurecht.php'"); 
     36<?php 
     37$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    3038if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    3139 
    32 // Spalte "a.d" ist immer leer 
    33 $sql ="SELECT r.ogc_fid, r.artderfestlegung as adfkey, r.name, r.stelle, r.bezeichnung AS rechtbez,  
    34 a.v AS adfbez, d.bezeichnung AS stellbez, d.stellenart, wd.v, wd.d, round(st_area(r.wkb_geometry)::numeric,0) AS flae  
     40// wie View "baurecht" 
     41$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  
    3542FROM ax_bauraumoderbodenordnungsrecht r  
    36 LEFT JOIN alkis_wertearten a ON cast(r.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung' 
    37 LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle  
    38 LEFT JOIN alkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart' 
    39 WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; 
     43LEFT JOIN v_baurecht_adf a ON r.artderfestlegung=a.wert  
     44LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; 
    4045 
    4146$v = array($gmlid); 
    4247$res = pg_prepare("", $sql); 
    4348$res = pg_execute("", $v); 
     49 
    4450if (!$res) { 
    4551        echo "\n<p class='err'>Fehler bei Baurecht.</p>\n"; 
    46         if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
     52        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
    4753} 
     54 
    4855if ($row = pg_fetch_array($res)) { 
    4956        $artfest=$row["adfkey"];  // Art der Festlegung, Key 
    5057        $verfnr=$row["rechtbez"]; // Verfahrens-Nummer 
    5158        $enam=$row["name"]; 
     59        $stellk=$row["stelle"]; // LEFT JOIN ! 
    5260        $stellb=$row["stellbez"]; 
    5361        $stella=$row["stellenart"]; 
     
    5866        echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>\n"; 
    5967 
    60         echo "\n<table>" 
    61                 ."\n<tr>" 
    62                         ."\n\t<td class='li'>Art der Festlegung:</td>\n\t<td>"; 
    63                         if ($showkey) {echo "<span class='key'>(".$artfest.")</span> ";} 
    64                         echo "<span class='wichtig'>".$row["adfbez"]."</span></td>" 
    65                 ."\n</tr>"; 
     68        echo "\n<table>"; 
     69 
     70                echo "\n<tr>"; 
     71                        echo "\n\t<td class='li'>Art der Festlegung:</td>\n\t<td>"; 
     72                        if ($showkey) { 
     73                                echo "<span class='key'>(".$artfest.")</span> "; 
     74                        } 
     75                        echo "<span class='wichtig'>".$row["adfbez"]."</span></td>"; 
     76                echo "\n</tr>"; 
     77 
    6678                if ($enam != "") { 
    67                         echo "\n<tr>" 
    68                                 ."\n\t<td class='li'>Eigenname des Gebietes:</td>" 
    69                                 ."\n\t<td>".$enam."</td>" 
    70                         . "\n</tr>"; 
     79                        echo "\n<tr>"; 
     80                                echo "\n\t<td class='li'>Eigenname des Gebietes:</td>\n\t<td>".$enam."</td>"; 
     81                        echo "\n</tr>"; 
    7182                } 
     83 
    7284                if ($verfnr != "") { 
    73                         echo "\n<tr>" 
    74                                 ."\n\t<td class='li'>Verfahrensnummer:</td>" 
    75                                 ."\n\t<td>".$verfnr."</td>" 
    76                         ."\n</tr>"; 
     85                        echo "\n<tr>"; 
     86                                echo "\n\t<td class='li'>Verfahrensnummer:</td>"; 
     87                                echo "\n\t<td>".$verfnr."</td>"; 
     88                                // if ($idanzeige) {linkgml($gkz, $gmlid, "Verfahren", ""); } // KEINE Bez.! 
     89                        echo "\n</tr>"; 
    7790                } 
    78                 if ($stellb != "") { // z.B. Umlegung *mit* und Baulast *ohne* Dienststelle, darum bezirk testen 
    79                         echo "\n<tr>" 
    80                                 ."\n\t<td class='li'>Dienststelle:</td>\n\t<td>"; 
    81                                         if ($showkey) {echo "<span class='key'>(".$row["stelle"].")</span> ";} 
    82                                         echo $stellb 
    83                                 ."</td>" 
    84                         ."\n</tr>"; 
     91 
     92                if ($stellb != "") { // z.B. Umlegung mit und Baulast ohne Dienststelle 
     93                        echo "\n<tr>"; 
     94                                echo "\n\t<td class='li'>Dienststelle:</td>\n\t<td>"; 
     95                                        if ($showkey) {echo "<span class='key'>(".$stellk.")</span> ";} 
     96                                        echo $stellb; 
     97                                echo "</td>"; 
     98                        echo "\n</tr>"; 
    8599                        if ($stella != "") { 
    86                                 echo "\n<tr>" 
    87                                         ."\n\t<td class='li'>Art der Dienststelle:</td>" 
    88                                         ."\n\t<td>"; 
     100                                echo "\n<tr>"; 
     101                                        echo "\n\t<td class='li'>Art der Dienststelle:</td>"; 
     102                                        echo "\n\t<td>"; 
    89103                                                if ($showkey) {echo " <span class='key'>(".$stella.")</span>";} 
    90                                                 echo "<span title='".$row["d"]."'>".$row["v"]."</span>";  
    91                                         echo "</td>" 
    92                                 ."\n</tr>"; 
     104                                                // d.stellenart -- weiter entschluesseln 1000, 1200, 1300 
     105                                                // Dazu SchlÃŒsseltabelle aus GeoInfoDok erfassen 
     106                                                echo "&nbsp;"; // Platzhalter 
     107                                        echo "</td>"; 
     108                                echo "\n</tr>"; 
    93109                        } 
    94110                } 
    95                 echo "\n<tr>" 
    96                         ."\n\t<td class='li'>Fl&auml;che:</td>"; 
     111 
     112                echo "\n<tr>"; 
     113                        echo "\n\t<td class='li'>Fl&auml;che:</td>"; 
    97114                        $flae=number_format($row["flae"],0,",",".")." m&#178;"; 
    98                         echo "\n\t<td>".$flae."</td>" 
    99                 ."\n</tr>" 
    100         . "\n</table>"; 
     115                        echo "\n\t<td>".$flae."</td>"; 
     116                echo "\n</tr>"; 
     117 
     118        echo "\n</table>"; 
    101119} else { 
    102120        echo "\n<p class='err'>Fehler! Kein Treffer bei gml_id=".$gmlid."</p>"; 
    103121} 
    104122 
    105 echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> betroffene Flurst&uuml;cke</h2>\n" 
    106 ."\n<p>Ermittelt durch geometrische Verschneidung. Nach Gr&ouml;&szlig;e absteigend.</p>"; 
     123echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> betroffene Flurst&uuml;cke</h2>\n"; 
     124echo "\n<p>Ermittelt durch geometrische Verschneidung. Nach Gr&ouml;&szlig;e absteigend.</p>"; 
    107125 
    108126$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  
    109127FROM ax_flurstueck f, ax_bauraumoderbodenordnungsrecht r 
    110 WHERE r.gml_id= $1 AND f.endet IS NULL AND r.endet IS NULL "; 
    111 if ($filtgem == '' ) { // ungefiltert 
    112         $v=array($gmlid); 
    113 } else { 
    114         $sql.="AND f.kreis = $2 AND f.gemeinde = $3 "; // Zuständiges Gebiet 
    115         $v=array($gmlid, $filtkreis, $filtgem); 
    116 } 
    117 $sql.="AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true  
     128WHERE r.gml_id= $1 AND f.endet IS NULL AND r.endet IS NULL 
     129AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true  
    118130AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0.05  
    119 ORDER BY schnittflae DESC LIMIT 50;";  
     131ORDER BY schnittflae DESC LIMIT 40;";  
    120132// > 0.0 ist gemeint, Ungenauigkeit durch st_simplify 
    121133// Limit: Flurbereinig. kann gross werden! 
    122134// Trotz Limit lange Antwortzeit, wegen OrderBy -> intersection 
     135$v = array($gmlid); 
     136$res = pg_prepare("", $sql); 
     137$res = pg_execute("", $v); 
    123138 
    124 $res=pg_prepare("", $sql); 
    125 $res=pg_execute("", $v); 
    126139if (!$res) { 
    127140        echo "\n<p class='err'>Keine Flurst&uuml;cke ermittelt.<br>\nSQL=<br></p>\n"; 
    128 //      if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
     141        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";} 
    129142} 
    130143 
    131 echo "\n<table class='fs'>" 
    132         ."\n<tr>" 
    133                 ."\n\t<td class='head' title='Flur- und Flurst&uuml;cksnummer'>Flurst&uuml;ck</td>" 
    134                 ."\n\t<td class='heads fla' title='geometrische Schnittfl&auml;che'><img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'>Fl&auml;che</td>" 
    135                 ."\n\t<td class='head fla' title='amtliche Flurst&uuml;cksfl&auml;che, Buchfl&auml;che'>von</td>" 
    136                 ."\n\t<td class='head nwlink' title='Link zum Flurst&uuml;ck'>weitere Auskunft</td>" 
    137         ."\n</tr>"; 
     144echo "\n<table class='fs'>"; 
     145        echo "\n<tr>"; // Header 
     146                echo "\n\t<td class='head' title='Flur- und Flurst&uuml;cksnummer'>Flurst&uuml;ck</td>"; 
     147                echo "\n\t<td class='head fla' title='geometrische Schnittfl&auml;che'>Fl&auml;che</td>"; 
     148                echo "\n\t<td class='head fla' title='amtliche Flurst&uuml;cksfl&auml;che, Buchfl&auml;che'>von</td>"; 
     149                echo "\n\t<td class='head nwlink' title='Link zum Flurst&uuml;ck'>weitere Auskunft</td>"; 
     150        echo "\n</tr>"; 
    138151 
    139152        $fscnt=0; 
    140153        while($row = pg_fetch_array($res)) { 
    141154                $fscnt++; 
    142                 echo "\n<tr>" 
    143                         ."\n\t<td>".$row["flurnummer"]."-<span class='wichtig'>".$row["zaehler"]; 
    144                                 $nen=$row["nenner"]; 
    145                                 if ($nen != "") {echo "/".$nen;} 
    146                         echo "</span></td>" 
    147                         ."\n\t<td class='fla'>".$row["schnittflae"]." m&#178;</td>" 
    148                         ."\n\t<td class='fla'>".$row["amtlicheflaeche"]." m&#178;</td>" 
    149                         ."\n\t<td class='nwlink noprint'>" 
    150                                 ."\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$row["gml_id"]."&amp;eig=n' " 
    151                                         ."title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck " 
    152                                         ."\n\t\t\t<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    153                                 ."\n\t\t</a>" 
    154                         ."\n\t</td>" 
    155                 ."\n</tr>"; 
     155                echo "\n<tr>"; 
     156                        echo "\n\t<td>".$row["flurnummer"]."-<span class='wichtig'>".$row["zaehler"]; 
     157                        $nen=$row["nenner"]; 
     158                        if ($nen != "") { 
     159                                echo "/".$nen; 
     160                        } 
     161                        echo "</span></td>"; 
     162                        echo "\n\t<td class='fla'>".$row["schnittflae"]." m&#178;</td>";  
     163                        echo "\n\t<td class='fla'>".$row["amtlicheflaeche"]." m&#178;</td>"; 
     164                        echo "\n\t<td class='nwlink noprint'>"; 
     165                                echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$row["gml_id"]."&amp;eig=n' " ; 
     166                                        echo "title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck "; 
     167                                        echo "\n\t\t\t<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"; 
     168                                echo "\n\t\t</a>"; 
     169                        echo "\n\t</td>"; 
     170                echo "\n</tr>"; 
    156171        } 
    157172echo "\n</table>"; 
    158173 
    159 if ($fscnt == 0) { // nicht gefunden 
    160         if ($filtgem == '' ) { // ungefiltert 
    161                 echo "<p class='err'>Kein Flurst&uuml;ck gefunden.</p>"; 
    162         } else { // Wahrscheinliche Ursache = Filter 
    163                 echo "<p class='err'>Kein Flurst&uuml;ck im berechtigten Bereich.</p>"; 
    164         //      if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid." $2 = ".$filtkreis." $3 = ".$filtgem."</p>\n";} 
    165         } 
    166 } elseif ($fscnt == 50) { 
    167         echo "<p>... und weitere Flurst&uuml;cke (Limit 50 erreicht).</p>"; 
     174if ($fscnt == 40) { 
     175        echo "<p>... und weitere Flurst&uuml;cke (Limit 40 erreicht).</p>"; 
    168176} 
    169177 
     
    171179echo <<<END 
    172180 
    173 <div class='buttonbereich noprint'> 
    174 <hr> 
    175         <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp; 
    176         <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken" /></a>&nbsp; 
    177 </div> 
     181<form action=''> 
     182        <div class='buttonbereich noprint'> 
     183        <hr> 
     184                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp; 
     185                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken" /></a>&nbsp; 
     186        </div> 
     187</form> 
    178188END; 
    179189 
Note: See TracChangeset for help on using the changeset viewer.