Der ALKIS WMS mit Auskunft kann ebenfalls in Mapbender3 integriert werden. == Demo == http://postnas.mapbender3.org/ == Infoabfrage == Hierzu muss ein angepasstes Infotemplate in der Mapdatei verwendet werden: * LAYER ax_flurstueck: * https://trac.wheregroup.com/PostNAS/export/297/trunk/umn/alkis/templates/alkis_fs_mb3.html * Verwendung ohne HEADER und FOOTER {{{ TEMPLATE './template/alkis_fs_mb3.html' }}} 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 === * Verzeichnis info liegt im Verzeichnis web in Mapbender3 (https://trac.wheregroup.com/PostNAS/browser/trunk/info) {{{ 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 2. SearchRouter als Element in die Anwendung einbinden * siehe http://doc.mapbender3.org/en/bundles/Mapbender/CoreBundle/elements/search_router.html * es muss der SearchRouter und ein Button zum Steuern eingebunden werden 3. Views für die Suchen erzeugen * View Flurstückssuche {{{ Drop view qry_mb3_ax_flurstueck_suche; Create view qry_mb3_ax_flurstueck_suche as SELECT gml_id, gemarkungsnummer::text as gemarkungsnummer, flurnummer::text as flurnummer, zaehler::text as zaehler, nenner::text as nenner, replace(flurstueckskennzeichen,'_','') as flurstueckskennzeichen , f.wkb_geometry as the_geom_etrs FROM ax_flurstueck f ORDER BY f.zaehler, f.nenner ; }}} * View Adresssuche {{{ Drop view qry_mb3_adresse_suche; Create view qry_mb3_adresse_suche as SELECT replace (h.hausnummer, ' ','') AS hausnummer,h.gemeinde::text gemeinde, h.kreis::text as kreis, g.wkb_geometry AS the_geom_etrs, h.lage, k.bezeichnung FROM ax_lagebezeichnungmithausnummer h JOIN alkis_beziehungen v ON h.gml_id=v.beziehung_zu JOIN ax_gebaeude g ON v.beziehung_von=g.gml_id JOIN ax_lagebezeichnungkatalogeintrag as k ON h.lage=k.lage WHERE v.beziehungsart='zeigtAuf' ORDER BY k.bezeichnung, lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2); }}} * neue Tabelle für die Eigentümersuche {{{ CREATE TABLE mb3_eigentuemer_suche_union AS SELECT * 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.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 = b.land AND g.bezirk = b.bezirk JOIN alkis_beziehungen bgs ON bgs.beziehung_zu = g.gml_id JOIN ax_buchungsstelle s ON s.gml_id = bgs.beziehung_von JOIN ax_buchungsstelle_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 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.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 = b.land AND g.bezirk = b.bezirk JOIN alkis_beziehungen bgs ON bgs.beziehung_zu = g.gml_id JOIN ax_buchungsstelle s ON s.gml_id = bgs.beziehung_von JOIN ax_buchungsstelle_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) AS 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 - flurnummer - zaehler - nenner - flurstueckskennzeichen geometry_attribute: the_geom_etrs form: gemarkungsnummer: type: text options: required: false compare: exact flurnummer: type: text options: required: false compare: exact zaehler: type: text options: required: false compare: exact nenner: type: text options: required: false compare: exact results: view: table headers: flurstueckskennzeichen: Flurstückskennzeichen callback: event: click options: buffer: 40 minScale: null maxScale: null }}} * Konfiguration Adressuche {{{ class: Mapbender\CoreBundle\Component\SQLSearchEngine class_options: connection: alkis relation: qry_mb3_adresse_suche attributes: - kreis - gemeinde - bezeichnung - hausnummer geometry_attribute: the_geom_etrs form: gemeinde: type: text options: required: false compare: exact bezeichnung: type: text options: required: false label: Straße attr: # HTML attributes to inject data-autocomplete: on # this triggers autocomplete data-autocomplete-distinct: on compare: ilike hausnummer: type: text options: required: false compare: exact results: view: table headers: bezeichnung: Straße hausnummer: Hausnummer callback: event: click options: buffer: 40 minScale: null maxScale: null }}} Gemeinde mit Auswahlbox {{{ gemeinde: type: text 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: mb3_eigentuemer_suche_union attributes: - gb_blatt - buchgsart - gemeinde - nachname - bezirkname - fs_zaehler - flurstueckskennzeichen geometry_attribute: geom form: gb_blatt: type: text options: required: false compare: exact buchgsart: type: text options: required: false compare: exact bezirkname: type: text options: required: false compare: exact fs_zaehler: type: text options: required: false compare: exact nachname: type: text options: required: false compare: ilike results: view: table headers: flurstueckskennzeichen: Flstk. vorname: Vorname nachname: Nachname gb_blatt: Grundbuchblatt buchgsart: Buchungsart callback: event: click options: buffer: 40 minScale: null maxScale: null }}}