postnas-suite / postnas-suite-php-info

0 stars 0 forks source link

Kompatibilitätsprobleme mit GID7-ALKIS-Daten aus Niedersachen #3

Open colaheart opened 10 months ago

colaheart commented 10 months ago

Bei Tests der Auskunftsskripte mit ALKIS-Daten der GeoInfoDok 7.1 aus Niedersachsen traten einige Fehler auf, welche im Folgenden dokumentiert sind. Die Testdaten für GID 7.1 und zum Vergleich 6.0 sind hier zu finden. Bei Verwendung der GID6-Daten konnten keine Fehler festgestellt werden.

Skript Fehler/Zustand GID6 Lösung/möglicher Zustand GID7 PR Notizen
alkisfsnw.php (Flurstücksnachweis - Nutzung) Tabelle alkis_elemente existiert nicht Referenzen auf alkis_elemente entfernen und ggf. genutzte Daten hieraus sinnvoll ersetzen #2 alkis_elemente enthielt statische Werte, die durch das Import-Tool selbst definiert wurden (vgl. hier) und im gid7-Branch nicht mehr existieren; falls die Daten so tatsächlich mit dem gid7-Importer nicht mehr vorliegen könnte man überlegen, ob die Daten nun fehlenden Informationen unbedingt benötigt oder anders bezogen werden
alkisfsnw.php (Flurstücksnachweis - Bodenschätzung) Tabelle ax_kulturart_bodenschaetzung existiert nicht Tabelle offenbar umbenannt in ax_nutzungsart_bodenschaetzung #2 Abgleich von View v_bschaetz_kulturart für GID6 und GID7
Tabellenspalte ax_bodenschaetzung.kulturart existiert nicht Spalte wurde offenbar umbenannt in ax_bodenschaetzung.nutzungsart #2 s. Änderung von ax_nutzungsart_bodenschaetzung und Kommentar an Spalte in (DB-Schema)[https://github.com/norBIT/alkisimport/blob/gid7/alkis-schema.sql] für GID6 und GID7
Tabelle ax_zustandsstufeoderbodenstufe_bodenschaetzung existiert nicht mehr aufgeteilt in Tabellen ax_zustandsstufe und ax_bodenstufe #2 mit Testdaten (NDS) enthält die alte Tabelle unter GID6 15 Einträge, die neuen Tabellen unter GID7 8 und 7 Einträge, aufgeteilt nach Zustands- oder Bodenstufe; aufgrund der Unterscheidung müssten nun beide Tabellen abgefragt und das Vorhandensein eines Wert-Typs von beiden geprüft werden
Spalte ax_bodenschaetzung.zustandsstufeoderbodenstufe existiert nicht Aufteilung in ax_bodenschaetzung.zustandsstufe und ax_bodenschaetzung.bodenstufe #2 s. vorheriger Eintrag
Spalte ax_bodenschaetzung.entstehungsartoderklimastufewasserverhaeltnisse existiert nicht (Verweis auf Tabelle ax_entstehungsartoderklimastufewasserverhaeltnisse_bodensc) Aufteilung in ax_bodenschaetzung.entstehungsart (Tabelle ax_entstehungsart), ax_bodenschaetzung.klimastufe (Tabelle ax_bodenschaetzung) und ax_bodenschaetzung.wasserverhaeltnisse (Tabelle ax_wasserverhaeltnisse) #2 mit Testdaten (NDS) enthält die alte Tabelle unter GID6 48 Einträge, die neuen Tabellen unter GID7 je 43 (Entstehungsart), 5 (Klimastufe) und 10 (Wasserverh.) Einträge; Feld entstehungsart ist weiterhin ein integer[], die Felder klimastufe und wasserverhaeltnisse sind integer
alkishaus.php (Haus - Gebäude) Spalte ax_gebaeude.objekthoehe existiert nicht ~vermutlich~ umbenannt in ax_gebaeude.hoehe #2 aufgrund fehlender Datensätze in Testdaten nicht direkt verifiziert; Typ geändert von double precision in double precision[], Behandeln der Results wäre ggf. anzupassen
tschuettenberg commented 9 months ago

Bezüglich alkis_elemente: m.E. wird die gar nicht (mehr) benötigt. Zur Entschlüsselung der Nutzungsart reichen nutz_21 i.V.m. nutz_shl aus! Möglicherweise sind diese im Laufe der Zeit vervollständigt worden, jedenfalls trifft der alte Kommentar von Frank nicht mehr zu. Es gibt z.B. die Nutzung "Wohnbaufläche mit Art der Bebauung Offen".

Dementsprechend läuft das Skript, wenn der Join auf alkis_elemente sowie dessen Spalte definition entfernt werden: hier und hier. Der Beschreibungslangtext alkis_elemente.definition findet auch nirgends Verwendung.

tschuettenberg commented 9 months ago

Bezüglich Gebäudehöhe: die genannte Umbenennung von ax_gebaeude.objekthoehe nach ax_gebaeude.hoehe in alkishaus.php reicht aus, um das Skript nicht abbrechen zulassen. Ob der geänderte Datentyp darüber hinaus Auswirkungen hat, kann ich aufgrund mangelder Daten zu diesem Attribut leider nicht sagen.

colaheart commented 9 months ago

Bezüglich alkis_elemente: m.E. wird die gar nicht (mehr) benötigt. Zur Entschlüsselung der Nutzungsart reichen nutz_21 i.V.m. nutz_shl aus! Möglicherweise sind diese im Laufe der Zeit vervollständigt worden, jedenfalls trifft der alte Kommentar von Frank nicht mehr zu. Es gibt z.B. die Nutzung "Wohnbaufläche mit Art der Bebauung Offen".

Dementsprechend läuft das Skript, wenn der Join auf alkis_elemente sowie dessen Spalte definition entfernt werden: hier und hier. Der Beschreibungslangtext alkis_elemente.definition findet auch nirgends Verwendung.

Dann entferne ich die Relation aus dem Skript. Das Feld alkis_elemente.definition wird an einer Stelle als title eines HTML-Elementes verwendet, man könnte aber stattdessen einfach einen kurzen generischen Beschreibungstext ausgeben, analog zu der "Buchfläche des Abschnitts" darüber.

Die Feldänderung für ax_gebaeude ziehe ich auch nach.

colaheart commented 9 months ago

Habe #2 entsprechend um zwei Commits ergänzt.