Hallo Jürgen,
meine Herausforderung ist es, die Klassenzeichen der Bodenschätzung darzustellen. Dieses komplexe Element setzt sich aus verschiedenen Textbestandteilen und Zahlen zusammen.
alkis_import erzeugt dafür verschiedene Views. Momentan fehlten hier noch ein paar Views. Für die Bodenstufe (v_bschaetz_bodenstufe), Klimastufe, Entstehungsart und Wasserverhaeltnisse habe ich diese in 4_postnas-keytables.sql ergänzt.
Klimastufe, Entstehungsart und Wasserverhaeltnisse habe ich auch einzelne Views geteilt, weil in GID7.1.2 aus ehemals einer "Tabelle" ax_entstehungsartoderklimastufewasserverhaeltnisse nun die drei einzelnen Tabellen AX_Entstehungsart, AX_Klimastufe und AX_Wasserverhaeltnisse geworden sind. Das aber nur am Rande...
Das eigentliche Problem ist aber das Parsen des Textes 'Bodenstufe ("(III)")' aus AX_Bodenstufe. Als Ergebnis müsste '(III)' erzeugt werden, es wird aber 'III)"' daraus.
Erzeugen desr Views in 4_postnas-keytables.sql:
SELECT alkis_dropobject('v_bschaetz_bodenstufe');
CREATE VIEW v_bschaetz_bodenstufe AS
SELECT
wert::int AS wert
,regexp_replace( beschreibung, E'^.*\\((.*)\\)$', E'\\1') AS kurz
,beschreibung AS bezeichner
FROM ax_bodenstufe;
SELECT alkis_dropobject('v_bschaetz_klimastufe');
CREATE VIEW v_bschaetz_klimastufe AS
SELECT
wert::int AS wert
,regexp_replace( beschreibung, E'^.*\\((.*)\\)$', E'\\1') AS kurz
,beschreibung AS bezeichner
FROM ax_klimastufe;
SELECT alkis_dropobject('v_bschaetz_entstehungsart');
CREATE VIEW v_bschaetz_entstehungsart AS
SELECT
wert::int AS wert
,regexp_replace( beschreibung, E'^.*\\((.*)\\)$', E'\\1') AS kurz
,beschreibung AS bezeichner
FROM ax_entstehungsart;
SELECT alkis_dropobject('v_bschaetz_wasserverhaeltnisse');
CREATE VIEW v_bschaetz_wasserverhaeltnisse AS
SELECT
wert::int AS wert
,regexp_replace( beschreibung, E'^.*\\((.*)\\)$', E'\\1') AS kurz
,beschreibung AS bezeichner
FROM ax_wasserverhaeltnisse ;
Das Problem sind offensichtlich die doppelten Klammern im Text 'Bodenstufe ("(III)")'. Wenn man daraus den Inhalt zwischen den Anführungszeichen extrahieren möchte, kommt man scheinbar an die Grenzen von regexp_replace.
Vielleicht gibt's ja eine Lösung für die Problematik...
Mit freundlichen Grüßen
Jens
Hallo Jürgen, meine Herausforderung ist es, die Klassenzeichen der Bodenschätzung darzustellen. Dieses komplexe Element setzt sich aus verschiedenen Textbestandteilen und Zahlen zusammen. alkis_import erzeugt dafür verschiedene Views. Momentan fehlten hier noch ein paar Views. Für die Bodenstufe (v_bschaetz_bodenstufe), Klimastufe, Entstehungsart und Wasserverhaeltnisse habe ich diese in 4_postnas-keytables.sql ergänzt. Klimastufe, Entstehungsart und Wasserverhaeltnisse habe ich auch einzelne Views geteilt, weil in GID7.1.2 aus ehemals einer "Tabelle" ax_entstehungsartoderklimastufewasserverhaeltnisse nun die drei einzelnen Tabellen AX_Entstehungsart, AX_Klimastufe und AX_Wasserverhaeltnisse geworden sind. Das aber nur am Rande... Das eigentliche Problem ist aber das Parsen des Textes 'Bodenstufe ("(III)")' aus AX_Bodenstufe. Als Ergebnis müsste '(III)' erzeugt werden, es wird aber 'III)"' daraus. Erzeugen desr Views in 4_postnas-keytables.sql:
Das Problem sind offensichtlich die doppelten Klammern im Text 'Bodenstufe ("(III)")'. Wenn man daraus den Inhalt zwischen den Anführungszeichen extrahieren möchte, kommt man scheinbar an die Grenzen von regexp_replace. Vielleicht gibt's ja eine Lösung für die Problematik... Mit freundlichen Grüßen Jens