wiki:PostNASMapbender3

Version 28 (modified by ctoma, 7 years ago) (diff)

Gemeinde mit Auswahlbox über type choice

Der ALKIS WMS mit Auskunft kann ebenfalls in Mapbender3 integriert werden.

Demo

Infoabfrage

Hierzu muss ein angepasstes Infotemplate in der Mapdatei verwendet werden:

In der Funktion wird auf das Skript alkisausk.php verwiesen, das im gewohnten Verzeichnis /info im Webverzeichnis liegt.

Beispiel:

(function() {
	var selParcel = "[gml_id]";
	var link = "http://alkis.mapbender3.org/mapbender3/web/info/alkis/alkisausk.php?gkz=xxx&gmlid=" + encodeURI(selParcel);
	window.open(link,'','left=0,top=20,width=600,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbar=yes');
})();

Mapbender3

info-Verzeichnis mit den Auskunftsskripten

mapbender3/web/info

Konfigurations-Dateien

  • können in Mapbender3 unter mapbender3/app/config abgelegt werden

Verweis in der Datei alkis_conf_location.php über:

require_once(dirname(__FILE__)."/../../../app/config/alkis_www_conf.php");

Suche über den Search Router

  • über das Element Search Router können in Mapbender Suchen generiert werden
  • die ALKIS Suchen nach Flurstück, Eigentümer und Adresse können so in Mapbender integriert werden
  1. Datenbank einbinden

