Ignore:
Timestamp:
12/01/16 12:43:03 (7 years ago)
Author:
frank.jaeger
Message:

Verbesserungen an der ALKIS-Buchauskunft (Geschwindigkeit, Fehlerkorrekturen, Mandantenfähigkeit) und an der Mapbender2-Navigation.

File:
1 edited

Legend:

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

    r355 r376  
    77 
    88        Version: 
    9         2014-01-23 Neu 
    10         2014-01-24 CSV-Export 
    11         2014-01-30 pg_free_result 
    12         2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    13         2014-09-15 Bei Relationen den Timestamp abschneiden 
    14         2014-09-16 Wechsel Gem./Flur durch <b> hervorheben 
    15         2014-09-30 RÃŒckbau substring(gml_id) 
    16         2015-12-09 Austausch .ico durch .png 
     9        2016-02-24 Version fuer norGIS-ALKIS-Import 
     10        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen, SQL optimiert (FS-Liste jetzt schneller) 
    1711*/ 
    1812session_start(); 
     
    2317include("alkisfkt.php"); 
    2418 
    25 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    2619$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    2720if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    2821?> 
    29 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    30 <html> 
     22<!doctype html> 
     23<html lang="de"> 
    3124<head> 
    32         <meta name="author" content="b600352" > 
    33         <meta http-equiv="cache-control" content="no-cache"> 
    34         <meta http-equiv="pragma" content="no-cache"> 
    35         <meta http-equiv="expires" content="0"> 
    36         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     25        <meta charset="utf-8"> 
    3726        <title>ALKIS Stra&szlig;e</title> 
    3827        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    4938<body> 
    5039<?php 
    51 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     40$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisstrasse.php'"); 
    5241if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    5342 
     
    6857        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    6958} 
    70  
    7159if ($row = pg_fetch_array($res)) { 
    7260        $lage=$row["lage"]; // Strassenschluessel 
     
    8270echo "\n<h2><img src='ico/Strassen.png' width='16' height='16' alt=''> Stra&szlig;e</h2>\n"; 
    8371 
    84 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Tabelle Kennzeichen 
    85 echo "\n\t<table class='kennzstra' title='Lage'>"; 
    86         echo "\n\t<tr>"; 
    87                 echo "\n\t\t<td class='head'>Land</td>"; 
    88                 echo "\n\t\t<td class='head'>Reg.-Bez.</td>"; 
    89                 echo "\n\t\t<td class='head'>Kreis</td>"; 
    90                 echo "\n\t\t<td class='head'>Gemeinde</td>"; 
    91                 echo "\n\t\t<td class='head'>Stra&szlig;e</td>"; 
    92         echo "\n\t</tr>"; 
    93         echo "\n\t<tr>"; 
    94  
     72// Tabelle Kennzeichen 
     73echo "\n<table class='outer'>\n<tr>\n\t<td>" 
     74."\n\t<table class='kennzstra' title='Lage'>" 
     75        ."\n\t<tr>" 
     76                ."\n\t\t<td class='head'>Land</td>" 
     77                ."\n\t\t<td class='head'>Reg.-Bez.</td>" 
     78                ."\n\t\t<td class='head'>Kreis</td>" 
     79                ."\n\t\t<td class='head'>Gemeinde</td>" 
     80                ."\n\t\t<td class='head'>Stra&szlig;e</td>" 
     81        ."\n\t</tr>" 
     82        ."\n\t<tr>"; 
    9583                echo "\n\t\t<td title='Bundesland'>"; 
    9684                if ($showkey) {echo "<span class='key'>".$row["land"]."</span><br>";} 
    97                 echo $row["bnam"]."&nbsp;</td>"; 
    98  
    99                 echo "\n\t\t<td title='Regierungsbezirk'>"; 
     85                echo $row["bnam"]."&nbsp;</td>" 
     86                ."\n\t\t<td title='Regierungsbezirk'>"; 
    10087                if ($showkey) {echo "<span class='key'>".$row["regierungsbezirk"]."</span><br>";} 
    101                 echo $row["rnam"]."&nbsp;</td>"; 
    102  
    103                 echo "\n\t\t<td title='Kreis'>"; 
     88                echo $row["rnam"]."&nbsp;</td>" 
     89                ."\n\t\t<td title='Kreis'>"; 
    10490                if ($showkey) {echo "<span class='key'>".$row["kreis"]."</span><br>";} 
    105                 echo $row["knam"]."&nbsp;</td>"; 
    106  
    107                 echo "\n\t\t<td title='Gemeinde'>"; 
     91                echo $row["knam"]."&nbsp;</td>" 
     92                ."\n\t\t<td title='Gemeinde'>"; 
    10893                if ($showkey) {echo "<span class='key'>".$gem."</span><br>";} 
    109                 echo $row["gnam"]."&nbsp;</td>"; 
    110  
    111                 echo "\n\t\t<td title='Stra&szlig;e'>"; 
     94                echo $row["gnam"]."&nbsp;</td>" 
     95                . "\n\t\t<td title='Stra&szlig;e'>"; 
    11296                if ($showkey) {echo "<span class='key'>".$lage."</span><br>";} 
    113                 echo "<span class='wichtig'>".$snam."</span>"; 
    114  
    115                 echo "&nbsp;</td>"; 
    116         echo "\n\t</tr>"; 
    117 echo "\n\t</table>"; 
     97                echo "<span class='wichtig'>".$snam."</span>" 
     98                . "&nbsp;</td>" 
     99        ."\n\t</tr>" 
     100."\n\t</table>"; 
    118101 
    119102echo "\n\t</td>\n\t<td>"; 
     
    122105$ogml=$row["ogml"]; // ID von "Lage Ohne HsNr" 
    123106if ($ogml != "") { 
    124         echo "\n\t\t<p class='nwlink noprint'>"; 
    125                 echo "\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$ogml; 
    126                         if ($idanzeige) {echo "&amp;id=j";} 
    127                         if ($showkey)   {echo "&amp;showkey=j";} 
    128                 echo "' title='Lage Ohne Hausnummer'>Lage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''></a>"; 
    129         echo "\n\t\t</p>"; 
     107        echo "\n\t\t<p class='nwlink noprint'>" 
     108                ."\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$ogml; 
     109                if ($showkey)   {echo "&amp;showkey=j";} 
     110                echo "' title='Lage Ohne Hausnummer'>Lage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''></a>" 
     111        ."\n\t\t</p>"; 
    130112} 
    131113 
     
    135117 
    136118// F L U R S T U E C K E 
    137 echo "\n\n<a name='fs'></a><h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>\n"; 
     119echo "\n\n<a id='fs'></a><h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>\n"; 
    138120echo "\n<p>Zusammenfassung von 'Lage mit Hausnummer' und 'Lage ohne Hausnummer' an dieser Straße</p>"; 
    139121 
     
    141123// ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer > = Strasse 
    142124// Suchkriterium: gml_id aus Katalog 
    143 $subquery = "SELECT f1.gml_id AS fsgml, lm.gml_id AS lgml, lm.land, lm.regierungsbezirk, lm.kreis, lm.gemeinde, lm.lage, lm.hausnummer  
    144  FROM ax_flurstueck f1 JOIN ax_lagebezeichnungmithausnummer lm ON lm.gml_id=ANY(f1.weistAuf)  
    145  WHERE f1.endet IS NULL AND lm.endet IS NULL 
    146 UNION SELECT f2.gml_id AS fsgml, '' AS lgml, lo.land, lo.regierungsbezirk, lo.kreis, lo.gemeinde, lo.lage, '' AS hausnummer  
    147  FROM ax_flurstueck f2 JOIN ax_lagebezeichnungohnehausnummer lo ON lo.gml_id=ANY(f2.zeigtauf)  
    148  WHERE f2.endet IS NULL AND lo.endet IS NULL"; 
    149  
    150 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, duett.lgml, duett.hausnummer  
    151  FROM ax_flurstueck f JOIN ( ".$subquery." ) AS duett ON f.gml_id=duett.fsgml  
     125$sql="SELECT f.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, l.gml_id AS lgml, l.hausnummer, 'm' AS ltyp 
     126 FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistAuf)  
    152127 JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    153  JOIN ax_lagebezeichnungkatalogeintrag s ON duett.land=s.land AND duett.regierungsbezirk=s.regierungsbezirk AND duett.kreis=s.kreis AND duett.gemeinde=s.gemeinde AND duett.lage=s.lage  
    154 WHERE s.gml_id = $1 AND f.endet IS NULL AND s.endet IS NULL  
    155 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     128 JOIN ax_lagebezeichnungkatalogeintrag s ON l.land=s.land  AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
     129 WHERE s.gml_id = $1 AND f.endet IS NULL AND s.endet IS NULL AND l.endet IS NULL 
     130UNION SELECT f.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, l.gml_id AS lgml, '' AS hausnummer, 'o' AS ltyp 
     131 FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf)  
     132 JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
     133 JOIN ax_lagebezeichnungkatalogeintrag s ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
     134 WHERE s.gml_id = $1 AND f.endet IS NULL AND s.endet IS NULL AND l.endet IS NULL 
     135ORDER BY gemarkungsnummer, flurnummer, zaehler, nenner;"; 
    156136 
    157137$v=array($gmlid); 
     
    163143} 
    164144 
    165 echo "\n<table class='fs'>"; 
    166 echo "\n<tr>"; // Kopfzeile der Tabelle 
    167         echo "\n\t<td class='head' title='Name der Gemarkung (Ortsteil)'>Gemarkung</td>"; 
    168         echo "\n\t<td class='head' title='Flur-Nummer'>Flur</td>"; 
    169         echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>Flurst.</td>"; 
    170         echo "\n\t<td class='head fla' title='amtliche Fl&auml;che in Quadratmeter'>Fl&auml;che</td>"; 
    171         echo "\n\t<td class='head hsnr' title='Hausnummer aus der Lagebezeichnung des Flurst&uuml;cks'>HsNr.</td>"; 
    172         echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>"; 
    173 echo "\n</tr>"; 
     145echo "\n<table class='fs'>" 
     146."\n<tr>" 
     147        ."\n\t<td class='heads' title='Name der Gemarkung (Ortsteil)'>Gemarkung<img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'></td>" 
     148        ."\n\t<td class='heads' title='Flur-Nummer'>Flur<img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'></td>" 
     149        ."\n\t<td class='heads' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'>Flurst.</td>" 
     150        ."\n\t<td class='head fla' title='amtliche Fl&auml;che in Quadratmeter'>Fl&auml;che</td>" 
     151        ."\n\t<td class='head hsnr' title='Hausnummer aus der Lagebezeichnung des Flurst&uuml;cks'>HsNr.</td>" 
     152        ."\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>" 
     153."\n</tr>"; 
    174154$j=0; 
    175155$cnths=0; // Count Haus 
     
    184164        $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;"; 
    185165        $lgml=$rowf["lgml"]; // ID von "Lage Mit" oder leer 
    186  
    187         echo "\n<tr>"; 
    188  
    189                 echo "\n\t<td>"; 
     166        $ltyp=$rowf["ltyp"]; // mit/ohne HsNr 
     167 
     168        echo "\n<tr>" 
     169                ."\n\t<td>"; 
    190170                if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";} 
    191171                if ($gwgmkg != $gmkg) { 
     
    204184                } 
    205185 
    206                 echo "\n\t<td><span class='wichtig'>".$fskenn."</span>"; 
    207                 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck", "ax_flurstueck");} 
    208                 echo "</td>"; 
    209                 echo "\n\t<td class='fla'>".$flae."</td>"; 
    210                 echo "\n\t<td class='hsnr'>".$rowf["hausnummer"]."</td>"; 
    211                 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    212  
     186                echo "\n\t<td><span class='wichtig'>".$fskenn."</span></td>" 
     187                ."\n\t<td class='fla'>".$flae."</td>" 
     188                ."\n\t<td class='hsnr'>".$rowf["hausnummer"]."</td>" 
     189                ."\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     190 
     191                        // Link "Lage" 
     192// ++++ FEHLER kann auch Typ "o" sein 
    213193                        if ($lgml != '') { 
    214                                 echo "\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$lgml; 
    215                                 if ($idanzeige) {echo "&amp;id=j";} 
    216                                 if ($showkey)   {echo "&amp;showkey=j";} 
     194                                echo "\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=".$ltyp."&amp;gmlid=".$lgml; 
     195                                if ($showkey) {echo "&amp;showkey=j";} 
    217196                                echo "' title='Lage Mit Hausnummer'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;"; 
    218197                                $cnths++; 
    219198                        } 
    220199 
     200                        // Link FlurstÃŒcksnachweis 
    221201                        echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n"; 
    222                         if ($idanzeige) {echo "&amp;id=j";} 
    223                         if ($showkey)   {echo "&amp;showkey=j";} 
     202                        if ($showkey) {echo "&amp;showkey=j";} 
    224203                        echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>"; 
    225  
    226                 echo "\n\t\t</p>\n\t</td>"; 
    227         echo "\n</tr>"; 
     204                echo "\n\t\t</p>\n\t</td>" 
     205        ."\n</tr>"; 
    228206        $j++; 
    229207} 
     
    231209if ($j > 6) { 
    232210        echo "<p class='cnt'>".$j." Flurst&uuml;cke"; 
    233         if ($cnths > 4) { 
    234                 echo ", ".$cnths." H&auml;user"; 
    235         } 
     211        if ($cnths > 4) {echo ", ".$cnths." H&auml;user";} 
    236212        echo "</p>"; 
    237213} 
     
    239215?> 
    240216 
    241 <form action=''> 
    242         <div class='buttonbereich noprint'> 
    243         <hr> 
    244                 <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    245                 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
    246                 <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp; 
    247         </div> 
    248 </form> 
     217<div class='buttonbereich noprint'> 
     218<hr> 
     219        <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
     220        <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
     221        <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp; 
     222</div> 
    249223 
    250224<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
Note: See TracChangeset for help on using the changeset viewer.