[105] | 1 |
|
---|
| 2 | -- ALKIS PostNAS 0.6
|
---|
| 3 |
|
---|
| 4 | -- =======================================================
|
---|
| 5 | -- Tabelle fuer die Zuordnung vom Gemarkungen zu Gemeinden
|
---|
| 6 | -- =======================================================
|
---|
| 7 |
|
---|
| 8 | -- Für die Regelung der Zugriffsberechtigung einer Gemeindeverwaltung auf die
|
---|
| 9 | -- Flurstücke in ihrem Gebiet braucht man die Information, in welcher Gemeinde eine Gemarkung liegt.
|
---|
| 10 | -- 'ax_gemeinde' und 'ax_gemarkung' haben aber im ALKIS keinerlei Beziehung zueinander - kaum zu glauben!
|
---|
| 11 | -- Nur über die Auswertung der Flurstücke kann man die Zuordnung ermitteln.
|
---|
| 12 | -- Da nicht ständig mit 'SELECT DISTINCT' sämtliche Flurstücke durchsucht werden können,
|
---|
| 13 | -- muss diese Information als (redundante) Tabelle nach dem Laden zwischengespeichert werden.
|
---|
| 14 |
|
---|
| 15 |
|
---|
[140] | 16 | -- Teil 2: Laden der Tabellen
|
---|
[105] | 17 |
|
---|
| 18 | -- Stand
|
---|
| 19 |
|
---|
| 20 | -- 2011-07-25 PostNAS 06, Umbenennung
|
---|
[140] | 21 | -- 2011-12-08 Person -> Gemeinde
|
---|
[105] | 22 |
|
---|
[140] | 23 |
|
---|
[105] | 24 | SET client_encoding = 'UTF-8';
|
---|
| 25 |
|
---|
| 26 | -- Alles auf Anfang!
|
---|
| 27 |
|
---|
| 28 | DELETE FROM gemeinde_gemarkung;
|
---|
| 29 |
|
---|
| 30 |
|
---|
| 31 | -- Vorkommende Paarungen in Flurstücke
|
---|
| 32 | INSERT INTO gemeinde_gemarkung
|
---|
| 33 | ( land, regierungsbezirk, kreis, gemeinde, gemarkung )
|
---|
| 34 | SELECT DISTINCT land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
|
---|
| 35 | FROM ax_flurstueck
|
---|
| 36 | ORDER BY land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
|
---|
| 37 | ;
|
---|
| 38 |
|
---|
| 39 |
|
---|
| 40 | -- Namen der Gemeinde dazu als Optimierung bei der Auskunft
|
---|
| 41 | UPDATE gemeinde_gemarkung a
|
---|
| 42 | SET gemeindename =
|
---|
| 43 | ( SELECT b.bezeichnung
|
---|
| 44 | FROM ax_gemeinde b
|
---|
| 45 | WHERE a.land=b.land
|
---|
| 46 | AND a.regierungsbezirk=b.regierungsbezirk
|
---|
| 47 | AND a.kreis=b.kreis
|
---|
| 48 | AND a.gemeinde=b.gemeinde
|
---|
| 49 | );
|
---|
| 50 |
|
---|
| 51 |
|
---|
| 52 | -- Namen der Gemarkung dazu als Optimierung bei der Auskunft
|
---|
| 53 | UPDATE gemeinde_gemarkung a
|
---|
| 54 | SET gemarkungsname =
|
---|
| 55 | ( SELECT b.bezeichnung
|
---|
| 56 | FROM ax_gemarkung b
|
---|
| 57 | WHERE a.land=b.land
|
---|
| 58 | AND a.gemarkung=b.gemarkungsnummer
|
---|
| 59 | );
|
---|
| 60 |
|
---|
| 61 |
|
---|
[140] | 62 |
|
---|
| 63 | -- =======================================================
|
---|
| 64 | -- Tabelle fuer die Zuordnung vom Eigentümern zu Gemeinden
|
---|
| 65 | -- =======================================================
|
---|
| 66 |
|
---|
| 67 |
|
---|
| 68 | -- erst mal sauber machen
|
---|
| 69 | DELETE FROM gemeinde_person;
|
---|
| 70 |
|
---|
| 71 | -- alle direkten Buchungen mit View ermitteln und in Tabelle speichern
|
---|
| 72 | -- Für eine Stadt: ca. 20 Sekunden
|
---|
| 73 | INSERT INTO gemeinde_person
|
---|
| 74 | (land, regierungsbezirk, kreis, gemeinde, person, buchtyp)
|
---|
| 75 | SELECT land, regierungsbezirk, kreis, gemeinde, person, 1
|
---|
| 76 | FROM gemeinde_person_typ1;
|
---|
| 77 |
|
---|
| 78 |
|
---|
| 79 | -- noch die komplexeren Buchungen ergänzen (Recht an ..)
|
---|
| 80 | -- Mit View ermitteln und in Tabelle speichern
|
---|
| 81 | -- Für eine Stadt: ca. 10 Sekunden
|
---|
| 82 | INSERT INTO gemeinde_person
|
---|
| 83 | ( land, regierungsbezirk, kreis, gemeinde, person, buchtyp)
|
---|
| 84 | SELECT q.land, q.regierungsbezirk, q.kreis, q.gemeinde, q.person, 2
|
---|
| 85 | FROM gemeinde_person_typ2 q -- Quelle
|
---|
| 86 | LEFT JOIN gemeinde_person z -- Ziel
|
---|
| 87 | ON q.person = z.person -- Aber nur, wenn dieser Fall im Ziel
|
---|
| 88 | AND q.land = z.land
|
---|
| 89 | AND q.regierungsbezirk = z.regierungsbezirk
|
---|
| 90 | AND q.kreis = z.kreis
|
---|
| 91 | AND q.gemeinde = z.gemeinde
|
---|
| 92 | WHERE z.gemeinde is Null; -- .. noch nicht vorhanden ist
|
---|
| 93 |
|
---|
| 94 |
|
---|
[105] | 95 | -- ENDE -- |
---|