source: trunk/var/www/info/alkis/alkisinlaybaurecht.php @ 49

Revision 49, 5.4 KB checked in by frank.jaeger, 14 years ago (diff)
Line 
1<?php
2/*      alkisinlaybaurecht.php - Inlay fuer Template: Baurecht
3        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
4
5        Version:         21.09.2010  Neu
6        22.09.2010  Feintuning, sql-Limit
7*/
8ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
9session_start();
10require_once("/data/conf/alkis_www_conf.php");
11if ($auth == "mapbender") {
12        require_once($mapbender);
13}
14?>
15<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
16<html>
17<head>
18        <meta name="author" content="F. Jaeger krz" >
19        <meta http-equiv="cache-control" content="no-cache">
20        <meta http-equiv="pragma" content="no-cache">
21        <meta http-equiv="expires" content="0">
22        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
23        <title>ALKIS Bau-, Raum- oder Bodenordnungsrecht</title>
24        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
25        <link rel="shortcut icon" type="image/x-icon" href="ico/Gericht.ico">
26</head>
27<body>
28
29<?php
30$gkz=urldecode($_REQUEST["gkz"]);
31$gmlid=urldecode($_REQUEST["gmlid"]);
32$dbname = 'alkis05' . $gkz;
33$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
34// wie View "baurecht"
35$sql ="SELECT r.ogc_fid,  r.artderfestlegung as adfkey, r.name, r.stelle, r.bezeichnung AS rechtbez, ";
36$sql.="a.bezeichner  AS adfbez, d.bezeichnung AS stellbez, d.stellenart, ";
37$sql.="round(st_area(r.wkb_geometry)::numeric,0) AS flae ";
38$sql.="FROM ax_bauraumoderbodenordnungsrecht r ";
39$sql.="LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON r.artderfestlegung = a.wert ";
40$sql.="LEFT JOIN ax_dienststelle d ON r.land = d.land AND r.stelle = d.stelle ";
41$sql.="WHERE r.gml_id='".$gmlid."';";
42
43$res=pg_query($con,$sql);
44if (!$res) {
45        echo "\n<p class='err'>Fehler bei Baurecht:<br>";
46        echo "\n<br>SQL=<br>\n".$sql;
47        echo "\n</p>\n";
48}
49echo "\n<h2><img src='ico/Gericht.ico' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>\n";
50
51if ($row = pg_fetch_array($res)) {
52        echo "\n<table>";
53
54                echo "\n<tr>";
55                        echo "\n\t<td class='li'>Art der Festlegung:</td>\n\t<td><span class='key'>(".$row["adfkey"].")</span> ";
56                        echo "<span class='wichtig'>".$row["adfbez"]."</span></td>";
57                echo "\n</tr>";
58
59                $enam=$row["name"];
60                if ($enam != "") {
61                        echo "\n<tr>";         
62                                echo "\n\t<td class='li'>Eigenname des Gebietes:</td>\n\t<td>".$enam."</td>";
63                        echo "\n</tr>";
64                }       
65                echo "\n<tr>";
66                        echo "\n\t<td class='li'>Verfahrensnummer:</td>";
67                        echo "\n\t<td>".$row["rechtbez"]."</td>";
68                echo "\n</tr>";
69
70                $stell=$row["stelle"];
71                if ($stell != "") {
72                        echo "\n<tr>";
73                                echo "\n\t<td class='li'>Dienststelle:</td>\n\t<td><span class='key'>(".$stell.")</span> ".$row["stellbez"];
74                                $stellart=$row["stellenart"];
75                                if ($stellart != "") {
76                                        echo " (".$stellart.")"; // d.stellenart -- weiter entschluesseln
77                                }               
78                                echo "</td>";
79                        echo "\n</tr>";
80                }
81
82                echo "\n<tr>";
83                        echo "\n\t<td class='li'>Fl&auml;che:</td>";
84                        $flae=number_format($row["flae"],0,",",".")." m&#178;";
85                        echo "\n\t<td>".$flae."</td>";
86                echo "\n</tr>";
87
88        echo "\n</table>";
89} else {
90        echo "\n<p class='err'>Fehler! Kein Treffer bei gml_id=".$gmlid."</p>";
91}
92
93echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> betroffene Flurst&uuml;cke</h2>\n";
94echo "\n<p>Ermittelt durch geometrische Verschneidung. Nach Gr&ouml;&szlig;e absteigend.</p>";
95
96$sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, ";
97$sql.="round(st_area(ST_Intersection(r.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae ";
98$sql.="FROM ax_flurstueck f, ax_bauraumoderbodenordnungsrecht r  ";
99$sql.="WHERE r.gml_id='".$gmlid."' ";
100$sql.="AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true ";
101$sql.="AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0 ";
102$sql.="ORDER BY schnittflae DESC ";
103// Limit: Flurbereinigungsgebiete koennen sehr gross werden!
104$sql.="LIMIT 40;";
105// Trotz Limit lange Antwortzeit, wegen OrderBy -> intersection
106
107$res=pg_query($con,$sql);
108if (!$res) {
109        echo "\n<p class='err'>Keine Flurst&uuml;cke ermittelt.<br>\nSQL=<br></p>\n";
110        echo "\n<p class='err'>".$sql."</p>\n";
111}
112
113echo "\n<table class='fs'>";
114        echo "\n<tr>"; // Header
115                echo "\n\t<td class='head' title='Flur- und Flurst&uuml;cksnummer'>Flurst&uuml;ck</td>";
116                echo "\n\t<td class='head fla' title='geometrische Schnittfl&auml;che'>Fl&auml;che</td>";
117                echo "\n\t<td class='head fla' title='amtliche Flurst&uuml;cksfl&auml;che, Buchfl&auml;che'>von</td>";
118                echo "\n\t<td class='head nwlink' title='Link zum Flurst&uuml;ck'>weitere Auskunft</td>";
119        echo "\n</tr>";
120
121        $fscnt=0;
122        while($row = pg_fetch_array($res)) {   
123                $fscnt++;               
124                echo "\n<tr>";
125                        echo "\n\t<td>".$row["flurnummer"]."-<span class='wichtig'>".$row["zaehler"];
126                        $nen=$row["nenner"];
127                        if ($nen != "") {
128                                echo "/".$nen;
129                        }
130                        echo "</span></td>";
131                        echo "\n\t<td class='fla'>".$row["schnittflae"]." m&#178;</td>";
132                        echo "\n\t<td class='fla'>".$row["amtlicheflaeche"]." m&#178;</td>";
133                        echo "\n\t<td class='nwlink noprint'>";
134                                echo "\n\t\t<a target='_blank' href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$row["gml_id"]."&amp;eig=n";                                         echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck ";
135                                        echo "\n\t\t\t<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
136                                echo "\n\t\t</a>";
137                        echo "\n\t</td>";
138                echo "\n</tr>";
139        }
140echo "\n</table>";
141
142if ($fscnt == 40) {
143        echo "<p>... und weitere Flurst&uuml;cke (Limit 40 erreicht).</0>";
144}
145
146?>
147
148</body>
149</html>
Note: See TracBrowser for help on using the repository browser.