gws.plugin.alkis¶
ALKIS cadastre search.
This plugin provides the “Flurstueckssuche”: a search for land parcels (Flurstuecke) and addresses in ALKIS cadastre data stored in PostgreSQL, the display and printing of parcel details, protected access to land register (Buchung) and owner (Eigentuemer) data, and the export of parcel data.
The ALKIS source tables (for example, imported by the Norbit plugin) are not
searched directly. A command line indexer reads them once and writes a set of
GWS index tables into a separate schema (indexSchema). All searches run
against this index.
Submodules¶
action- thealkisaction. It configures the index, templates, printers, exporters and the selection storage, checks access to owner and register data, logs owner data access, and implements the API commandsalkisGetToponyms,alkisFindAdresse,alkisFindFlurstueck,alkisExportFlurstueck,alkisPrintFlurstueckandalkisSelectionStorage.cli- thealkiscommand line commands:index(build the index),status(check the index),export(export all parcels),keys(list export keys) anddump(write the internal representation of parcels to a JSON file).data- the data layer:data.types- records and entities (Flurstueck, Buchungsblatt, Person, Lage and others), query and option types.data.index- the index object: index tables, status, address and parcel queries, serialization of entities.data.indexer- builds the index from the source tables.data.norbit- reads source tables in the Norbit format.data.gid- the GeoInfoDok schema in use, version 6 or 7.data.exporter- exports parcels to CSV or GeoJSON.data.geo_info_dok- the GeoInfoDok 6 and 7 schemas (generated) and the generator that creates them.
templates- default HTML templates for parcel and address views and for printing.js- the client part (search form, results, selection).
Design¶
The action creates one index object per index schema. At activation, the index status is checked once and cached server-wide; a missing index is reported as a configuration warning, and if the basic index is missing, the action is not sent to the client.
Default templates and a default printer are always added after the
configured ones. Without configured exporters, a default exporter is created
when ui.useExport is set.
Owner and register data are only returned when the index contains them and
the user may read the eigentuemer and buchung options respectively.
Requesting owner data implies register data. In control mode, every owner
query requires a control input that matches one of controlRules.
Example:
actions+ {
type "alkis"
dbUid "DB_ALKIS"
dataSchema "public"
indexSchema "gws8"
crs 25832
ui {
useSelect true
useExport true
searchSpatial true
}
eigentuemer {
permissions.read "allow sachbearbeiter, deny all"
controlMode true
controlRules ["^[A-Z]{2}-\\d{4}$"]
logTable "public.alkis_log"
}
buchung {
permissions.read "allow sachbearbeiter, deny all"
}
}
Build and check the index from the command line:
gws alkis index --projectUid myproject
gws alkis status --projectUid myproject
Source code: gws.plugin.alkis