Changeset 53 for trunk/var/www/info/alkis/alkisfkt.php
- Timestamp:
- 11/10/10 17:07:40 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/var/www/info/alkis/alkisfkt.php
r45 r53 9 9 07.09.2010 Schluessel anschaltbar 10 10 15.09.2010 Function "buchungsart" durch JOIN ersetzt 11 09.11.2010 Functions, die nur einmal aufgerufen wurden, sequentiell in FS-Nachw. integriert 11 12 */ 12 13 … … 109 110 } 110 111 111 function fs_gebietszug($con, $gemeinde, $kreis, $bezirk, $showkey) {112 // eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben113 // Parameter = Schluesselwerte114 // Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist?115 116 echo "\n<tr>\n\t<td class='ll'><img src='ico/Gemeinde.ico' width='16' height='16' alt=''> Im Gebiet von:</td>";117 118 // G e m e i n d e119 $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' AND gemeinde='".$gemeinde."' ";120 $res=pg_query($con, $sql);121 if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>";122 $row = pg_fetch_array($res);123 $gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");124 echo "\n\t<td class='lr'>Gemeinde ";125 if ($showkey) {126 echo "<span class='key'>(".$gemeinde.")</span> ";127 }128 echo $gnam."<br>";129 130 // K r e i s131 $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' ";132 $res=pg_query($con, $sql);133 if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>";134 $row = pg_fetch_array($res);135 $knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");136 echo "Kreis ";137 if ($showkey) {138 echo "<span class='key'>(".$kreis.")</span> ";139 }140 echo $knam."<br>";141 142 // R e g - B e z143 $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' ";144 $res=pg_query($con, $sql);145 if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>";146 $row = pg_fetch_array($res);147 $bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");148 echo "Regierungsbezirk ";149 if ($showkey) {150 echo "<span class='key'>(".$bezirk.")</span> ";151 }152 echo $bnam."</td>";153 154 // 3. Spalte fÃŒr NW-Link (in weiteren Tab-Zeilen)155 echo "\n\t<td> </td>\n</tr>";156 return 0;157 }158 159 function fs_lage($con, $gmlid, $gkz, $showkey) {160 // Tabellenzeilen mit Lage eines FS161 // Parameter = ID des FS162 163 // Lagebezeichnung Mit Hausnummer164 // ax_flurstueck >weistAuf> AX_LagebezeichnungMitHausnummer165 // <gehoertZu<166 $sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";167 $sql.="FROM alkis_beziehungen v ";168 $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN169 $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage ";170 $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";171 $sql.="AND v.beziehungsart='weistAuf' ";172 $sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";173 174 // Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage175 // bei einem SekundÀrbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier:176 177 //$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage ";178 // Problem: ax_lagebezeichnungkatalogeintrag.lage ist char,179 // ax_lagebezeichnungmithausnummer.lage ist integer,180 181 // cast() scheitert weil auch nicht numerische Inhalte182 //$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) ";183 184 // http://www.postgresql.org/docs/8.3/static/functions-formatting.html185 186 $res=pg_query($con, $sql);187 if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}188 $j=0;189 while($row = pg_fetch_array($res)) {190 $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name191 //echo "<!-- Adresse -->";192 echo "\n<tr>\n\t";193 if ($j == 0) {194 echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>";195 } else {196 echo "<td> </td>";197 }198 echo "\n\t<td class='lr'>";199 if ($showkey) {200 echo "<span class='key'>(".$row["lage"].")</span> ";201 }202 echo $sname." ".$row["hausnummer"]."</td>";203 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";204 echo "\n\t\t\t<a href='alkislage.php?gkz=".$gkz."&ltyp=m&gmlid=".$row["gml_id"]."'>Lage ";205 echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>";206 echo "\n\t\t</p>\n\t</td>";207 echo "\n</tr>";208 $j++;209 }210 $z=$j;211 212 // 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 e r (Gewanne oder nur Strasse)213 // ax_flurstueck >zeigtAuf> AX_LagebezeichnungOhneHausnummer214 // <gehoertZu<215 $sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung ";216 $sql.="FROM alkis_beziehungen v ";217 $sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu ";218 $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";219 // $sql.="AND l.lage=s.lage ";220 // hier beide .lage als Char(5)221 // in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen222 // in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen223 $sql.="AND l.lage=trim(leading '0' from s.lage) ";224 // $sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte225 $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";226 $sql.="AND v.beziehungsart='zeigtAuf';"; //ORDER?227 $res=pg_query($con, $sql);228 if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>";229 $j=0;230 // Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!231 while($row = pg_fetch_array($res)) {232 $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");233 $skey=$row["lage"]; // Strassenschluessel234 $lgml=$row["gml_id"]; // key der Lage235 if (!$gewann == "") {236 echo "\n<tr>";237 echo "\n\t<td class='ll'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>";238 echo "\n\t<td class='lr'>".$gewann."</td>";239 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";240 echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&ltyp=o&gmlid=".$lgml."'>";241 echo "\n\t\t\tLage <img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''></a>";242 echo "\n\t\t</p>\n\t</td>";243 echo "\n</tr>";244 }245 // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link246 if ($skey > 0) {247 echo "\n<tr>";248 echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Straße:</td>";249 echo "\n\t<td class='lr'>";250 if ($showkey) {251 echo "<span class='key'>(".$skey.")</span> ";252 }253 echo $row["bezeichnung"]."</td>";254 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";255 echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&ltyp=o&gmlid=".$lgml."'>";256 echo "\n\t\t\tLage <img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''>\n\t\t\t</a>";257 echo "\n\t\t</p>\n\t</td>";258 echo "\n</tr>";259 }260 $j++;261 }262 $z=$z+$j;263 return $z; // Anzahl Zeilen264 }265 266 function fs_nutz($con, $gmlid) {267 // Tabellenzeilen (3 Sp.) mit tats. Nutzung zu einem FS ausgeben268 // Parameter = ID des FS269 echo "\n<tr>\n\t<td class='ll'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzungsarten:</td>";270 echo "\n\t<td class='ph'>(Programmteil ist noch in Arbeit)</td>";271 echo "\n\t<td> </td>\n</tr>";272 }273 274 112 function bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus, $showkey) { 275 113 /* Bestandsnachweis - Flurstuecksdaten … … 296 134 $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 297 135 } 298 299 136 $altlfdnr=""; 300 137 $j=0;
Note: See TracChangeset
for help on using the changeset viewer.