source: Version-0.8/import/pp_definition.sql @ 324

Revision 324, 18.3 KB checked in by frank.jaeger, 10 years ago (diff)

Beginn der Umstellung von Datenbank-Schema und Views.
Noch nicht ausgetestet.
Programme noch nicht umgestellt.

Line 
1
2-- ALKIS PostNAS 0.7
3
4-- Post Processing (pp_) Teil 1: Anlegen der Tabellen und Views
5
6-- ACHTUNG! Systemvariable vorher setzen fÃŒr das Koordinatensystem
7-- :alkis_epsg=25832
8
9-- Stand
10--  2012-02-13 PostNAS 07, Umbenennung
11--  2012-02-17 Optimierung
12--  2012-02-28 gkz aus View nehmen
13--  2012-04-17 Flurstuecksnummern auf Standardposition
14--  2012-04-23 ax_flurstueck hat keinen Unique Index mahr auf gml_id,
15--             ForeignKey vorÃŒbergehend ausgeschaltet.
16--  2012-04-25 simple_geom fuer pp_flur
17--  2013-04-18 Kommentare.
18--  2012-10-24 Neue Tabelle fÃŒr die PrÀsentation von Straßennamen und -Klassifikationen
19--  2014-08-26 Aus "pp_strassenname" werden die Varianten *_p und *_l
20--             Erweiterte gml_id wie bei den primÀren Tabellen, bisher (16).
21
22-- ============================
23-- Tabellen des Post-Processing
24-- ============================
25
26-- Einige Informationen liegen nach der NAS-Konvertierung in der Datenbank "verstreut" vor.
27-- Die dynamische Aufbereitung ÃŒber Views und Functions wÃŒrde zu lange dauern und somit lange
28-- Antwortzeiten in WMS, WFS, Buchauskunft oder Navigation (Suche) verursachen.
29
30-- Im Rahmen eines "Post-Processing" werden diese Daten nach jeder Konvertierung (NBA-Aktialisierung)
31-- einmal komplett aufbereitet. Die benötigten Informationen stehen somit den Anwendungen mundgerecht zur VerfÌgung.
32
33-- Die per PostProcessing gefÃŒllten Tabellen bekommen den Prefix "pp_".
34
35-- ToDo:
36-- Muss *multi*-Polygon sein? Gibt es "zerrissene" Fluren/Gemarkungen?
37-- Der View "gemeinde_gemarkung" kann entfallen, wenn Navigation umgestellt wurde.
38
39SET client_encoding = 'UTF-8';
40
41-- Alles auf Anfang!
42/*
43 DROP VIEW gemeinde_person_typ1;
44 DROP VIEW gemeinde_person_typ2;
45 DROP VIEW gemeinde_gemarkung;
46 DROP TABLE pp_gemeinde;
47 DROP TABLE pp_gemarkung;
48 DROP TABLE pp_flur;
49*/
50
51-- Tabelle fuer Gemeinden
52-- ========================
53
54  CREATE TABLE pp_gemeinde (
55    gid                serial,
56    land               integer NOT NULL,
57    regierungsbezirk   integer,
58    kreis              integer,
59    gemeinde           integer NOT NULL,
60    gemeindename       character varying(80),
61 -- gkz                character varying(03),    -- wird (noch) nicht benutzt
62    anz_gemarkg        integer,                  -- Anzahl Gemarkungen
63    CONSTRAINT pp_gemeinde_pk PRIMARY KEY (land, gemeinde)
64  );
65
66CREATE UNIQUE INDEX pp_gemeinde_gid_ix ON pp_gemeinde (gid);
67
68-- Gesamtflaeche
69SELECT AddGeometryColumn('pp_gemeinde','the_geom',:alkis_epsg,'MULTIPOLYGON',2);
70CREATE INDEX pp_gemeinde_gidx ON pp_gemeinde USING gist(the_geom);
71
72-- vereinfachte Gesamtflaeche
73SELECT AddGeometryColumn('pp_gemeinde','simple_geom',:alkis_epsg,'MULTIPOLYGON',2);
74CREATE INDEX pp_gemeinde_sgidx ON pp_gemeinde USING gist(simple_geom);
75
76
77  COMMENT ON TABLE  pp_gemeinde                IS 'Post-Processing: Gemeinde';
78  COMMENT ON COLUMN pp_gemeinde.gemeinde       IS 'Gemeindenummer';
79--COMMENT ON COLUMN pp_gemeinde.gkz            IS 'Gemeindekennziffer fÃŒr Mandant';
80  COMMENT ON COLUMN pp_gemeinde.the_geom       IS 'prÀzise Geometrie aus Summe aller Gemarkungen';
81  COMMENT ON COLUMN pp_gemeinde.simple_geom    IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Übersichten in kleinen MaßstÀben.';
82
83
84-- Tabelle fuer Gemarkungen
85-- ========================
86
87-- FÃŒr die Regelung der Zugriffsberechtigung einer Gemeindeverwaltung auf die
88-- FlurstÃŒcke in ihrem Gebiet braucht man die Information, in welcher Gemeinde eine Gemarkung liegt.
89-- 'ax_gemeinde' und 'ax_gemarkung' haben aber im ALKIS keinerlei Beziehung zueinander - kaum zu glauben!
90-- Nur ÃŒber die Auswertung der FlurstÃŒcke kann man die Zuordnung ermitteln.
91-- Da nicht stÀndig mit 'SELECT DISTINCT' sÀmtliche FlurstÌcke durchsucht werden können,
92-- muss diese Information als (redundante) Tabelle nach dem Laden zwischengespeichert werden.
93
94  CREATE TABLE pp_gemarkung (
95    gid                serial,
96    land               integer NOT NULL,
97    regierungsbezirk   integer,
98    kreis              integer,
99    gemeinde           integer NOT NULL,       -- fast ein Foreign-Key Constraint
100    gemarkung          integer NOT NULL,
101    gemarkungsname     character varying(80),
102    anz_flur           integer,                -- Anzahl Fluren
103    CONSTRAINT pp_gemarkung_pk PRIMARY KEY (land, gemarkung)
104  );
105
106CREATE UNIQUE INDEX pp_gemarkung_gid_ix ON pp_gemarkung (gid);
107
108-- GesamtflÀche
109SELECT AddGeometryColumn('pp_gemarkung','the_geom',:alkis_epsg,'MULTIPOLYGON',2);
110CREATE INDEX pp_gemarkung_gidx ON pp_gemarkung USING gist(the_geom);
111
112-- vereinfachte GesamtflÀche
113SELECT AddGeometryColumn('pp_gemarkung','simple_geom',:alkis_epsg,'MULTIPOLYGON',2);
114CREATE INDEX pp_gemarkung_sgidx ON pp_gemarkung USING gist(simple_geom);
115
116
117COMMENT ON TABLE  pp_gemarkung               IS 'Post-Processing: Gemarkung. u.a. liegt in welcher Gemeinde';
118COMMENT ON COLUMN pp_gemarkung.gemeinde      IS 'Gemeindenummer';
119COMMENT ON COLUMN pp_gemarkung.gemarkung     IS 'Gemarkungsnummer';
120COMMENT ON COLUMN pp_gemarkung.the_geom      IS 'prÀzise Geometrie aus Summe aller Fluren';
121COMMENT ON COLUMN pp_gemarkung.simple_geom   IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Übersichten in kleinen MaßstÀben.';
122
123
124-- Tabelle fuer Fluren
125-- ===================
126
127  CREATE TABLE pp_flur (
128    gid                serial,
129    land               integer NOT NULL,
130    regierungsbezirk   integer,
131    kreis              integer,
132    gemarkung          integer NOT NULL,
133    flurnummer         integer NOT NULL,
134    anz_fs             integer,              -- Anzahl FlurstÃŒcke
135    CONSTRAINT pp_flur_pk PRIMARY KEY (land, gemarkung, flurnummer)
136  );
137
138-- ALTER TABLE pp_flur ADD COLUMN gid serial;
139CREATE UNIQUE INDEX pp_flur_gid_ix ON pp_flur (gid);
140
141-- GesamtflÀche
142SELECT AddGeometryColumn('pp_flur','the_geom',:alkis_epsg,'MULTIPOLYGON',2);
143CREATE INDEX pp_flur_gidx ON pp_flur USING gist(the_geom);
144
145-- vereinfachte Gesamtflaeche
146SELECT AddGeometryColumn('pp_flur','simple_geom',:alkis_epsg,'MULTIPOLYGON',2);
147CREATE INDEX pp_flur_sgidx ON pp_flur USING gist(simple_geom);
148
149
150COMMENT ON TABLE  pp_flur                IS 'Post-Processing: Flur';
151COMMENT ON COLUMN pp_flur.gemarkung      IS 'Gemarkungsnummer';
152COMMENT ON COLUMN pp_flur.the_geom       IS 'Geometrie aus Summe aller FlurstÃŒcke';
153COMMENT ON COLUMN pp_flur.simple_geom    IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Übersichten in kleinen MaßstÀben.';
154
155
156-- =======================================================
157-- Tabelle fuer die Zuordnung vom EigentÃŒmern zu Gemeinden
158-- =======================================================
159
160-- Die Feststellung, ob eine Person (Mit-) EigentÃŒmer von mindestens einem
161-- FlurstÃŒck in einer Gemeinde ist, geht ÃŒber viele Relationen.
162-- Dabei kann es mehrere Varianten geben.
163-- Dies sollte nach dem Laden ermittelt und gespeichert werden, damit dies in
164-- der Navigation auf einfache Art verwendet werden kann.
165
166
167-- Prefix "pp_" verwenden  ?
168
169--DROP TABLE gemeinde_person;
170
171  CREATE TABLE gemeinde_person (
172    land                integer,
173    regierungsbezirk    integer,
174    kreis               integer,
175    gemeinde            integer,
176    person              character varying,
177    buchtyp             integer,
178    CONSTRAINT gemeinde_person_pk PRIMARY KEY (gemeinde, person)
179  );
180
181COMMENT ON TABLE  gemeinde_person            IS 'Person ist EigentÃŒmer von mindestens einem FlurstÃŒck in der Gemeinde';
182COMMENT ON COLUMN gemeinde_person.gemeinde   IS 'Gemeindenummer';
183COMMENT ON COLUMN gemeinde_person.buchtyp    IS 'Typ der Buchung 1=direkt, 2=Recht einer Buchungsstele an andere Buchungsstelle';
184COMMENT ON COLUMN gemeinde_person.person     IS 'gml_id von Person';
185
186-- Index zum Filtern in der Buchauskunft
187CREATE INDEX person_gemeinde  ON gemeinde_person (person, gemeinde);
188
189
190-- Flurstuecksnummern-Position
191-- ===========================
192-- Die Tabelle "pp_flurstueck_nr" ersetzt den View "s_flurstueck_nr" fÃŒr WMS-Layer "ag_t_flurstueck".
193
194--DROP TABLE pp_flurstueck_nr;
195  CREATE TABLE pp_flurstueck_nr (
196    gid         serial,
197    fsgml            character varying,
198    fsnum            character varying(10),  -- zzzzz/nnnn
199    CONSTRAINT pp_flurstueck_nr_pk  PRIMARY KEY (gid)  --,
200-- Foreign Key
201-- ALT:
202--    CONSTRAINT pp_flurstueck_nr_gml FOREIGN KEY (fsgml)
203--      REFERENCES ax_flurstueck (gml_id) MATCH SIMPLE
204--      ON UPDATE CASCADE ON DELETE CASCADE
205-- Durch Änderung Patch #5444 am 2012-04-23 hat 'ax_flurstueck' keinen Unique-Index mehr auf gml_id
206-- Ersatzweise einen ForeignKey ÃŒber 2 Felder?
207  );
208
209SELECT AddGeometryColumn('pp_flurstueck_nr','the_geom',:alkis_epsg,'POINT',2);
210
211-- Geometrischer Index
212CREATE INDEX pp_flurstueck_nr_gidx    ON pp_flurstueck_nr USING gist  (the_geom);
213CREATE INDEX fki_pp_flurstueck_nr_gml ON pp_flurstueck_nr USING btree (fsgml);
214
215COMMENT ON TABLE  pp_flurstueck_nr           IS 'Post-Processing: Position der FlurstÃŒcksnummer in der Karte';
216COMMENT ON COLUMN pp_flurstueck_nr.fsgml     IS 'gml_id des zugehörigen FlurstÃŒcks-Objektes';
217COMMENT ON COLUMN pp_flurstueck_nr.fsnum     IS 'Label, Darzustellende FS-Nummer als Bruch';
218COMMENT ON COLUMN pp_flurstueck_nr.the_geom  IS 'Position der FlurstÃŒcksnummer in der Karte';
219
220
221-- =====
222-- VIEWs
223-- =====
224
225-- Ein View, der ÃŒbergangsweise die ehemalige Tabelle mit diesem Namen ersetzt.
226-- Wird in der Navigation verwendet, bis alle Datenbanken auf die Struktur 0.7 umgestellt
227-- sind *UND* die Navigation an die neuen Tabellen angepasst ist.
228
229CREATE VIEW gemeinde_gemarkung
230AS
231  SELECT g.land, g.regierungsbezirk, g.kreis, g.gemeinde, k.gemarkung, g.gemeindename, k.gemarkungsname
232  FROM pp_gemarkung k
233  JOIN pp_gemeinde  g
234    ON k.land = g.land
235   AND k.gemeinde = g.gemeinde;
236
237COMMENT ON VIEW gemeinde_gemarkung
238  IS 'Die Sicht "gemeinde_gemarkung" enthaelt nur gefÃŒllte Gemarkungen (mit FS) aber Gemeinde mehrfach. Diese Sicht wird derzeit noch in der Navigation benutzt (alkisnav_fls.php, _grd.php, _eig.php). Definiert in pp_definition.sql. Soll kÃŒnftig entfallen.';
239
240
241-- VIEWs  fuer die Zuordnung vom EigentÃŒmern zu Gemeinden
242-- ------------------------------------------------------
243
244-- "Normale" Buchungen
245
246CREATE VIEW gemeinde_person_typ1
247AS
248  SELECT DISTINCT
249    p.gml_id          AS person,
250    g.land, g.regierungsbezirk, g.kreis, g.gemeinde
251
252  FROM ax_person               p
253
254-- Person < benennt < Namensnummer
255  JOIN alkis_beziehungen      bpn  ON bpn.beziehung_zu   = p.gml_id  -- Bez. Person - Nummer
256  JOIN ax_namensnummer         n   ON bpn.beziehung_von  = n.gml_id
257
258-- Namensnummer > istBestandteilVon > Blatt
259  JOIN alkis_beziehungen      bnb  ON bnb.beziehung_von  = n.gml_id  -- Bez. Nummer - Blatt
260  JOIN ax_buchungsblatt        b   ON bnb.beziehung_zu   = b.gml_id
261
262-- Blatt < istBestandteilVon < buchungsStelle
263  JOIN alkis_beziehungen      bbg  ON bbg.beziehung_zu   = b.gml_id  -- Bez. Blatt  - Stelle
264  JOIN ax_buchungsstelle       s   ON bbg.beziehung_von  = s.gml_id
265
266-- buchungsStelle < istGebucht < flurstÃŒck
267  JOIN alkis_beziehungen      bsf  ON bsf.beziehung_zu   = s.gml_id  -- Bez. Stelle - FlurstÃŒck
268  JOIN ax_flurstueck           f   ON bsf.beziehung_von  = f.gml_id
269
270  JOIN ax_gemarkung            k   ON f.land             = k.land
271                                  AND f.gemarkungsnummer = k.gemarkungsnummer
272  JOIN gemeinde_gemarkung      g   ON k.gemarkungsnummer = g.gemarkung
273
274  WHERE bpn.beziehungsart = 'benennt'
275    AND bnb.beziehungsart = 'istBestandteilVon'
276    AND bbg.beziehungsart = 'istBestandteilVon'
277    AND bsf.beziehungsart = 'istGebucht';
278
279COMMENT ON VIEW gemeinde_person_typ1 IS 'Personen die EigentÃŒmer vom FlurstÃŒcken in einer Gemeinde sind. Typ1 = nomale Buchungen mit direkter Beziehung.';
280
281
282-- "Komplexe" Buchungen mit Rechten von Buchungen an Buchungen
283
284CREATE VIEW gemeinde_person_typ2
285AS
286  SELECT DISTINCT
287    p.gml_id          AS person,
288    g.land, g.regierungsbezirk, g.kreis, g.gemeinde
289  FROM ax_person               p
290
291-- Person < benennt < Namensnummer
292  JOIN alkis_beziehungen      bpn  ON bpn.beziehung_zu   = p.gml_id  -- Bez. Person - Nummer
293  JOIN ax_namensnummer         n   ON bpn.beziehung_von  = n.gml_id
294
295-- Namensnummer > istBestandteilVon > Blatt
296  JOIN alkis_beziehungen      bnb  ON bnb.beziehung_von  = n.gml_id  -- Bez. Nummer - Blatt
297  JOIN ax_buchungsblatt        b   ON bnb.beziehung_zu   = b.gml_id
298
299-- Blatt < istBestandteilVon < buchungsStelle1
300  JOIN alkis_beziehungen      bbg  ON bbg.beziehung_zu   = b.gml_id  -- Bez. Blatt  - Stelle
301  JOIN ax_buchungsstelle       s1  ON bbg.beziehung_von  = s1.gml_id
302
303-- buchungsStelle2 < an < buchungsStelle1
304  JOIN alkis_beziehungen      bss  ON bss.beziehung_von  = s1.gml_id  -- Bez. Stelle  - Stelle
305  JOIN ax_buchungsstelle       s2  ON bss.beziehung_zu   = s2.gml_id
306
307-- buchungsStelle2 < istGebucht < flurstÃŒck
308  JOIN alkis_beziehungen      bsf  ON bsf.beziehung_zu   = s2.gml_id  -- Bez. Stelle - FlurstÃŒck
309  JOIN ax_flurstueck           f   ON bsf.beziehung_von  = f.gml_id
310
311  JOIN ax_gemarkung            k   ON f.land             = k.land
312                                  AND f.gemarkungsnummer = k.gemarkungsnummer
313  JOIN gemeinde_gemarkung      g   ON k.gemarkungsnummer = g.gemarkung
314
315  WHERE bpn.beziehungsart = 'benennt'
316    AND bnb.beziehungsart = 'istBestandteilVon'
317    AND bbg.beziehungsart = 'istBestandteilVon'
318    AND bss.beziehungsart = 'an'
319    AND bsf.beziehungsart = 'istGebucht'
320 -- LIMIT 100  -- Test-Option
321;
322
323COMMENT ON VIEW gemeinde_person_typ2 IS 'Personen die EigentÃŒmer vom FlurstÃŒcken in einer Gemeinde sind. Typ2 = Buchungen mit Rechten einer Buchungssstelle an einer anderen.';
324
325
326-- Statistik ÃŒber die Buchungs-Typen je Gemeinde
327CREATE VIEW gemeinde_person_statistik
328AS
329  SELECT p.land, p.regierungsbezirk, p.kreis, p.gemeinde, g.gemeindename, p.buchtyp, count(p.person) as personen
330  FROM   gemeinde_person    p
331  JOIN   gemeinde_gemarkung g
332    ON   p.land     = g.land
333    AND  p.regierungsbezirk = g.regierungsbezirk
334    AND  p.kreis    = g.kreis
335    AND  p.gemeinde = g.gemeinde
336  GROUP BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, g.gemeindename, p.buchtyp
337  ORDER BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, p.buchtyp;
338
339COMMENT ON VIEW gemeinde_person_statistik IS 'ZÀhlen der Personen je Gemeinde und Buchungstyp';
340
341
342-- Views zur Analyse der vereinfachten Geometrie
343-- Finden des richtigen Genauigkeits-Wertes fÃŒr die Vereinfachung der Geometrie
344
345-- z.B. Gemeinden:  10 Meter
346--      Gemarkungen: 4 Meter
347
348CREATE VIEW pp_gemeinde_analyse AS
349  SELECT land, gemeinde, gemeindename,
350         st_npoints(the_geom)    AS umring_alle_punkte,
351         st_npoints(simple_geom) AS umring_einfache_punkte
352  FROM pp_gemeinde;
353
354
355CREATE VIEW pp_gemarkung_analyse AS
356  SELECT land, gemeinde, gemarkung, gemarkungsname,
357         st_npoints(the_geom)    AS umring_alle_punkte,
358         st_npoints(simple_geom) AS umring_einfache_punkte
359  FROM pp_gemarkung;
360
361-- 2014-08-26 Aus Version "pp_strassenname" werden die Varianten *_p und *_l
362
363-- Variante fÃŒr Punkt-Geometrie
364CREATE TABLE pp_strassenname_p
365(   gid                    serial NOT NULL,
366    gml_id                 character varying,
367 -- advstandardmodell      character varying[],
368    schriftinhalt          character varying,      -- Label: anzuzeigender Text
369    hor                    character varying,
370    ver                    character varying,
371 -- signaturnummer         character varying,
372 -- darstellungsprioritaet integer,
373    art                    character varying,
374    winkel                 double precision,
375    CONSTRAINT pp_snamp_pk  PRIMARY KEY (gid)
376) WITH (OIDS=FALSE);
377
378-- :alkis_epsg = 25832
379SELECT AddGeometryColumn('pp_strassenname_p','the_geom',:alkis_epsg,'POINT',2);
380CREATE INDEX pp_snamp_gidx ON pp_strassenname_p USING gist(the_geom);
381
382  COMMENT ON TABLE  pp_strassenname_p                IS 'Post-Processing: Label der Straßennamen in der Karte, Punktgeometrie. Auszug aus ap_pto.';
383
384  COMMENT ON COLUMN pp_strassenname_p.gid            IS 'EditierschlÃŒssel der Tabelle';
385  COMMENT ON COLUMN pp_strassenname_p.gml_id         IS 'ObjektschlÃŒssel des PrÀsentationsobjektes aus "ax_lagebezeichnungohnehausnummer". Zur Verbindung mit Katalog beim Nachladen leerer Felder.';
386  COMMENT ON COLUMN pp_strassenname_p.schriftinhalt  IS 'Label, darzustellender Name der Straße oder Klassifikation';
387  COMMENT ON COLUMN pp_strassenname_p.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbÃŒndig, zentrisch, ...';
388  COMMENT ON COLUMN pp_strassenname_p.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..';
389  COMMENT ON COLUMN pp_strassenname_p.art            IS 'Klasse der Straße: Straße, Weg, .. , BezKlassifizierungStrasse';
390  COMMENT ON COLUMN pp_strassenname_p.winkel         IS 'Drehung des Textes';
391  COMMENT ON COLUMN pp_strassenname_p.the_geom       IS 'Position (Punkt) der Labels in der Karte';
392
393-- Variante fÃŒr Linien-Geometrie
394CREATE TABLE pp_strassenname_l
395(   gid                    serial NOT NULL,
396    gml_id                 character varying,
397    schriftinhalt          character varying,      -- Label: anzuzeigender Text
398    hor                    character varying,
399    ver                    character varying,
400    art                    character varying,
401 -- winkel                 double precision,       -- bei Linien-Variante nicht benötigt
402    CONSTRAINT pp_snaml_pk  PRIMARY KEY (gid)
403) WITH (OIDS=FALSE);
404
405-- :alkis_epsg = 25832
406SELECT AddGeometryColumn('pp_strassenname_l','the_geom',:alkis_epsg,'LINESTRING',2); -- Hier liegt der Unterschied
407CREATE INDEX pp_snaml_gidx ON pp_strassenname_l USING gist(the_geom);
408
409  COMMENT ON TABLE  pp_strassenname_l                IS 'Post-Processing: Label der Straßennamen in der Karte, Liniengeometrie. Auszug aus ap_lto.';
410
411  COMMENT ON COLUMN pp_strassenname_l.gid            IS 'EditierschlÃŒssel der Tabelle';
412  COMMENT ON COLUMN pp_strassenname_l.gml_id         IS 'ObjektschlÃŒssel des PrÀsentationsobjektes aus "ax_lagebezeichnungohnehausnummer". Zur Verbindung mit Katalog beim Nachladen leerer Felder.';
413  COMMENT ON COLUMN pp_strassenname_l.schriftinhalt  IS 'Label, darzustellender Name der Straße oder Klassifikation';
414  COMMENT ON COLUMN pp_strassenname_l.hor            IS 'Horizontale Ausrichtung des Textes: linksbÃŒndig, zentrisch, ...';
415  COMMENT ON COLUMN pp_strassenname_l.ver            IS 'Vertikale   Ausrichtung des Textes: Basis, ..';
416  COMMENT ON COLUMN pp_strassenname_l.art            IS 'Klasse der Straße: Straße, Weg, .. , BezKlassifizierungStrasse';
417  COMMENT ON COLUMN pp_strassenname_l.the_geom       IS 'Position (Punkt) der Labels in der Karte';
418
419
420-- ENDE --
Note: See TracBrowser for help on using the repository browser.