Changeset 376 for trunk/mapbender/http/nav/alkisnav_adr.php
- Timestamp:
- 12/01/16 12:43:03 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mapbender/http/nav/alkisnav_adr.php
r356 r376 1 1 <?php 2 /* Version vom 3 2013-04-26 "import_request_variables" entfÀllt in PHP 5.4. 4 ZurÃŒck-Link, Titel der Transaktion anzeigen 5 2013-04-29 Test mit IE 6 2013-05-07 Strukturierung des Programms 7 2013-05-14 Feinkorrekturen 8 2013-05-15 Gruppierung nach Gemeinde, mehrfache HsNr (ap_pto.advstandardmodell) unterdrÃŒcken, Icon f. StraÃe 9 2014-01-23 Link zum Auskunft-Modul fÃŒr StraÃe 10 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 11 2014-09-15 Bei Relationen den Timestamp abschneiden, mehr "endet IS NULL" 12 2014-09-30 RÃŒckbau substring(gml_id) 13 2015-12-10 Umstellen .ico auf .png, Vermeidung nicht initialisierter Variable 2 /* Navigation mit ALKIS-Daten im Mapbender 2.7 - Teil Adressen-Suche 3 Diese Version des Programms verwendet die Datenbank-Struktur aus dem norGIS-ALKIS-Importer. 4 5 Version vom 6 2016-02-11 Version fÃŒr norGIS-ALKIS-Import aus Version Classic abgeleitet. 7 2016-03-02 $gemeinde auf feste LÀnge korrigieren 8 2016-11-28 Gemeinsam genutzte Datenbanken ermöglichen 14 9 15 10 ToDo: … … 27 22 28 23 $cntget = extract($_GET); 24 $gemeinde=str_pad($gemeinde, 3, "0", STR_PAD_LEFT); // temporÀr 29 25 include("../../conf/alkisnav_conf.php"); 30 26 include("alkisnav_fkt.php"); // Funktionen 31 $con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password; 32 $con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$$dbname.$dbvers.$gkz); 27 $con = pg_connect ($dbconn) or die ("Fehler bei der Verbindung zur Datenbank ".$dbpre.$dbgkz); 33 28 34 29 echo <<<END 35 36 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 37 <html> 30 <!doctype html> 31 <html lang="de"> 38 32 <head> 39 33 <meta http-equiv="cache-control" content="no-cache"> 40 34 <meta http-equiv="pragma" content="no-cache"> 41 35 <meta http-equiv="expires" content="0"> 42 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">36 <meta charset="utf-8"> 43 37 <title>ALKIS-Suche Adressen</title> 44 38 <link rel="stylesheet" type="text/css" href="alkisnav.css"> … … 63 57 END; 64 58 65 function suchStrName() { // Strassen nach Name(-nsanfang) 59 function suchStrName() { 60 // Strassen nach Name(-nsanfang) 66 61 global $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug, $auskpath; 67 $linelimit=120; // -> in die Conf? 68 $str_schl=""; // Loeschen vorheriges Ergebnis 69 preg_match("/^(\D+)(\d*)(\D*)/",$street,$matches); # 4 matches name/nr/zusatz echo "match: ".$matches[1].",".$matches[2].",".$matches[3]; 62 //if ($debug > 1) {echo "<p class='dbg'>function suchStrName()<p>";} // Ablauf-Verfolgung 63 64 $linelimit=120; // -> in Conf? 65 $str_schl=""; // Loeschen vorh. Ergebnis 66 preg_match("/^(\D+)(\d*)(\D*)/",$street,$matches); # 4 matches name/nr/zusatz 67 //echo "match: 1='".$matches[1]."', 2='".$matches[2]."', 3='".$matches[3]."'"; 70 68 $matches[1] = preg_replace("/strasse/i","str", $matches[1]); 71 69 $matches[1] = preg_replace("/str\./i","str", $matches[1]); 70 72 71 if(preg_match("/\*/",$matches[1])){ 73 72 $match=trim(preg_replace("/\*/i","%", strtoupper($matches[1]))); … … 75 74 $match=trim($matches[1])."%"; 76 75 } 76 77 77 $sql ="SELECT g.gemeinde, g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage 78 78 FROM ax_lagebezeichnungkatalogeintrag k 79 79 JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde 80 80 WHERE k.bezeichnung ILIKE $1 AND k.endet IS NULL AND g.endet IS NULL "; 81 81 82 switch ($gfilter) { 82 83 case 1: // Einzelwert … … 114 115 $skey=$row["lage"]; // Nur Str.-schl. daraus 115 116 $kgml=$row["gml_id"]; // ID von Katalog 116 117 // +++ in function_zeile_strasse() 118 $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 119 echo "\n\t<div class='stl' title='Straßenschlüssel ".$skey."'>"; 120 // Icon -> Buchnachweis 121 echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisstrasse.php?gkz=".$gkz."&gmlid=".$kgml."\")'>"; 122 echo "\n\t\t<img class='nwlink' src='ico/Lage_mit_Haus.png' width='16' height='16' alt='STR' title='Straße'>"; 123 echo "\n\t</a>"; 124 echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&str_schl=".$gkey."'>".$sname."</a>"; 125 echo "</div>"; 126 // +++ function ende 117 $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 118 zeile_strasse ($gkey, $skey, $sname, $kgml, $gemname); 127 119 $cnt++; 128 120 } 129 121 130 122 if($cnt == 0) { 131 echo "<pclass='anz'>Keine Straße</p>"; 123 echo "\n<p class='anz'>Keine Straße</p>"; 124 //if ($debug > 2) {echo "<p class='err'>SQL = '".$sql."'<br>$1 = '".$match."'<p>";} 132 125 } elseif($cnt == 1) { // Eindeutig 133 126 $str_schl=$gkey; // dann gleich weiter 134 127 } elseif($cnt >= $linelimit) { 135 echo " <p class='anz'>".$cnt." Straßen ... und weitere</p>";128 echo "\n<p class='anz'>".$cnt." Straßen ... und weitere</p>"; 136 129 } elseif ($cnt > 1) { 137 130 echo "\n<p class='anz'>".$cnt." Straßen</p>"; … … 142 135 function suchStrKey() { // Strassen nach num. Schluessel 143 136 global $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug, $auskpath; 137 //if ($debug > 1) {echo "<p class='dbg'>function suchStrKey()<p>";} // Ablauf-Verfolgung 144 138 $linelimit=60; 145 139 if(preg_match("/\*/",$street)) { … … 177 171 $skey=$row["lage"]; 178 172 $kgml=$row["gml_id"]; // ID von Katalog 179 180 // +++ in function_zeile_strasse() 181 echo "\n\t<div class='stl' title='Straßenschlüssel ".$skey."'>"; 182 183 // Icon -> Buchnachweis 184 echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisstrasse.php?gkz=".$gkz."&gmlid=".$kgml."\")'>"; 185 echo "\n\t\t<img class='nwlink' src='ico/Lage_mit_Haus.png' width='16' height='16' alt='STR' title='Straße'>"; 186 echo "\n\t</a>"; 187 188 echo $skey." <a class='st' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&str_schl=".$gkey."' title='".$gemname."'>".$sname; 189 echo "</a>"; 190 switch ($gfilter) { 191 case 0: // Kein Filter 192 echo " in ".$gemname; 193 break; 194 case 2: // Liste 195 echo " in ".$gemname; 196 break; 197 } 198 echo "</div>"; 199 // function ende 200 173 zeile_strasse ($gkey, $skey, $sname, $kgml, $gemname); 201 174 $cnt++; 202 175 } … … 215 188 function suchHausZurStr($showParent) { // Haeuser zu einer Strasse 216 189 global $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $epsg, $gfilter, $debug, $auskpath; 190 //if ($debug > 1) {echo "<p class='dbg'>function suchHausZurStr()<p>";} // Ablauf-Verfolgung 217 191 218 192 // Head … … 256 230 $sqlko.="WHERE o.land= $1 AND o.regierungsbezirk= $2 AND o.kreis= $3 AND o.gemeinde= $4 AND o.lage= $5 "; 257 231 $sqlko.="LIMIT 1;"; // die erstbeste Koordinate 232 258 233 $v=array($land,$regb,$kreis,$gemnd,$nr); 259 234 $resko=pg_prepare("", $sqlko); … … 267 242 } 268 243 244 // "function zeile_strasse()" hier nicht verwendbar. ZusÀtzlicher Map-Link mit Koordinate 269 245 // Icon -> Buchnachweis 270 246 echo "\n\t<br><a href='javascript:imFenster(\"".$auskpath."alkisstrasse.php?gkz=".$gkz."&gmlid=".$kgml."\")'>"; … … 371 347 $epsg=$gui_epsg; // aus Conf 372 348 } 349 350 // Filter auf Zustaendigkeit z.B. ein Stadtgebiet 373 351 if ($gemeinde == "") { 374 352 $gfilter = 0; // ungefiltert … … 378 356 $gfilter = 2; // Liste 379 357 } 380 381 // +++ Zerlegung Eingabe aus "Balken" von Buchauskunft "Lage": 382 // Numerisch: Gem-Str-Haus-lfd 383 384 if ($str_schl != "") { // aus Link 358 // ax_lagebezeichnungkatalogeintrag.gemeinde: z.B. Classic='40' / NorBit = '040' 359 // Im Mapbender mit fuehrenden Nullen eingeben: gazetteer_alkis.SRC 360 // alkisnav.htm?..&gemeinde=040&.. 361 362 // +++Zerlegung Eingabe aus "Balken" von Buchauskunft "Lage": Numerisch: Gem-Str-Haus-lfd 363 364 if ($str_schl != "") { // Wert kommt aus aus Link 385 365 $trans="Hausnummern zur Straße"; 386 366 suchHausZurStr(true); 387 } elseif($street != "") { // Eingabe in Form 388 if (trim($street, "*,0..9") == "") { // Zahl, ggf. mit Wildcard 367 // Wert aus Eingabe in Formular 368 } elseif($street != "") { 369 if (trim($street, "*,0..9, ") == "") { // Zahl, ggf. mit Wildcard 389 370 $trans="Suche Straßenschlüssel \"".$street."\""; 390 371 suchStrKey(); 391 } else { 372 } else { // Name suchen 392 373 $trans="Suche Straßenname \"".$street."*\""; 393 374 suchStrName(); … … 402 383 403 384 // Nach Durchlaufen des PHP-Scriptes die zuletzt ausgefÃŒhrte Transaktion 404 // im Kopf des Ergebnisrahmens anzeigen.385 // im Kopf des Ergebnisrahmens anzeigen. 405 386 // Dazu die im HTML-Header definierte Javascript-Function benutzen. 406 387 // Alternativ wird auch aus dem Javascript "positionieren Karte" dieser Titel gesetzt.
Note: See TracChangeset
for help on using the changeset viewer.