[293] | 1 | |
---|
| 2 | -- ALKIS PostNAS 0.7 |
---|
| 3 | |
---|
| 4 | -- Post Processing (pp_) Teil 3: PrÀsentationsobjekte ergÀnzen / reparieren |
---|
| 5 | |
---|
[294] | 6 | -- Dies Script "pp_praesentation_sichten.sql" dient der Vorschau der Reparatur, |
---|
[293] | 7 | -- die mit dem Script "pp_praesentation_action.sql" durchgefÃŒhrt wird. |
---|
| 8 | |
---|
[294] | 9 | -- Dies Script kann beim Anlegen der Datenbank verarbeitet werden und wenn sich die Sichten verÀndert haben. |
---|
[293] | 10 | -- Das Action-Script muss im Rahmen des Post-Processing nach jeder Konvertierung laufen. |
---|
| 11 | |
---|
| 12 | -- Stand |
---|
| 13 | -- 2013-10-16 F.J. krz: StraÃennamen fehlen in den PrÀsentationsobjekten, Tabelle "ap_pto" |
---|
[294] | 14 | -- 2013-10-17 F.J. krz: Relation "dientZurDarstellungVon" macht es einfacher |
---|
[293] | 15 | |
---|
| 16 | |
---|
| 17 | -- ======================================== |
---|
| 18 | -- StraÃen-Namen und StraÃen-Klassifikation |
---|
| 19 | -- ======================================== |
---|
| 20 | |
---|
| 21 | -- Bei den NAS-Daten, die vom Land Niedersachsen an die Kommunen abgegeben werden, |
---|
| 22 | -- tritt in zunehmenden Umfang folgendes Problem auf (Stand Oktober 2013): |
---|
| 23 | |
---|
| 24 | -- Die Namen und Klassifikationen der StraÃen fehlen in der Tabelle "ap_pto". |
---|
| 25 | -- Somit fehlt das Label fÃŒr die Darstellung des StraÃennamens in der Karte. |
---|
| 26 | -- Position und Drehwinkel sind dort aber noch vorhanden. |
---|
| 27 | |
---|
| 28 | -- Der Name, der in anderen Tabellen vorhanden ist, muss nach "ap_pto" kopiert werden, |
---|
| 29 | -- damit die WMS-Kartendarstellung wieder komplett ist. |
---|
| 30 | |
---|
| 31 | -- Tabelle: ap_pto |
---|
| 32 | -- Spalten: |
---|
| 33 | -- art: 'strasse', 'BezKlassifizierungStrasse' |
---|
| 34 | -- schriftinhalt: leer |
---|
| 35 | -- signaturnummer: ?? |
---|
| 36 | -- drehwinkel und wkb_geometry: gefÃŒllt |
---|
| 37 | |
---|
| 38 | -- Hintergrund: |
---|
| 39 | -- Der StraÃenname ist nach der Migration der ALKIS-Daten aus ALB und ALK zunÀchst redundant gespeichert worden. |
---|
| 40 | -- Er befindet sich "im Original" in "ax_lagebezeichnungkatalogeintrag.bezeichnung". |
---|
| 41 | -- FÃŒr die Darstellung im Kartenbild ist der gleiche Name oder eine Variante davon (AbkÃŒrzung, getrennt-Schreibung) |
---|
| 42 | -- auch in jedem PrÀsentationsobjekt noch einmal abgelegt. |
---|
[294] | 43 | -- Diese Redundanz fÃŒhrt bei einer Ãnderung des Namens zu einem erhöhten Aufwand, weil er an mehreren Stellen geÀndrt werden muss.. |
---|
[293] | 44 | -- Ziel ist es daher, die identischen Kopien des Namens-Textes in "ap_pto" nicht mehr zu fÃŒhren. |
---|
[294] | 45 | -- Dort ist nur noch dann ein Eintrag zu finden, wenn der Text nicht identisch sind (AbkÃŒrzung, Getrennt-Schreibung). |
---|
[293] | 46 | |
---|
[294] | 47 | -- Signaturnummern werden in ap_pto nur noch erfasst, wenn mehrere Werte möglich sind. |
---|
[293] | 48 | |
---|
| 49 | -- In Niedersachsen wurde oder wird das Löschen der identischen Texte in ap_pto möglicherweise als Nachmigration gezielt |
---|
| 50 | -- durchgefÌhrt. Die Mehrzahl der Texte ist bereits gelöscht! |
---|
| 51 | -- In NRW tritt dies erst seit dem letzten Update der EQK (ibR, Stand Oktober 2013) zunÀchst bei den FÀllen auf, |
---|
| 52 | -- die seit dem Update fortgefÃŒhrt wurden. Eine groÃflÀchige gezielte Entfernung wurde nicht bemerkt. |
---|
| 53 | |
---|
| 54 | |
---|
| 55 | -- Simulation der Fehlersituation in einem TEST-Bestand |
---|
| 56 | -- ---------------------------------------------------- |
---|
| 57 | -- VORSICHT! - Nur in einer Test-Kopie ausfÌhren. Löscht Daten! |
---|
| 58 | -- UPDATE ap_pto SET schriftinhalt = NULL WHERE art = 'Strasse'; |
---|
| 59 | -- UPDATE ap_pto SET schriftinhalt = NULL WHERE art = 'BezKlassifizierungStrasse'; |
---|
| 60 | |
---|
| 61 | |
---|
| 62 | -- Anzeige der leeren SÀtze |
---|
| 63 | -- --------------------------------------- |
---|
| 64 | |
---|
| 65 | -- Diese Views ermitteln, ob der Fall im vorliegenden Datenbestand vorkommt. |
---|
| 66 | |
---|
[294] | 67 | -- Dies ist in zunehmend in Niedersachsen der Fall. |
---|
| 68 | -- In NRW-Daten wurden weniger FÀlle gefunden. Dann ist jeweils auch die Signaturnummer leer. |
---|
[293] | 69 | -- Daher sollte "signaturnummer" nicht als Filter bei der "Reparatur" verwendet werden. |
---|
| 70 | |
---|
| 71 | |
---|
[294] | 72 | -- Aus VorgÀngerversion, nicht mehr relevant: |
---|
| 73 | -- DROP VIEW pp_praes_strassen_name_ausnahmen; |
---|
| 74 | -- DROP VIEW pp_praes_strassen_name_mehrfach; |
---|
| 75 | |
---|
| 76 | |
---|
[293] | 77 | -- DROP VIEW pp_praes_strassen_name_leer; |
---|
| 78 | CREATE OR REPLACE VIEW pp_praes_strassen_name_leer |
---|
| 79 | AS |
---|
| 80 | SELECT gml_id, schriftinhalt, signaturnummer, art, drehwinkel |
---|
| 81 | FROM ap_pto |
---|
| 82 | WHERE schriftinhalt IS NULL |
---|
| 83 | AND art = 'Strasse' |
---|
| 84 | -- AND (signaturnummer = '4107' OR signaturnummer = '8113') -- char |
---|
| 85 | ; |
---|
| 86 | COMMENT ON VIEW pp_praes_strassen_name_leer |
---|
| 87 | IS 'Es fehlt der Name der StraÃe in der PrÀsentationstabelle ap_pto.'; |
---|
| 88 | |
---|
| 89 | |
---|
| 90 | --DROP VIEW pp_praes_strassen_klass_leer; |
---|
| 91 | CREATE OR REPLACE VIEW pp_praes_strassen_klass_leer |
---|
| 92 | AS |
---|
| 93 | SELECT gml_id, schriftinhalt, signaturnummer, art, drehwinkel |
---|
| 94 | FROM ap_pto |
---|
| 95 | WHERE schriftinhalt IS NULL -- oder '' ? |
---|
| 96 | AND art = 'BezKlassifizierungStrasse' |
---|
| 97 | -- AND (signaturnummer = '4080' OR signaturnummer = '4140' OR signaturnummer = '8115') |
---|
| 98 | ; |
---|
| 99 | COMMENT ON VIEW pp_praes_strassen_klass_leer |
---|
| 100 | IS 'Es fehlt die Klassifikation der StraÃe in der PrÀsentationstabelle ap_pto.'; |
---|
| 101 | |
---|
| 102 | |
---|
[294] | 103 | -- Diese Views sollen zeigen, welche Namen in "ap_pto.schriftinhalt" eingesetzt werden, |
---|
[293] | 104 | -- wenn die nachfolgenden update-Befehle ausgefÃŒhrt werden. |
---|
| 105 | |
---|
| 106 | -- Dies dient wÀhrend der Entwicklung zu manuellen Vorab-Kontrolle. |
---|
| 107 | -- Wenn hier keine Zeilen ausgegeben werden, kann die AusfÃŒhrung dieses Scriptes im Workflow ausgeschaltet werden. |
---|
[294] | 108 | -- Dann sind die Namen noch gefÃŒllt und brauchen nicht auf diese Weise rekonstruiert werden. |
---|
[293] | 109 | |
---|
| 110 | |
---|
[296] | 111 | --DROP VIEW pp_praes_strassen_name_update_vorschau; |
---|
[293] | 112 | CREATE OR REPLACE VIEW pp_praes_strassen_name_update_vorschau |
---|
| 113 | AS |
---|
[294] | 114 | SELECT -- p.gml_id AS gml_pto, |
---|
| 115 | k.bezeichnung, -- der Name aus dem Katalog, der nach ap_pto kopiert wird |
---|
| 116 | st_asewkt(p.wkb_geometry) AS label_geom -- Lesbare Koordinaten: Wo liegt der Label? |
---|
| 117 | FROM ax_lagebezeichnungkatalogeintrag k -- Katalog enthÀlt den StraÃennamen |
---|
| 118 | JOIN ax_lagebezeichnungohnehausnummer l -- dient als Lage ohne HsNr. |
---|
| 119 | ON ( k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk |
---|
| 120 | AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage ) |
---|
| 121 | JOIN alkis_beziehungen x ON l.gml_id = x.beziehung_zu -- Relation .. |
---|
| 122 | JOIN ap_pto p ON p.gml_id = x.beziehung_von -- .. zum PrÀsentationsobjekt |
---|
| 123 | WHERE p."art" = 'Strasse' -- Filter |
---|
| 124 | AND p.schriftinhalt IS NULL -- Text fehlt in ap_pto |
---|
| 125 | AND NOT (p.wkb_geometry IS NULL) -- hat aber eine Position in ap_pto |
---|
| 126 | AND x.beziehungsart = 'dientZurDarstellungVon'; -- Relation PTO - Lage o.HsNr |
---|
[293] | 127 | |
---|
| 128 | COMMENT ON VIEW pp_praes_strassen_name_update_vorschau |
---|
| 129 | IS 'PrÀsentationsobjekt zu StraÃen. Vorschau zum Update des Namens der in ap_pto.'; |
---|
| 130 | |
---|
| 131 | |
---|
[296] | 132 | --DROP VIEW pp_praes_strassen_klass_update_vorschau; |
---|
[293] | 133 | CREATE OR REPLACE VIEW pp_praes_strassen_klass_update_vorschau |
---|
| 134 | AS |
---|
[294] | 135 | SELECT -- p.gml_id AS gml_pto, |
---|
| 136 | k.bezeichnung, -- der Name aus dem Katalog, der nach ap_pto kopiert wird |
---|
| 137 | st_asewkt(p.wkb_geometry) AS label_geom -- Lesbare Koordinaten: Wo liegt der Label? |
---|
| 138 | FROM ax_lagebezeichnungkatalogeintrag k -- Katalog enthÀlt den StraÃennamen |
---|
| 139 | JOIN ax_lagebezeichnungohnehausnummer l -- dient als Lage ohne HsNr. |
---|
| 140 | ON ( k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk |
---|
| 141 | AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage ) |
---|
| 142 | JOIN alkis_beziehungen x ON l.gml_id = x.beziehung_zu -- Relation .. |
---|
| 143 | JOIN ap_pto p ON p.gml_id = x.beziehung_von -- .. zum PrÀsentationsobjekt |
---|
| 144 | WHERE p."art" = 'BezKlassifizierungStrasse' -- Filter |
---|
| 145 | AND p.schriftinhalt IS NULL -- Text fehlt in ap_pto |
---|
| 146 | AND NOT (p.wkb_geometry IS NULL) -- hat aber eine Position in ap_pto |
---|
| 147 | AND x.beziehungsart = 'dientZurDarstellungVon'; -- Relation PTO - Lage o.HsNr |
---|
[293] | 148 | |
---|
| 149 | COMMENT ON VIEW pp_praes_strassen_klass_update_vorschau |
---|
| 150 | IS 'PrÀsentationsobjekt zu StraÃen. Vorschau zum Update der Klassifikation der in ap_pto.'; |
---|
| 151 | |
---|
| 152 | -- ENDE -- |
---|