Changeset 378
- Timestamp:
- 02/23/17 15:15:21 (7 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/import/norgis_alkis_pp/postcreate.de/x_classic2norgis.sql
r376 r378 9 9 -- 2016-12-01 exp_csv: Fehlerkorrektur bei EntschlÃŒsselung der Buchungsart 10 10 -- Optimierte Version (ohne Doppelverbindung) 11 -- 2017-02-23 Spalte "fall" aus View "flst_an_strasse" im View "exp_csv_str" ausgeben. 12 -- Darauf basiert ein neuer Filter im Programm "alkisexport.php". 13 -- Sortierung FS-Kennz. repariert in Views "exp_csv" und "exp_csv_str" 11 14 12 15 -- ToDo: Auch den View "flst_an_strasse" möglist nicht in andere Views einbinden. … … 486 489 AND dien.endet IS NULL 487 490 488 ORDER BY fsgml, -- f.flurstueckskennzeichen, 491 ORDER BY fs_kennz, -- f.flurstueckskennzeichen, 492 -- fsgml, 489 493 gb_bezirk, -- gb.bezirk, 490 494 gb_blatt, -- gb.buchungsblattnummermitbuchstabenerweiterung, … … 595 599 -- 2016-12-01: Neue schnellere Version unter Vermeidung von "doppelverbindung": 596 600 -- Etwa um den Faktor 2,5 schneller als die alte Version 601 -- 2017-02-23: Spalte fall aus View "flst_an_strasse" als Spalte ausgeben. 602 -- Darauf basiert ein neuer Filter im Programm "alkisexport.php" 597 603 598 604 -- ToDo: Den View "flst_an_strasse" möglichst auch nicht im Views verwenden. 599 -- Ist 4-fach-Union schneller ??605 -- Ist 4-fach-Union ectl. schneller ?? 600 606 601 607 DROP VIEW IF EXISTS exp_csv_str; … … 606 612 l.stgml, -- Filter: gml_id aus "ax_lagebezeichnungkatalogeintrag" 607 613 -- UNTERSCHIED zu exp_csv 614 l.fall, -- mit/ohne Hausnummer zur Lage 608 615 -- F l u r s t ÃŒ c k 609 616 f.gml_id AS fsgml, -- möglicher Filter FlurstÃŒcks-GML-ID … … 687 694 l.stgml, -- Filter: gml_id aus "ax_lagebezeichnungkatalogeintrag" 688 695 -- UNTERSCHIED zu exp_csv 696 l.fall, -- mit/ohne Hausnummer zur Lage 689 697 -- F l u r s t ÃŒ c k 690 698 f.gml_id AS fsgml, -- möglicher Filter FlurstÃŒcks-GML-ID … … 764 772 AND dien.endet IS NULL 765 773 766 ORDER BY fs gml,-- f.flurstueckskennzeichen,774 ORDER BY fs_kennz, -- f.flurstueckskennzeichen, 767 775 gb_bezirk, -- gb.bezirk, 768 776 gb_blatt, -- gb.buchungsblattnummermitbuchstabenerweiterung, -
trunk/info/info/alkisn/alkisexport.php
r377 r378 1 1 <?php 2 2 /* Modul alkisexport.php 3 CSV-Export von ALKIS-Daten zu einem Flurstueck, Grundbuch oder EigentÃŒmer.3 CSV-Export von ALKIS-Daten zu einem Flurstueck, Grundbuch, EigentÃŒmer oder StraÃe. 4 4 Es wird eine GML-ID ÃŒbergeben. 5 5 Es wird ein gespeicherter View verwendet, der nach der gml_id gefiltert wird. … … 7 7 Die Lagebezeichnung des FlurstÃŒcks wird in ein Feld komprimiert. 8 8 Parameter Beispiele: 9 ?gkz=mandant&tabtyp=flurstueck/grundbuch/person &gmlid=DE...10 ?gkz=270&tabtyp=gemarkung&gemarkung=2662 9 ?gkz=mandant&tabtyp=flurstueck/grundbuch/person/strasse&gmlid=DE... Standard 10 ?gkz=270&tabtyp=gemarkung&gemarkung=2662 Sonderfall ganze Gemarkung 11 11 ?gkz=270&gemarkung=2662 12 Parameter Beispiele fÃŒr Fehler: 12 ?gkz=mandant&tabtyp=strasse&haus=m&gmlid=DE... Filter &haus=m/o = mit oder ohne Hausnummer 13 ?gkz=mandant&tabtyp=strasse&haus=o bei Strasse auch ohne gmlid zulÀssig - nicht verwenden wenn aus NBA unscharf geladen 14 Beispiele fÃŒr Fehler: 13 15 ?gkz=270&tabtyp=gemarkung&gmlid=2662 14 16 ?gkz=270&tabtyp=flurstueck&gemarkung=2662 … … 17 19 18 20 Version 19 2016-02-23 Version fuer norGIS-ALKIS-Import 20 2016-10-18 Export einer ganzen Gemarkung zulassen (Sonderfall bei den Parametern) 21 2016-11-29 Gemeinsam genutzte Datenbanken ermöglichen 22 23 ++ ToDo: SQL "exp_csv_str" und "exp_csv_str" optimieren 21 2016-02-23 Version fuer norGIS-ALKIS-Import 22 2016-10-18 Export einer ganzen Gemarkung zulassen (Sonderfall bei den Parametern) 23 2016-11-29 Gemeinsam genutzte Datenbanken ermöglichen 24 2017-02-23 Filter mit/ohne Hausnummer zum Typ "strasse". 25 Dazu muss der View "exp_csv_str" um die spalte "fall" erweitert werden. 26 Siehe Datei "x_classic2norgis.sql" in /OSGeo4W64/apps/alkis-import/postcreate.d/ 27 Sonderfall: Auch Export zu *allen* StraÃen der Stadt ohne Filter "gmlid". 24 28 */ 25 29 … … 57 61 // HIER START // 58 62 59 $gkz=''; $tabtyp = ''; $gemarkung=''; $gmlid=''; // erwartete Parameter initialisieren63 $gkz=''; $tabtyp = ''; $gemarkung=''; $gmlid=''; $haus=''; // mögliche Parameter initialisieren 60 64 $cntget = extract($_GET); // aktuelle Parameter aus URL auslesen 61 65 require_once("alkis_conf_location.php"); // Konfiguration laden … … 63 67 64 68 if ($tabtyp == '') { // Parameter (-kombinationen) pruefen 65 if ($gemarkung == '') { // Beim Wert "gmlid" MUSS man die Tabelle dazu nennen 66 exit ("Fehler: Art des Suchfilters nicht angeben."); 67 } else { // Art des Wertes bestimmt eindeutig den Filter 69 if ($gemarkung != '') { // Dieser Parameters bestimmt auch eindeutig den $tabtyp 68 70 $tabtyp = 'gemarkung'; 71 } else { // Bei "gmlid" MUSS man zwingend die Tabelle dazu nennen 72 $err="Fehler: Art des Suchfilters nicht angeben."; 73 echo "\n".$err; exit ($err); 69 74 } 70 75 } elseif ($tabtyp == 'gemarkung') { 71 76 if ($gemarkung == '') { 72 exit ("Fehler: Gemarkungsnummer nicht angeben."); 73 } 74 } 75 if ($gmlid == '') { 76 if ($gemarkung == '') { 77 exit ("Fehler: Kein Wert fuer die Suche angegeben."); 78 } else { // Wert fÃŒr Gemarkungsnummer angegeben 77 $err="Fehler: Gemarkungsnummer nicht angeben."; 78 echo "\n".$err; exit ($err); 79 } 80 } 81 82 if ($gmlid != '') { // Angabe von gmlid ist der Normalfall, das passt fÃŒr fast jeden tabtyp 83 if ($tabtyp == 'strasse' and $haus != '') { // den Zusatzfilter m/o im Dateinamen dokumentieren 84 if ($haus == 'm') { 85 $filename='alkis_'.$tabtyp.'_'.$gmlid.'_mit_hsnr.csv'; 86 } else { // = o 87 $filename='alkis_'.$tabtyp.'_'.$gmlid.'_ohne_hsnr.csv.csv'; 88 } 89 } else { 90 $filename='alkis_'.$tabtyp.'_'.$gmlid.'.csv'; 91 } 92 } else { // Oh Oh! Keine gmlid! - Alternativen? 93 if ($gemarkung != '') { // Sonderfall 1 - Gemarkungsnummer statt gmlid als Filter 79 94 if ($tabtyp != 'gemarkung') { 80 exit ("Fehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Wert fuer Gemarkungsnummer."); 95 $err = "Fehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Wert fuer Gemarkungsnummer."; 96 echo "\n".$err; exit ($err); 81 97 } 82 98 $filename='alkis_'.$tabtyp.'_'.$gemarkung.'.csv'; 83 } 84 } else { // alles gut 85 $filename='alkis_'.$tabtyp.'_'.$gmlid.'.csv'; 99 100 /* // $gmlid zu strasse noch notwendig solange kein Filter auf "Gemeinde" verwendet wird. 101 } elseif ($haus == 'm' or $haus == 'o') { // Sonderfall 2 - alle mit/ohne Hausnummer, nur ÃŒber View "exp_csv_str" möglich 102 if ($tabtyp != 'strasse') { 103 $err="Fehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Wert fuer Haus."; 104 echo "\n".$err; exit ($err); 105 } 106 if ($haus == 'm') { // den Zusatzfilter m/o im Dateinamen dokumentieren 107 $filename='alkis_'.$tabtyp.'_mit_hsnr.csv'; 108 } else { 109 $filename='alkis_'.$tabtyp.'_ohne_hsnr.csv'; 110 } 111 */ 112 } else { 113 $err= "Fehler: Kein passender Wert fuer die Suche angegeben."; 114 echo "\n".$err; exit ($err); 115 } 86 116 } 87 117 … … 95 125 // Datenbank-Verbindung 96 126 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisexport.php'"); 97 if (!$con) {exit("Fehler beim Verbinden der DB");} 127 if (!$con) { 128 $err= "Fehler beim Verbinden der DB"; 129 echo "\n".$err; exit($err); 130 } 98 131 pg_set_client_encoding($con, 'LATIN1'); // FÃŒr Excel kein UTF8 ausgeben 99 132 … … 121 154 break; 122 155 default: 123 exit("Falscher Parameter '".$tabtyp."'"); 156 $err= "Falscher Parameter '".$tabtyp."'"; 157 echo "\n".$err; exit($err); 124 158 break; 125 159 } … … 128 162 $sql="SELECT * FROM ".$viewname." WHERE ".$filter." = $1 "; 129 163 164 if ($haus != '') { // nur FS mit/ohne verschlÃŒsselter Lagebezeichnung 165 if ($gmlid == '') { // m/o-Filter als einziger Filter 166 $sql="SELECT * FROM ".$viewname." WHERE fall='".$haus."' "; // Ersetzen 167 $v=array(); // kein Filter-Feld 168 // ToDo: Filter auf Gemeinde notwendig, wenn nicht auf strasse gefiltert wird. 169 // - Sonst Ausgabe von Rand-FlurstÃŒcken (bei geometrischer Filterung des NBA-Verfahrens) 170 // - Sonst ggf. Ausgabe Kreisgebiet 171 } else { // als zusÀtzlicher Filter 172 $sql.="AND fall='".$haus."' "; // m/o-Filter AnhÀngen 173 } 174 } 175 130 176 $res=pg_prepare("", $sql); 131 177 $res=pg_execute("", $v); 132 if (!$res) {exit("Fehler bei Datenbankabfrage");} 178 if (!$res) { 179 $err= "Fehler bei Datenbankabfrage"; 180 echo "\n".$err; exit($err); 181 } 133 182 $i=1; // Kopfzeile zÀhlt mit 134 183 $fsalt=''; … … 236 285 } 237 286 pg_free_result($res); 238 if ($i == 1) {exit ("Kein Treffer fuer gml_id=".$gmlid);} // nur Kopfzeile 287 if ($i == 1) { // nur Kopf 288 $err= "Kein Treffer fuer gml_id='".$gmlid."'"; 289 echo "\n".$err; exit ($err); 290 } 239 291 pg_close($con); 240 292 exit(0); -
trunk/info/info/alkisn/alkisstrasse.php
r377 r378 9 9 2016-02-24 Version fuer norGIS-ALKIS-Import 10 10 2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen, SQL optimiert (FS-Liste jetzt schneller) 11 2017-02-23 Neuer Parameter &haus=m/o zum alkisexport.php 12 13 ToDo: Neuen Parameter haus=m/o zum ALKISexport (alkisexport.php) bedienen 11 14 */ 12 15 session_start(); … … 28 31 <link rel="shortcut icon" type="image/x-icon" href="ico/Strassen.ico"> 29 32 <script type="text/javascript"> 30 function ALKISexport( ) {31 window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=strasse&gmlid=".$gmlid." '"; ?>);33 function ALKISexport(phaus) { 34 window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=strasse&gmlid=".$gmlid."&haus='"; ?> + phaus); 32 35 } 33 36 </script> … … 219 222 <a title="zurück" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zurück"></a> 220 223 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a> 221 <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.png" width="16" height="16" alt="Export"></a> 224 <a title="Export als CSV" href='javascript:ALKISexport("")'><img src="ico/download.png" width="16" height="16" alt="Export"></a> 225 <a title="CSV - nur Flurstücke mit Hausnummer" href='javascript:ALKISexport("m")'>mit HsNr<img src="ico/download.png" width="16" height="16" alt="Export"></a> 226 <a title="CSV - nur Flurstücke ohne Hausnummer" href='javascript:ALKISexport("o")'>ohne<img src="ico/download.png" width="16" height="16" alt="Export"></a> 222 227 </div> 223 228
Note: See TracChangeset
for help on using the changeset viewer.