Changeset 333 for trunk/info/info/alkis/alkisfsnw.php
- Timestamp:
- 09/15/14 15:11:32 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkis/alkisfsnw.php
r330 r333 21 21 2014-02-06 Korrektur 22 22 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 23 2014-09-1 0Bei Relationen den Timestamp abschneiden23 2014-09-15 Bei Relationen den Timestamp abschneiden 24 24 25 25 ToDo: … … 95 95 // Feld flurstueckskennzeichen ist in DB indiziert 96 96 // Format z.B.'052647002001910013__' oder '05264700200012______' 97 $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 ;";97 $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 AND endet IS NULL ;"; 98 98 99 99 $v = array($fskzdb); … … 195 195 196 196 // G e m e i n d e 197 $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3 ";197 $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3 AND endet IS NULL;"; 198 198 199 199 $v = array($bezirk,$kreis,$gemeinde); … … 224 224 225 225 // K r e i s 226 $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2 ";226 $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2 AND endet IS NULL;"; 227 227 $v = array($bezirk,$kreis); 228 228 $res = pg_prepare("", $sql); … … 242 242 243 243 // R e g - B e z 244 $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 ";244 $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 AND endet IS NULL;"; 245 245 $v = array($bezirk); 246 246 $res = pg_prepare("", $sql); … … 267 267 FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16) = ANY(f.weistauf) 268 268 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 269 WHERE f.gml_id= $1 ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 269 WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL 270 ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 270 271 271 272 $v = array($gmlid); … … 316 317 FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON substring(l.gml_id,1,16)=ANY(f.zeigtauf) 317 318 LEFT 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 318 WHERE f.gml_id = $1 ;";319 WHERE f.gml_id = $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL;"; 319 320 320 321 $v = array($gmlid); … … 370 371 // ** N U T Z U N G ** Gemeinsame FlÀche von NUA und FS 371 372 // Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben 372 $sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe, ";373 $sql.="st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla "; 374 $sql.="FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id "; 375 $sql.="LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class "; 376 $sql.="WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true "; // id FS, ueberlappende Flaechen 377 $sql.="AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 "; // unter Rundung 378 $sql.="ORDER BY schnittflae DESC;";373 $sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe, 374 st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla 375 FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id 376 LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class 377 WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true 378 AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 379 AND f.endet IS NULL ORDER BY schnittflae DESC;"; 379 380 380 381 $v = array($gmlid); … … 499 500 // b.name, b.artderfestlegung, 500 501 501 $sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, "; 502 $sql_boden.="b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key "; 503 $sql_boden.="FROM ax_bauraumoderbodenordnungsrecht b JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON a.wert=b.artderfestlegung "; 504 $sql_boden.="LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle "; 505 $sql_boden.="WHERE ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry) "; 506 $sql_boden.="OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry)"; 502 $sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, 503 b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key 504 FROM ax_bauraumoderbodenordnungsrecht b JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON a.wert=b.artderfestlegung 505 LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle 506 WHERE b.endet IS NULL AND d.endet IS NULL 507 AND ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 ), wkb_geometry) 508 OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 ), wkb_geometry)"; 509 507 510 pg_prepare($con, "bodeneuordnung", $sql_boden); 508 511 $res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid)); 509 512 510 $sql_str = "SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE 1000 = ANY(artderflurstuecksgrenze) AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry);";513 $sql_str = "SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze) AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry);"; 511 514 pg_prepare($con, "strittigeGrenze", $sql_str); 512 515 $res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid)); … … 615 618 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON substring(s.gml_id,1,16)=f.istgebucht 616 619 LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart=b.wert 617 WHERE f.gml_id= $1 ORDER BY s.laufendenummer;";620 WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL ORDER BY s.laufendenummer;"; 618 621 619 622 $v = array($gmlid); … … 631 634 632 635 // B U C H U N G S B L A T T zur Buchungsstelle (istBestandteilVon) 633 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung "; 634 $sql.="FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=s.istbestandteilvon "; 635 $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 636 $sql.="WHERE s.gml_id = $1 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 636 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung 637 FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=s.istbestandteilvon 638 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk 639 WHERE s.gml_id = $1 AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 640 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 637 641 638 642 $v = array($gmls); … … 742 746 } 743 747 744 // Buchungstelle >an> Buchungstelle >istBestandteilVon> BLATT ->Bezirk745 $sql ="SELECT sd.gml_id AS s_gml, sd.buchungsart, sd.laufendenummer as lfd, sd.zaehler, sd.nenner, sd.nummerimaufteilungsplan as nrpl, sd.beschreibungdessondereigentums as sond, ";746 $sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.bezeichner AS bart ";747 $sql.="FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an) "; // Stelle >an> Stelle748 $sql.="JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=sd.istbestandteilvon ";// Stelle >istbestandteilvon> Blatt749 $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";750 $sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON sd.buchungsart=a.wert ";751 $sql.="WHERE sh.gml_id= $1 "; // id herrschende Buchungsstelle752 $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";753 754 $v = array($gmls); 748 // Buchungstelle >an> Buchungstelle >istBestandteilVon> BLATT -> Bezirk 749 $sql ="SELECT sd.gml_id AS s_gml, sd.buchungsart, sd.laufendenummer as lfd, sd.zaehler, sd.nenner, sd.nummerimaufteilungsplan as nrpl, sd.beschreibungdessondereigentums as sond, 750 b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.bezeichner AS bart 751 FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an) 752 JOIN ax_buchungsblatt b ON substring(b.gml_id,1,16)=sd.istbestandteilvon 753 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk 754 LEFT JOIN ax_buchungsstelle_buchungsart a ON sd.buchungsart=a.wert 755 WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 756 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 757 758 $v = array($gmls); // id herrschende Buchungsstelle 755 759 $resan = pg_prepare("", $sql); 756 760 $resan = pg_execute("", $v); 757 761 if (!$resan) { 758 echo "\n<p class='err'> Keine weiteren Buchungsstellen.</p>\n";762 echo "\n<p class='err'>Fehler bei 'weitere Buchungsstellen'.</p>\n"; 759 763 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 760 764 }
Note: See TracChangeset
for help on using the changeset viewer.