Ignore:
Timestamp:
11/09/18 14:17:35 (5 years ago)
Author:
frank.jaeger
Message:

Anpassung der ALKIS-Auskunft (PHP) an die Full-Schema-Version des ALKIS-Importers 3.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkisn/alkisfsnw.php

    r405 r412  
    2121        2018-04-23 Umfangreiche Überarbeitung der "Buchungsstellen" 
    2222        2018-05-03 Anpassung fÃŒr GrundstÃŒcksnachweis 
     23        2018-11-09 Umstellung Full-Schema 
    2324 
    2425++ToDo: 
     
    128129 
    129130// F L U R S T U E C K  m. Gebiet 
    130 $sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae,  
     131$sql ="SELECT f.zeigtaufexternes_name, f.flurnummer, f.zaehler, f.nenner, f.gemeindezugehoerigkeit_regierungsbezirk, f.gemeindezugehoerigkeit_kreis, f.gemeindezugehoerigkeit_gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae,  
    131132to_char(cast(f.zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, f.istgebucht, g.gemarkungsnummer, g.bezeichnung,  
    132133r.bezeichnung AS rbez, k.bezeichnung AS kbez, m.bezeichnung AS mbez  
    133134FROM ax_flurstueck f  
    134 LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    135 LEFT JOIN ax_regierungsbezirk r ON f.regierungsbezirk=r.regierungsbezirk  
    136 LEFT JOIN ax_kreisregion k ON f.regierungsbezirk=k.regierungsbezirk AND f.kreis=k.kreis  
    137 LEFT JOIN ax_gemeinde m ON m.regierungsbezirk=f.regierungsbezirk AND m.kreis=f.kreis AND m.gemeinde=f.gemeinde 
     135LEFT JOIN ax_gemarkung g ON f.gemeindezugehoerigkeit_land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
     136LEFT JOIN ax_regierungsbezirk r ON f.gemeindezugehoerigkeit_regierungsbezirk=r.regierungsbezirk  
     137LEFT JOIN ax_kreisregion k ON f.gemeindezugehoerigkeit_regierungsbezirk=k.regierungsbezirk AND f.gemeindezugehoerigkeit_kreis=k.kreis  
     138LEFT JOIN ax_gemeinde m ON m.regierungsbezirk=f.gemeindezugehoerigkeit_regierungsbezirk AND m.kreis=f.gemeindezugehoerigkeit_kreis AND m.gemeinde=f.gemeindezugehoerigkeit_gemeinde 
    138139WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL AND m.endet IS NULL AND k.endet IS NULL AND r.endet IS NULL;"; 
     140 
    139141$v = array($gmlid); // mit gml_id suchen 
    140142$res = pg_prepare("", $sql); 
     
    147149        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    148150        $gmkgnr=$row["gemarkungsnummer"]; 
    149         $bezirk=$row["regierungsbezirk"]; 
     151        $bezirk=$row["gemeindezugehoerigkeit_regierungsbezirk"]; 
    150152        $rbez=htmlentities($row["rbez"], ENT_QUOTES, "UTF-8"); 
    151         $kreis=$row["kreis"]; 
     153        $kreis=$row["gemeindezugehoerigkeit_kreis"]; 
    152154        $kbez=htmlentities($row["kbez"], ENT_QUOTES, "UTF-8"); 
    153         $gemeinde=$row["gemeinde"]; 
     155        $gemeinde=$row["gemeindezugehoerigkeit_gemeinde"]; 
    154156        $mbez=htmlentities($row["mbez"], ENT_QUOTES, "UTF-8"); 
    155157        $flurnummer=$row["flurnummer"]; 
     
    165167        $entsteh=$row["zeitpunktderentstehung"]; 
    166168        $gml_buchungsstelle=$row["istgebucht"]; // wird erst im GB-Teil benötigt 
    167         $name=$row["name"]; // Fortfuehrungsnummer(n) 
    168         $arrn = explode(",", trim($name, "{}") ); // PHP-Array 
     169        $ffnr=$row["zeigtaufexternes_name"]; // Fortfuehrungsnummer(n) 
     170        $arrn=explode(",", trim($ffnr, "{}") ); // PHP-Array 
    169171} else { 
    170172        echo "\n<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ck mit gml_id=".$gmlid."</p>"; 
     
    462464 
    463465// BodenschÀtzungs-Abschnitte mit FlurstÃŒcken verschneiden, Spalten entschlÃŒsseln 
    464 $sql="SELECT kulturart.k AS kulturartk, kulturart.v AS kulturartv, 
    465  bodenart.k  AS bodenartk,  bodenart.v  AS bodenartv, 
    466  zustbod.v AS zustbodv, 
     466$sql="SELECT b.kulturart AS kulturartk, kulturart.beschreibung AS kulturartv, 
     467 b.bodenart AS bodenartk, bodenart.beschreibung AS bodenartv, zustbod.beschreibung AS zustbodv, 
    467468 b.entstehungsartoderklimastufewasserverhaeltnisse AS entsteh, b.sonstigeangaben, 
    468469 b.bodenzahlodergruenlandgrundzahl as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl, 
     
    470471FROM ax_flurstueck f 
    471472JOIN ax_bodenschaetzung b ON st_intersects(b.wkb_geometry, f.wkb_geometry) AND st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) > 0.05 
    472 LEFT JOIN alkis_wertearten AS bodenart  ON cast(b.bodenart  AS character varying) = bodenart.k  AND bodenart.element='ax_bodenschaetzung'  AND bodenart.bezeichnung='bodenart' 
    473 LEFT JOIN alkis_wertearten AS kulturart ON cast(b.kulturart AS character varying) = kulturart.k AND kulturart.element='ax_bodenschaetzung' AND kulturart.bezeichnung='kulturart' 
    474 LEFT JOIN alkis_wertearten AS zustbod   ON cast(b.zustandsstufeoderbodenstufe AS character varying) = zustbod.k AND zustbod.element='ax_bodenschaetzung' AND zustbod.bezeichnung='zustandsstufeoderbodenstufe' 
     473LEFT JOIN ax_bodenart_bodenschaetzung bodenart ON b.bodenart = bodenart.wert 
     474LEFT JOIN ax_kulturart_bodenschaetzung kulturart ON b.kulturart = kulturart.wert 
     475LEFT JOIN ax_zustandsstufeoderbodenstufe_bodenschaetzung zustbod ON b.zustandsstufeoderbodenstufe = zustbod.wert 
    475476WHERE f.gml_id = $1 AND f.endet IS NULL AND b.endet IS NULL ORDER BY schnittflae DESC"; 
    476477 
     
    558559 
    559560// H i n w e i s  auf Bodenneuordnung oder eine strittige Grenze 
    560 $sql_boden ="SELECT a.k AS wert, a.v AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
     561$sql_boden ="SELECT b.artderfestlegung AS wert, a.beschreibung AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
    561562b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key  
    562563FROM ax_bauraumoderbodenordnungsrecht b  
    563 LEFT JOIN alkis_wertearten a ON cast(b.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung' 
     564LEFT JOIN ax_artderfestlegung_bauraumoderbodenordnungsrecht a ON b.artderfestlegung = a.wert 
    564565LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle  
    565566WHERE b.endet IS NULL AND d.endet IS NULL   
Note: See TracChangeset for help on using the changeset viewer.