Einbinden einer weiteren Datenbank in Mapbender3 siehe http://doc.mapbender3.org/en/book/database.html

  1. SearchRouter? als Element in die Anwendung einbinden
  1. Views für die Suchen erzeugen
  • View Flurstückssuche
    Drop view qry_mb3_ax_flurstueck_suche;
    CREATE OR REPLACE VIEW public.qry_mb3_ax_flurstueck_suche AS 
     SELECT f.gml_id,
        ge.gemeinde,
        ge.gemeindename,
        f.gemarkungsnummer::text AS gemarkungsnummer,
        f.beginnt,
        f.endet,
        g.gemarkung,
        g.gemarkungsname,
        g.land,
        g.regierungsbezirk,
        g.kreis,
        f.flurnummer::text AS flurnummer,
        f.zaehler::text AS zaehler,
        f.nenner::text AS nenner,
        replace(f.flurstueckskennzeichen::text, '_'::text, ''::text) AS flurstueckskennzeichen,
        f.wkb_geometry AS the_geom_etrs
       FROM ax_flurstueck f
         LEFT JOIN pp_gemarkung g ON f.gemarkungsnummer::text = g.gemarkung::text
         LEFT JOIN pp_gemeinde ge ON g.kreis::text = ge.kreis::text AND g.gemeinde::text = ge.gemeinde::text
      WHERE f.endet IS NULL AND NOT (f.flurstueckskennzeichen IN ( SELECT ax_historischesflurstueck.flurstueckskennzeichen
               FROM ax_historischesflurstueck));}}}
    
  • View Adresssuche
    Drop view qry_mb3_adresse_suche;
    CREATE OR REPLACE VIEW qry_mb3_adresse_suche AS 
    	SELECT p.ogc_fid,
    	    p.drehwinkel * 57.296::double precision AS drehwinkel,
    	    l.hausnummer as hausnummer,
    	    m.gemeinde::text AS gemeinde,
    	    m.bezeichnung AS gemeindename,
    	    k.bezeichnung AS strasse,
    	    l.lage AS strschl,
    	    m.kreis::text AS kreis,
    	    p.wkb_geometry
    	     FROM ap_pto p
    	     JOIN alkis_beziehungen v ON p.gml_id = v.beziehung_von
    	     JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu = l.gml_id
    	     JOIN ax_lagebezeichnungkatalogeintrag k ON l.kreis::text = k.kreis::text AND l.gemeinde::text = k.gemeinde::text AND l.lage::text = k.lage::text
                JOIN ax_gemeinde m ON l.gemeinde::text = m.gemeinde::text AND l.kreis::text = m.kreis::text
                WHERE p.art::text = 'HNR'::text AND v.beziehungsart::text ='dientZurDarstellungVon'::text AND p.endet IS NULL AND l.endet IS NULL;
    
  • Alternativ: View Adresssuche
    Drop view qry_mb3_adresse_suche;
    "''"}}}
    
    
    * neue Tabelle für die Eigentümersuche 
    
    {{{
    -- DROP VIEW public.qry_mb3_eigentuemer_suche_union;
    
    CREATE OR REPLACE VIEW public.qry_mb3_eigentuemer_suche_union AS 
     SELECT foo.flurstueckskennzeichen,
        foo.flur,
        foo.fs_zaehler,
        foo.fs_nenner,
        foo.flaeche,
        foo.geom,
        foo.bezirkname,
        foo.gb_blatt,
        foo.blattart,
        foo.bvnr,
        foo.buchgsartwert,
        foo.buchgsart,
        foo.name_num,
        foo.nachname,
        foo.vorname
       FROM ( SELECT f.flurstueckskennzeichen,
                f.flurnummer AS flur,
                f.zaehler AS fs_zaehler,
                f.nenner AS fs_nenner,
                f.amtlicheflaeche AS flaeche,
                f.wkb_geometry AS geom,
                b.bezeichnung AS bezirkname,
                g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
                g.blattart,
                s.laufendenummer AS bvnr,
                art.wert AS buchgsartwert,
                art.bezeichner AS buchgsart,
                n.laufendenummernachdin1421 AS name_num,
                p.nachnameoderfirma AS nachname,
                p.vorname
               FROM ax_person p
                 JOIN alkis_beziehungen bpn ON bpn.beziehung_zu = p.gml_id
                 JOIN ax_namensnummer n ON bpn.beziehung_von = n.gml_id
                 JOIN alkis_beziehungen bng ON n.gml_id = bng.beziehung_von
                 JOIN ax_buchungsblatt g ON bng.beziehung_zu = g.gml_id
                 JOIN ax_buchungsblattbezirk b ON g.land::text = b.land::text AND g.bezirk::text = b.bezirk::text
                 JOIN alkis_beziehungen bgs ON bgs.beziehung_zu = g.gml_id
                 JOIN ax_buchungsstelle s ON s.gml_id = bgs.beziehung_von
                 JOIN v_bs_buchungsart art ON s.buchungsart = art.wert
                 JOIN alkis_beziehungen bf ON s.gml_id = bf.beziehung_zu
                 JOIN ax_flurstueck f ON f.gml_id = bf.beziehung_von
              WHERE n.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL AND f.endet IS NULL
            UNION
             SELECT f.flurstueckskennzeichen,
                f.flurnummer AS flur,
                f.zaehler AS fs_zaehler,
                f.nenner AS fs_nenner,
                f.amtlicheflaeche AS flaeche,
                f.wkb_geometry AS geom,
                b.bezeichnung AS bezirkname,
                g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
                g.blattart,
                s.laufendenummer AS bvnr,
                art.wert AS buchgsartwert,
                art.bezeichner AS buchgsart,
                n.laufendenummernachdin1421 AS name_num,
                p.nachnameoderfirma AS nachname,
                p.vorname
               FROM ax_person p
                 JOIN alkis_beziehungen bpn ON bpn.beziehung_zu = p.gml_id
                 JOIN ax_namensnummer n ON bpn.beziehung_von = n.gml_id
                 JOIN alkis_beziehungen bng ON n.gml_id = bng.beziehung_von
                 JOIN ax_buchungsblatt g ON bng.beziehung_zu = g.gml_id
                 JOIN ax_buchungsblattbezirk b ON g.land::text = b.land::text AND g.bezirk::text = b.bezirk::text
                 JOIN alkis_beziehungen bgs ON bgs.beziehung_zu = g.gml_id
                 JOIN ax_buchungsstelle s ON s.gml_id = bgs.beziehung_von
                 JOIN v_bs_buchungsart art ON s.buchungsart = art.wert
                 JOIN alkis_beziehungen bg ON s.gml_id = bg.beziehung_von
                 JOIN ax_buchungsstelle bs ON bs.gml_id = bg.beziehung_zu
                 JOIN alkis_beziehungen bf ON bs.gml_id = bf.beziehung_zu
                 JOIN ax_flurstueck f ON f.gml_id = bf.beziehung_von
              WHERE n.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL AND f.endet IS NULL) foo;
    
    }}}
     
    * View Grundbuchsuche
    
    {{{
    
    -- DROP VIEW qry_mb3_grundbuch_suche;
    
    CREATE OR REPLACE VIEW qry_mb3_grundbuch_suche AS 
     SELECT foo.buchungsart,
        foo.bezirkname,
        foo.bezirk,
        foo.gb_blatt,
        foo.blattart,
        foo.flurstueckskennzeichen,
        foo.geom,
        foo.endet
       FROM ( SELECT s.buchungsart,
                b.bezeichnung AS bezirkname,
                b.bezirk,
                g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
                g.blattart,
                f.flurstueckskennzeichen,
                f.wkb_geometry AS geom,
                f.endet
               FROM ax_buchungsblatt g
                 JOIN ax_buchungsblattbezirk b ON g.land::text = b.land::text AND g.bezirk::text = b.bezirk::text
                 JOIN alkis_beziehungen bgs ON bgs.beziehung_zu = g.gml_id
                 JOIN ax_buchungsstelle s ON s.gml_id = bgs.beziehung_von
                 JOIN v_bs_buchungsart art ON s.buchungsart = art.wert
                 JOIN alkis_beziehungen bf ON s.gml_id = bf.beziehung_zu
                 JOIN ax_flurstueck f ON f.gml_id = bf.beziehung_von
              WHERE g.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL AND f.endet IS NULL
            UNION
             SELECT s.buchungsart,
                b.bezeichnung AS bezirkname,
                b.bezirk,
                g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
                g.blattart,
                f.flurstueckskennzeichen,
                f.wkb_geometry AS geom,
                f.endet
               FROM ax_buchungsblatt g
                 JOIN ax_buchungsblattbezirk b ON g.land::text = b.land::text AND g.bezirk::text = b.bezirk::text
                 JOIN alkis_beziehungen bgs ON bgs.beziehung_zu = g.gml_id
                 JOIN ax_buchungsstelle s ON s.gml_id = bgs.beziehung_von
                 JOIN v_bs_buchungsart art ON s.buchungsart = art.wert
                 JOIN alkis_beziehungen bg ON s.gml_id = bg.beziehung_von
                 JOIN ax_buchungsstelle bs ON bs.gml_id = bg.beziehung_zu
                 JOIN alkis_beziehungen bf ON bs.gml_id = bf.beziehung_zu
                 JOIN ax_flurstueck f ON f.gml_id = bf.beziehung_von
              WHERE g.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL AND f.endet IS NULL) foo;
    
             
    }}}
    
    
    4. Konfiguration des SearchRouters
    
    * '''Flurstückssuche''' - für die Flurstücke wurde die Konfiguration bereits umgesetzt
    
    * nur Flurstückssuche
    {{{
    
    class: Mapbender\CoreBundle\Component\SQLSearchEngine
    class_options:
      connection: alkis
      relation: qry_mb3_ax_flurstueck_suche
      attributes:
        - gml_id
        - gemarkungsnummer
        - gemarkungsname
        - flurnummer
        - zaehler
        - nenner
        - flurstueckskennzeichen
      geometry_attribute: the_geom_etrs
    form:
      gemarkungsnummer:
        type: text
        options:
          required: false
        compare: exact
      flurnummer:
        type: text
        options:
          label: Flur
          required: false
          attr:
            data-autocomplete: 'on'
            data-autocomplete-distinct: 'on'
            data-autocomplete-using: gemarkungsname
      zaehler:
        type: text
        options:
          label: Zähler
          required: true
          attr:
            data-autocomplete: 'on'
            data-autocomplete-distinct: 'on'
            data-autocomplete-using: gemarkungsname
      nenner:
        type: text
        options:
          label: Nenner
          required: false
          attr:
            data-autocomplete: 'on'
            data-autocomplete-distinct: 'on'
            data-autocomplete-using: gemarkungsname
    results:
      view: table
      headers:
        flurnummer: Flur
        zaehler: Zähler
        nenner: Nenner
        gemarkungsnummer: Gemarkung
      callback:
        event: click
        options:
          buffer: 50
    				
    }}}
    
    
    
    * Konfiguration Adressuche
    {{{
    class: Mapbender\CoreBundle\Component\SQLSearchEngine
    class_options:
      connection: alkis
      relation: qry_mb3_adresse_suche
      attributes:
        - kreis
        - gemeindename
        - hausnummer
        - gemeindename
        - strasse
      geometry_attribute: the_geom_etrs
    form:
      gemeindename:
        type: text
        options:
          required: false
      strasse:
        type: text
        options:
          label: Straße
          required: false
          attr:
            data-autocomplete: 'on'
            data-autocomplete-distinct: 'on'
            data-autocomplete-using: gemeindename
      hausnummer:
        type: text
        options:
          label: Hausnummer
          required: false
          attr:
            data-autocomplete: 'on'
            data-autocomplete-distinct: 'on'
            data-autocomplete-using: bezeichnung
    results:
      view: table
      headers:
        strasse: Straße
        hausnummer: Hausnr.
        gemeindename: Ort
      callback:
        event: click
        options:
          buffer: 50
    }}}
    
    Gemeinde mit Auswahlbox
    {{{
        gemeinde:
            type: choice
            options:
                empty_value: ...bitte Gemeinde auswählen
                choices:
                    103: Osann-Monzel
                    104: Test
    
    }}}
    
    
    * Konfiguration Eigentümersuche
    {{{
    class: Mapbender\CoreBundle\Component\SQLSearchEngine
    class_options:
      connection: alkis
      relation: qry_mb3_eigentuemer_suche_union
      attributes:
        - gb_blatt
        - buchgsart
        - nachname
        - vorname
        - bezirkname
        - fs_zaehler
        - fs_nenner
        - flur
        - flurstueckskennzeichen
      geometry_attribute: geom
    form:
      nachname:
        type: text
        options:
          label: Nachname
          required: false
        compare: ilike
      vorname:
        type: text
        options:
          label: Vorname
          required: false
        compare: ilike
      gb_blatt:
        type: text
        options:
          label: 'Grundbuchblattnummer (GB-NR)'
          required: false
        compare: exact
      bezirkname:
        type: text
        options:
          label: Bezirk
          required: false
          attr:
            data-autocomplete: 'on'
            data-autocomplete-distinct: 'on'
            data-autocomplete-using: flur
      flur:
        type: text
        options:
          label: Flur
          required: false
          attr:
            data-autocomplete: 'on'
            data-autocomplete-distinct: 'on'
            data-autocomplete-using: flur
      fs_zaehler:
        type: text
        options:
          label: Zähler
          required: false
          attr:
            data-autocomplete: 'on'
            data-autocomplete-distinct: 'on'
            data-autocomplete-using: flur
      fs_nenner:
        type: text
        options:
          label: Nenner
          required: false
          attr:
            data-autocomplete: 'on'
            data-autocomplete-distinct: 'on'
            data-autocomplete-using: flur
    results:
      view: table
      headers:
        nachname: Nachname
        vorname: Vorname
        flurstueckskennzeichen: Flstk.
        gb_blatt: GB-NR
        bezirkname: Bezirk
        flur: Flur
      callback:
        event: click
        options:
          buffer: 40
          minScale: null
          maxScale: null
    }}}
    * Konfiguration Grundbuchsuche
    {{{
    ###
    }}}
    

Attachments