Changeset 278 for trunk


Ignore:
Timestamp:
04/26/13 13:52:56 (11 years ago)
Author:
frank.jaeger
Message:

Mapbender-Navigation mit ALKIS-Daten komplett überarbeitet.

Location:
trunk
Files:
5 added
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/alkis_Patch.sql

    r276 r278  
    44-- Gezielte Aktualisierung der Datenbank durch die "letzten Änderungen" 
    55 
    6 --  2013-04-16  F.J. Kurzbezeichnungen der BodenschÀtzung fÃŒr die Kartendarstellung 
     6--  2013-04-17  F.J. Kurzbezeichnungen der BodenschÀtzung fÃŒr die Kartendarstellung 
    77 
    88  SET client_encoding = 'UTF8'; 
    99 
    10 -- AbhÀngigkeiten: 
    11 DROP VIEW s_bodensch_wms; 
    12 DROP VIEW s_bodensch_ent; 
    13 DROP VIEW s_bodensch_po; 
    14 DROP VIEW s_bodensch_tx; 
    15 DROP VIEW s_zuordungspfeil_bodensch; 
    16 DROP VIEW s_zuordungspfeilspitze_bodensch; 
     10-- AbhÀngigkeiten / bei Wiederholung: 
     11-- DROP VIEW s_bodensch_wms; 
     12-- DROP VIEW s_bodensch_ent; 
     13-- DROP VIEW s_bodensch_po; 
     14-- DROP VIEW s_bodensch_tx; 
     15-- DROP VIEW s_zuordungspfeil_bodensch; 
     16-- DROP VIEW s_zuordungspfeilspitze_bodensch; 
    1717 
    1818 
     
    198198    kurz character varying, 
    199199    bezeichner character varying, 
    200     CONSTRAINT pk_ax_bodenschaetzung_entstehungsartoderklimastufe PRIMARY KEY (wert) 
     200    CONSTRAINT pk_ax_bodenschaetzung_entstehung PRIMARY KEY (wert) 
    201201  ); 
    202202 
    203203COMMENT ON TABLE ax_bodenschaetzung_entstehungsartoderklimastufe 
    204 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     204 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "entstehungsartoderklimastufe".'; 
    205205 
    206206COMMENT ON COLUMN ax_bodenschaetzung_entstehungsartoderklimastufe.wert       IS 'numerischer SchlÃŒssel'; 
     
    264264 
    265265 
     266-- B o d e n s c h a e t z u n g   -  sonstige Angaben 
     267-- ---------------------------------------------------------------------------------------- 
     268--DROP TABLE ax_bodenschaetzung_sonstigeangaben; 
     269CREATE TABLE ax_bodenschaetzung_sonstigeangaben ( 
     270    wert integer, 
     271    kurz character varying, 
     272    bezeichner character varying, 
     273    CONSTRAINT pk_ax_bodenschaetzung_sonst PRIMARY KEY (wert) 
     274  ); 
     275 
     276COMMENT ON TABLE ax_bodenschaetzung_sonstigeangaben 
     277 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "sonstigeangaben".'; 
     278 
     279COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.wert       IS 'numerischer SchlÃŒssel'; 
     280COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.kurz       IS 'KÃŒrzel, Kartenanzeige'; 
     281COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.bezeichner IS 'Lange Bezeichnung'; 
     282 
     283INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1100,'Wa+',   'Nass, zu viel Wasser (Wa+) '); 
     284INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1200,'Wa-',   'Trocken, zu wenig Wasser (Wa-)'); 
     285INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1300,'Wa gt', 'Besonders gÃŒnstige WasserverhÀltnisse (Wa gt)'); 
     286INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1400,'RiWa',  'Rieselwasser, kÃŒnstliche BewÀsserung (RiWa)'); 
     287INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2100,'W',     'Unbedingtes Wiesenland (W)'); 
     288INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2200,'Str',   'Streuwiese (Str) '); 
     289INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2300,'Hu',    'Hutung (Hu)'); 
     290INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2400,'A-Hack','Acker-Hackrain (A-Hack)'); 
     291INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2500,'Gr-Hack','GrÃŒnland-Hackrain (Gr-Hack)'); 
     292INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2600,'G',     'Garten (G)'); 
     293INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(3000,'N',     'Neukultur (N)'); 
     294INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(4000,'T',     'Tiefkultur (T) '); 
     295INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(5000,'Ger',   'Geringstland (Ger)'); 
     296INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(9000,'',      'NachschÀtzung erforderlich '); 
     297 
     298 
     299--DROP TABLE ax_bewertung_klassifizierung; 
     300CREATE TABLE ax_bewertung_klassifizierung ( 
     301    wert integer, 
     302    bezeichner character varying, 
     303        erklaer character varying, 
     304    CONSTRAINT pk_ax_bewertung_klass PRIMARY KEY (wert) 
     305  ); 
     306 
     307COMMENT ON TABLE ax_bewertung_klassifizierung 
     308IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bewertung", Feld "klassifizierung".'; 
     309 
     310COMMENT ON COLUMN ax_bewertung_klassifizierung.wert       IS 'numerischer SchlÃŒssel'; 
     311COMMENT ON COLUMN ax_bewertung_klassifizierung.bezeichner IS 'Lange Bezeichnung'; 
     312COMMENT ON COLUMN ax_bewertung_klassifizierung.erklaer    IS 'ggf. weitere ErlÀrung'; 
     313 
     314 
     315INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1100, 'Unbebautes GrundstÃŒck', ''); 
     316INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1120, 'Unbebautes GrundstÃŒck mit GebÀude von untergeordneter Bedeutung ', ''); 
     317INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1130, 'Unbebautes GrundstÃŒck mit einem dem Verfall preisgegebenen GebÀude', ''); 
     318INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1140, 'Unbebautes GrundstÃŒck fÃŒr Erholungs- und Freizeitzwecke', ''); 
     319INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1210, 'EinfamilienhausgrundstÃŒck', ''); 
     320INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1220, 'ZweifamilienhausgrundstÃŒck', ''); 
     321INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1230, 'MietwohngrundstÃŒck', ''); 
     322INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1240, 'Gemischtgenutztes GrundstÃŒck', ''); 
     323INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1250, 'GeschÀftsgrundstÃŒck', ''); 
     324INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1260, 'Sonstiges bebautes GrundstÃŒck', ''); 
     325INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1310, 'Einfamilienhaus auf fremdem Grund und Boden', ''); 
     326INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1320, 'Zweifamilienhaus auf fremdem Grund und Boden', ''); 
     327INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1330, 'MietwohngrundstÃŒck, MietwohngebÀude auf fremdem Grund und Boden', ''); 
     328INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1340, 'Gemischtgenutztes GrundstÃŒck, gemischtgenutztes GebÀude auf fremdem Grund und Boden ', ''); 
     329INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1350, 'GeschÀftsgrundstÃŒck, GeschÀftsgebÀude auf fremdem Grund und Boden', ''); 
     330INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1360, 'Sonstige bebaute GrundstÃŒcke, sonstige GebÀude auf fremdem Grund und Boden', ''); 
     331INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2110, 'Landwirtschaftliche Nutzung', ''); 
     332INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2120, 'Hopfen', ''); 
     333INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2130, 'Spargel', ''); 
     334INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2190, 'Sonstige Sonderkulturen', ''); 
     335INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2200, 'Holzung', ''); 
     336INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2300, 'Weingarten (allgemein)', ''); 
     337INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2310, 'Weingarten 1', ''); 
     338INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2320, 'Weingarten 2', ''); 
     339INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2330, 'Weingarten 3', ''); 
     340INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2340, 'Weingarten 4', ''); 
     341INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2350, 'Weingarten 5', ''); 
     342INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2360, 'Weingarten 6', ''); 
     343INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2370, 'Weingarten 7', ''); 
     344INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2380, 'Weingarten 8', ''); 
     345INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2390, 'Weingarten 9', ''); 
     346INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2410, 'Gartenland', ''); 
     347INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2420, 'Obstplantage', ''); 
     348INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2430, 'Baumschule', ''); 
     349INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2440, 'AnbauflÀche unter Glas ', ''); 
     350INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2450, 'Kleingarten', ''); 
     351INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2510, 'Weihnachtsbaumkultur', ''); 
     352INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2520, 'Saatzucht', ''); 
     353INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2530, 'Teichwirtschaft', ''); 
     354INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2610, 'Abbauland der Land- und Forstwirtschaft ', ''); 
     355INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2620, 'Geringstland', '"Geringstland" sind FlÀchen geringster ErtragsfÀhigkeit ohne Wertzahlen nach dem BodenschÀtzungsgesetz, das sind unkultivierte Moor- und HeideflÀchen (sofern nicht gesondert gefÃŒhrt), ehemals bodengeschÀtzte FlÀchen und ehemalige WeinbauflÀchen, die ihren Kulturzustand verloren haben.'); 
     356INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2630, 'Unland',   ''); 
     357INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2640, 'Moor',     '"Moor" ist eine unkultivierte FlÀche mit einer (mindestens 20 cm starken) Auflage aus vertorften und vermoorten Pflanzenresten, soweit sie nicht als Torfstich benutzt wird.'); 
     358INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2650, 'Heide',    '"Heide" ist eine unkultivierte, sandige, ÃŒberwiegend mit Heidekraut oder Ginster bewachsene FlÀche.'); 
     359INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2700, 'Reet',     '"Reet" ist eine stÀndig oder zeitweise unter Wasser stehende und mit Reet bewachsene FlÀche.'); 
     360INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2710, 'Reet I',   'ReetflÀche, deren Nutzung eingestuft ist in GÃŒteklasse I (gut).'); 
     361INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2720, 'Reet II',  'ReetflÀche, deren Nutzung eingestuft ist in GÃŒteklasse II (mittel).'); 
     362INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2730, 'Reet III', 'ReetflÀche, deren Nutzung eingestuft ist in GÃŒteklasse III (gering).'); 
     363INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2800, 'NebenflÀche des Betriebs der Land- und Forstwirtschaft', ''); 
     364INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2899, 'Noch nicht klassifiziert', ''); 
     365 
    266366-- BodenschÀtzung 
    267367 
    268368-- FÃŒr Nachschlagen bei Feature-Info: EntschlÃŒsselung in Langform zu einer KlassenflÀche, ohne Geometrie. 
     369--DROP VIEW s_bodensch_ent; 
    269370CREATE OR REPLACE VIEW s_bodensch_ent 
    270371AS  
     
    280381        -- entstehungsartoderklimastufewasserverhaeltnisse ist array! 
    281382        bs.sonstigeangaben,             -- integer array  - EntschlÃŒsseln? 
     383        so1.bezeichner                     AS sonst1, -- EnstschlÃŒsselung  
     384        so2.bezeichner                     AS sonst2, 
    282385        bs.jahreszahl                           -- integer 
    283386   FROM ax_bodenschaetzung bs 
     
    289392   LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea2  
    290393          ON bs.entstehungsartoderklimastufewasserverhaeltnisse[2] = ea2.wert   -- [2] manchmal gefÃŒllt 
     394   LEFT JOIN ax_bodenschaetzung_sonstigeangaben so1 ON bs.sonstigeangaben[1] = so1.wert -- [1] selten gefÃŒllt 
     395   LEFT JOIN ax_bodenschaetzung_sonstigeangaben so2 ON bs.sonstigeangaben[2] = so2.wert -- [2] noch seltener 
    291396   WHERE bs.endet IS NULL; 
    292397COMMENT ON VIEW s_bodensch_ent IS 'Sicht fÃŒr Feature-Info: BodenschÀtzung, mit Langtexten entschlÃŒsselt'; 
    293  
     398GRANT SELECT ON TABLE s_bodensch_ent TO ms6; 
    294399 
    295400-- KlassenflÀche (Geometrie) mit ihrem Kurz-Label-Text, der dann mittig an Standardposition angezeigt werden kann.  
     
    405510COMMENT ON VIEW s_zuordungspfeilspitze_flurstueck IS 'Sicht fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer, Spitze'; 
    406511 
    407  
    408512-- GRANT 
    409513-- BodenschÀtzung 
     
    416520GRANT SELECT ON TABLE ax_bodenschaetzung_zustandsstufe     TO ms6; 
    417521GRANT SELECT ON TABLE ax_bodenschaetzung_zustandsstufe     TO mb27; 
     522GRANT SELECT ON TABLE ax_bodenschaetzung_sonstigeangaben   TO ms6; 
     523GRANT SELECT ON TABLE ax_bodenschaetzung_sonstigeangaben   TO mb27; 
    418524GRANT SELECT ON TABLE ax_grablochderbodenschaetzung_bedeutung  TO ms6; 
    419525GRANT SELECT ON TABLE ax_grablochderbodenschaetzung_bedeutung  TO mb27; 
    420526GRANT SELECT ON TABLE ax_musterlandesmusterundvergleichsstueck_merkmal TO ms6; 
    421527GRANT SELECT ON TABLE ax_musterlandesmusterundvergleichsstueck_merkmal TO mb27; 
     528GRANT SELECT ON TABLE ax_bewertung_klassifizierung         TO ms6; 
     529GRANT SELECT ON TABLE ax_bewertung_klassifizierung         TO mb27; 
     530 
    422531-- BodenschÀtzung Views 
    423532GRANT SELECT ON TABLE s_bodensch_wms TO ms6; 
  • trunk/import/alkis_PostNAS_keytables.sql

    r276 r278  
    11 
    2 -- ALKIS-Datenbank aus dem Konverter PostNAS 0.7 
     2-- ALKIS-Datenbank aus dem Konverter PostNAS 
    33 
    44-- Z u s a e t z l i c h e   S c h l u e s s e l t a b e l l e n 
     
    1010-- Die Tabellen werden vom Buchwerk-Auskunftsprogramm benoetigt. 
    1111 
    12 -- Dies Script kann nach dem Anlegen der Datenbank mit dem Script 'alkis_PostNAS_0.7_schema.sql' verarbeitet werden. 
    13  
    14 -- Alternativ kann eine Template-Datenbbank bereits mit diesen Schluesseltabellen angelegt werden. 
     12-- Dies Script kann nach dem Anlegen der Datenbank mit dem Script 'alkis_PostNAS_schema.sql' verarbeitet werden. 
    1513 
    1614-- Version 
     
    2523--                   ax_klassifizierungnachstrassenrecht_artdf, ax_naturumweltoderbodenschutzrecht_artdf,  
    2624--                   ax_sonstigesrecht_artdf, ax_anderefestlegungnachwasserrecht_artdf 
    27 --  2013-04-16  F.J. Kurzbezeichnungen der BodenschÀttung fÃŒr die Kartendarstellung 
     25--  2013-04-17  F.J. Kurzbezeichnungen der BodenschÀttung fÃŒr die Kartendarstellung 
    2826 
    2927  SET client_encoding = 'UTF8'; 
     
    3129-- G e b a e u d e - B a u w e i s e 
    3230-- --------------------------------- 
    33  
    3431-- Wird z.B. benoetigt in Buchauskunft, Modul 'alkisgebaeudenw.php' 
    35  
    3632-- Nicht im Grunddatenbestand NRW  
    3733-- Siehe http://www.kreis-euskirchen.de/service/downloads/geoinformation/Kreis_EU_Gebaeudeerfassung.pdf 
     
    4440 
    4541COMMENT ON TABLE ax_gebaeude_bauweise  
    46 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     42 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_gebaeude", Feld "bauweise".'; 
     43 
     44COMMENT ON COLUMN ax_gebaeude_bauweise.bauweise_id           IS 'numerischer SchlÃŒssel'; 
     45COMMENT ON COLUMN ax_gebaeude_bauweise.bauweise_beschreibung IS 'Bezeichnung, Bedeutung'; 
    4746 
    4847INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (1100,'Freistehendes EinzelgebÀude'); 
     
    5958 
    6059 
    61  
    6260-- G e b a e u d e - F u n k t i o n 
    6361-- --------------------------------- 
    64  
    6562-- Tabelle wird z.B. benoetigt in Buchauskunft, Modul 'alkisgebaeudenw.php' 
    66  
    6763-- Kennung   = 31001 
    6864-- Objektart = 'ax_gebaeude' 
     
    7672   ); 
    7773 
    78  
    7974COMMENT ON TABLE  ax_gebaeude_funktion  
    80 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     75 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_gebaeude", Feld "funktion".'; 
     76 
     77COMMENT ON COLUMN ax_gebaeude_funktion.wert       IS 'numerischer SchlÃŒssel'; 
     78COMMENT ON COLUMN ax_gebaeude_funktion.bezeichner IS 'Bezeichnung, Bedeutung'; 
    8179 
    8280INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1000,'WohngebÀude'); 
     
    314312 
    315313 
    316  
    317314-- W e i t e r e   G e b a e u d e - F u n k t i o n 
    318315-- ------------------------------------------------- 
    319316 
    320317--DROP TABLE ax_gebaeude_weiterefunktion; 
    321  
    322318CREATE TABLE ax_gebaeude_weiterefunktion ( 
    323319    wert        integer, 
    324320    bezeichner  character varying, 
     321        erklaer         character varying, 
    325322    CONSTRAINT pk_ax_gebaeude_weitfunktion_wert PRIMARY KEY (wert) 
    326323   ); 
    327324 
    328325COMMENT ON TABLE  ax_gebaeude_weiterefunktion  
    329 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
    330  
    331 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1000, 'Bankfiliale');        -- , 'Bankfiliale' ist eine Einrichtung in der GeldgeschÀfte getÀtigt werden. 
    332 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1010, 'Hotel');              -- , 'Hotel' ist ein Beherbergungs- und/oder Verpflegungsbetrieb. 
    333 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1020, 'Jugendherberge');     -- , 'Jugendherberge' ist eine zur Förderung von Jugendreisen dienende Aufenthalts- und ÜbernachtungsstÀtte. 
    334 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1030, 'GaststÀtte');                -- , 'GaststÀtte' ist eine Einrichtung, in der gegen Entgelt Mahlzeiten und GetrÀnke zum sofortigen Verzehr angeboten werden. 
    335 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1040, 'Kino');               -- , 'Kino' ist eine Einrichtung, in der alle Arten von Filmen bzw. Lichtspielen fÃŒr ein Publikum abgespielt werden. 
    336 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1050, 'Spielkasino');        -- , 'Spielkasino' ist eine Einrichtung, in der öffentlich zugÀnglich staatlich konzessioniertes GlÃŒcksspiel betrieben wird. 
    337 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1060, 'Tiefgarage');         -- , 'Tiefgarage' ist ein Bauwerk unterhalb der ErdoberflÀche, in dem Fahrzeuge abgestellt werden. 
    338 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1070, 'Parkdeck');           -- , 'Parkdeck' ist eine FlÀche auf einem GebÀude, auf der Fahrzeuge abgestellt werden. 
    339 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1080, 'Toilette');           -- , 'Toilette' ist eine Einrichtung mit sanitÀren Vorrichtungen zum Verrichtung der Notdurft. 
    340 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1090, 'Post');               -- , 'Post' ist eine Einrichtung, von der aus Briefe, Pakete befördert und weitere Dienstleistungen angeboten werden. 
    341 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1100, 'Zoll');               -- , 'Zoll' ist eine Einrichtung der Zollabfertigung. 
    342 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1110, 'Theater');            -- , 'Theater' ist eine Einrichtung, in der BÃŒhnenstÃŒcke aufgefÃŒhrt werden. 
    343 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1120, 'Museum');             -- , 'Museum' ist eine Einrichtung in der Sammlungen von (historischen) Objekten oder Reproduktionen davon ausgestellt werden. 
    344 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1130, 'Bibliothek');         -- , 'Bibliothek' ist eine Einrichtung, in der BÃŒcher und Zeitschriften gesammelt, aufbewahrt und ausgeliehen werden. 
    345 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1140, 'Kapelle');            -- , 'Kapelle' ist eine Einrichtung fÃŒr (christliche) gottesdienstliche Zwecke . 
    346 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1150, 'Moschee');            -- , 'Moschee' ist ein Einrichtung, in der sich Muslime zu Gottesdiensten versammeln oder zu anderen Zwecken treffen. 
    347 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1160, 'Tempel'); 
    348 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1170, 'Apotheke');           -- ,'Apotheke' ist ein GeschÀft, in dem Arzneimittel hergestellt und verkauft werden. 
    349 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1180, 'Polizeiwache');       -- , 'Polizeiwache' ist eine Dienststelle der Polizei. 
    350 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1190, 'Rettungsstelle');     -- , 'Rettungsstelle' ist eine Einrichtung zur Aufnahme, Erstbehandlung und gezielten Weiterverlegung von Patienten mit Erkrankungen und UnfÀllen aller Art. 
    351 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1200, 'Touristisches Informationszentrum'); -- , 'Touristisches Informationszentrum' ist eine Auskunftsstelle fÃŒr Touristen. 
    352 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1210, 'Kindergarten');       -- , 'Kindergarten' ist eine Einrichtung, in der Kinder im Vorschulalter betreut werden. 
    353 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1220, 'Arztpraxis');         -- , 'Arztpraxis' ist die ArbeitsstÀtte eines Arztes. 
    354 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1230, 'Supermarkt'); 
    355 INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner) VALUES (1240, 'GeschÀft'); 
     326 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_gebaeude", Feld "weiterefunktion".'; 
     327 
     328COMMENT ON COLUMN ax_gebaeude_weiterefunktion.wert       IS 'numerischer SchlÃŒssel'; 
     329COMMENT ON COLUMN ax_gebaeude_weiterefunktion.bezeichner IS 'Lange Bezeichnung'; 
     330COMMENT ON COLUMN ax_gebaeude_weiterefunktion.erklaer    IS 'ALKIS erklÀrt uns die Welt'; 
     331 
     332INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1000, 'Bankfiliale',    '"Bankfiliale" ist eine Einrichtung in der GeldgeschÀfte getÀtigt werden.'); 
     333INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1010, 'Hotel',          '"Hotel" ist ein Beherbergungs- und/oder Verpflegungsbetrieb.'); 
     334INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1020, 'Jugendherberge', '"Jugendherberge" ist eine zur Förderung von Jugendreisen dienende Aufenthalts- und ÜbernachtungsstÀtte.');       
     335INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1030, 'GaststÀtte',     '"GaststÀtte" ist eine Einrichtung, in der gegen Entgelt Mahlzeiten und GetrÀnke zum sofortigen Verzehr angeboten werden.'); 
     336INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1040, 'Kino',           '"Kino" ist eine Einrichtung, in der alle Arten von Filmen bzw. Lichtspielen fÃŒr ein Publikum abgespielt werden.'); 
     337INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1050, 'Spielkasino',    '"Spielkasino" ist eine Einrichtung, in der öffentlich zugÀnglich staatlich konzessioniertes GlÃŒcksspiel betrieben wird.'); 
     338INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1060, 'Tiefgarage',     '"Tiefgarage" ist ein Bauwerk unterhalb der ErdoberflÀche, in dem Fahrzeuge abgestellt werden.'); 
     339INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1070, 'Parkdeck',       '"Parkdeck" ist eine FlÀche auf einem GebÀude, auf der Fahrzeuge abgestellt werden.'); 
     340INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1080, 'Toilette',       '"Toilette" ist eine Einrichtung mit sanitÀren Vorrichtungen zum Verrichtung der Notdurft.'); 
     341INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1090, 'Post',           '"Post" ist eine Einrichtung, von der aus Briefe, Pakete befördert und weitere Dienstleistungen angeboten werden.'); 
     342INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1100, 'Zoll',           '"Zoll" ist eine Einrichtung der Zollabfertigung.'); 
     343INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1110, 'Theater',        '"Theater" ist eine Einrichtung, in der BÃŒhnenstÃŒcke aufgefÃŒhrt werden.'); 
     344INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1120, 'Museum',         '"Museum" ist eine Einrichtung in der Sammlungen von (historischen) Objekten oder Reproduktionen davon ausgestellt werden.'); 
     345INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1130, 'Bibliothek',     '"Bibliothek" ist eine Einrichtung, in der BÃŒcher und Zeitschriften gesammelt, aufbewahrt und ausgeliehen werden.'); 
     346INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1140, 'Kapelle',        '"Kapelle" ist eine Einrichtung fÃŒr (christliche) gottesdienstliche Zwecke.'); 
     347INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1150, 'Moschee',        '"Moschee" ist ein Einrichtung, in der sich Muslime zu Gottesdiensten versammeln oder zu anderen Zwecken treffen.');         
     348INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1160, 'Tempel',         ''); 
     349INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1170, 'Apotheke',       '"Apotheke" ist ein GeschÀft, in dem Arzneimittel hergestellt und verkauft werden.'); 
     350INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1180, 'Polizeiwache',   '"Polizeiwache" ist eine Dienststelle der Polizei.'); 
     351INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1190, 'Rettungsstelle', '"Rettungsstelle" ist eine Einrichtung zur Aufnahme, Erstbehandlung und gezielten Weiterverlegung von Patienten mit Erkrankungen und UnfÀllen aller Art.'); 
     352INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1200, 'Touristisches Informationszentrum', '"Touristisches Informationszentrum" ist eine Auskunftsstelle fÃŒr Touristen.'); 
     353INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1210, 'Kindergarten',    '"Kindergarten" ist eine Einrichtung, in der Kinder im Vorschulalter betreut werden.'); 
     354INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1220, 'Arztpraxis',      '"Arztpraxis" ist die ArbeitsstÀtte eines Arztes.'); 
     355INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1230, 'Supermarkt',      ''); 
     356INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1240, 'GeschÀft',        ''); 
    356357 
    357358 
     
    360361 
    361362--DROP TABLE ax_gebaeude_dachform; 
    362  
    363363CREATE TABLE ax_gebaeude_dachform  
    364364   (wert        integer,  
     
    368368 
    369369COMMENT ON TABLE  ax_gebaeude_dachform  
    370 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     370 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_gebaeude", Feld "dachform".'; 
     371 
     372COMMENT ON COLUMN ax_gebaeude_dachform.wert       IS 'numerischer SchlÃŒssel'; 
     373COMMENT ON COLUMN ax_gebaeude_dachform.bezeichner IS 'Lange Bezeichnung'; 
    371374 
    372375INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (1000, 'Flachdach'); 
     
    394397   (wert        integer,  
    395398    bezeichner  character varying, 
     399        erklaer         character varying, 
    396400    CONSTRAINT pk_ax_gebaeude_zustand_wert PRIMARY KEY (wert) 
    397401   ); 
    398402 
    399403COMMENT ON TABLE  ax_gebaeude_zustand  
    400 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     404 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "___", Feld "___".'; 
     405 
     406COMMENT ON COLUMN ax_gebaeude_zustand.wert       IS 'numerischer SchlÃŒssel'; 
     407COMMENT ON COLUMN ax_gebaeude_zustand.erklaer    IS 'ggf. zusÀtzliche ErklÀrung'; 
     408COMMENT ON COLUMN ax_gebaeude_zustand.bezeichner IS 'Lange Bezeichnung'; 
    401409 
    402410INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (1000, 'In behelfsmÀßigem Zustand'); 
    403411INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (2000, 'In ungenutztem Zustand'); 
    404 INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (2100, 'Außer Betrieb, stillgelegt, verlassen'); 
    405 --'Außer Betrieb, stillgelegt, verlassen' bedeutet, dass das GebÀude auf Dauer nicht mehr bewohnt oder genutzt wird. 
    406 INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (2200, 'Verfallen, zerstört'); 
    407 -- 'Verfallen, zerstört' bedeutet, dass sich der ursprÃŒngliche Zustand des GebÀudes durch menschliche oder zeitliche Einwirkungen so verÀndert hat, dass eine Nutzung nicht mehr möglich ist. 
     412INSERT INTO ax_gebaeude_zustand (wert, bezeichner, erklaer) VALUES (2100, 'Außer Betrieb, stillgelegt, verlassen', '"Außer Betrieb, stillgelegt, verlassen" bedeutet, dass das GebÀude auf Dauer nicht mehr bewohnt oder genutzt wird'); 
     413INSERT INTO ax_gebaeude_zustand (wert, bezeichner, erklaer) VALUES (2200, 'Verfallen, zerstört', '"Verfallen, zerstört" bedeutet, dass sich der ursprÃŒngliche Zustand des GebÀudes durch menschliche oder zeitliche Einwirkungen so verÀndert hat, dass eine Nutzung nicht mehr möglich ist.'); 
    408414INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (2300, 'Teilweise zerstört'); 
    409415INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (3000, 'Geplant und beantragt'); 
     
    413419-- LageZurErdoberflaeche 
    414420-- --------------------- 
    415 -- nur 2 Werte 
    416  
     421-- nur 2 Werte: 
    417422-- 1200, Unter der ErdoberflÀche 
    418 --      "Unter der ErdoberflÀche" bedeutet, dass sich das GebÀude unter der ErdoberflÀche befindet. 
    419  
     423--          "Unter der ErdoberflÀche" bedeutet, dass sich das GebÀude unter der ErdoberflÀche befindet. 
    420424-- 1400, AufgestÀndert 
    421 --      "AufgestÀndert" bedeutet, dass ein GebÀude auf StÃŒtzen steht. 
     425--          "AufgestÀndert" bedeutet, dass ein GebÀude auf StÃŒtzen steht. 
    422426 
    423427 
    424428-- Dachgeschossausbau 
    425429-- ------------------ 
    426 -- nur 4 Werte 
    427  
     430-- nur 4 Werte: 
    428431-- 1000 Nicht ausbaufÀhig 
    429432-- 2000 AusbaufÀhig 
     
    434437-- B u c h u n g s t s t e l l e  -  B u c h u n g s a r t 
    435438-- ------------------------------------------------------- 
    436  
    437439-- Kennung   = 21008, 
    438440-- Objektart = 'ax_buchungsstelle' 
     
    445447 
    446448COMMENT ON TABLE  ax_buchungsstelle_buchungsart  
    447 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     449 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_buchungsstelle", Feld "buchungsart".'; 
     450 
     451COMMENT ON COLUMN ax_buchungsstelle_buchungsart.wert       IS 'numerischer SchlÃŒssel'; 
     452COMMENT ON COLUMN ax_buchungsstelle_buchungsart.bezeichner IS 'Lange Bezeichnung'; 
    448453 
    449454-- 51 Werte 
     
    523528 
    524529COMMENT ON TABLE  ax_bauraumoderbodenordnungsrecht_artderfestlegung  
    525 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     530IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bauraumoderbodenordnungsrecht", Feld "artderfestlegung".'; 
     531 
     532COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht_artderfestlegung.wert       IS 'numerischer SchlÃŒssel'; 
     533COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht_artderfestlegung.bezeichner IS 'Lange Bezeichnung'; 
    526534 
    527535INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1700,'Festlegung nach Baugesetzbuch - Allgemeines StÀdtebaurecht'); 
     
    591599 
    592600COMMENT ON TABLE ax_bodenschaetzung_kulturart  
    593 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     601 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "kulturart".'; 
    594602 
    595603COMMENT ON COLUMN ax_bodenschaetzung_kulturart.wert       IS 'numerischer SchlÃŒssel'; 
     
    614622 
    615623COMMENT ON TABLE ax_bodenschaetzung_bodenart  
    616 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     624 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "bodenart".'; 
    617625 
    618626COMMENT ON COLUMN ax_bodenschaetzung_bodenart.wert       IS 'numerischer SchlÃŒssel'; 
     
    708716 
    709717COMMENT ON TABLE ax_bodenschaetzung_zustandsstufe  
    710 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     718 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "zustandsstufe".'; 
    711719 
    712720COMMENT ON COLUMN ax_bodenschaetzung_zustandsstufe.wert       IS 'numerischer SchlÃŒssel'; 
     
    738746    kurz character varying, 
    739747    bezeichner character varying, 
    740     CONSTRAINT pk_ax_musterlandesmusterundvergleichsstueck_merkmal  PRIMARY KEY (wert) 
     748    CONSTRAINT pk_ax_musterstueck_merkmal  PRIMARY KEY (wert) 
    741749  ); 
    742750 
    743751COMMENT ON TABLE ax_musterlandesmusterundvergleichsstueck_merkmal  
    744 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     752 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_musterlandesmusterundvergleichsstueck", Feld "merkmal".'; 
    745753 
    746754COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck_merkmal.wert       IS 'numerischer SchlÃŒssel'; 
     
    759767    wert integer, 
    760768    bezeichner character varying, 
    761     CONSTRAINT pk_ax_grablochderbodenschaetzung_bedeutung  PRIMARY KEY (wert) 
     769    CONSTRAINT pk_ax_grabloch_bedeutung  PRIMARY KEY (wert) 
    762770  ); 
    763771 
    764772COMMENT ON TABLE ax_grablochderbodenschaetzung_bedeutung 
    765 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
    766  
    767 INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert,bezeichner) VALUES (1100,'Grabloch, bestimmend, lagerichtig (innerhalb der FlÀche)'); 
    768 INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert,bezeichner) VALUES (1200,'Grabloch, bestimmend, lagerichtig (außerhalb des Abschnitts)'); 
    769 INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert,bezeichner) VALUES (1300,'Grabloch, nicht lagerichtig, im Abschnitt nicht vorhanden'); 
    770 INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert,bezeichner) VALUES (2000,'Grabloch fÃŒr Muster-, Landesmuster-, VergleichsstÃŒck'); 
    771 INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert,bezeichner) VALUES (3000,'Grabloch, nicht bestimmend'); 
     773 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_grablochderbodenschaetzung", Feld "bedeutung".'; 
     774 
     775COMMENT ON COLUMN ax_grablochderbodenschaetzung_bedeutung.wert       IS 'numerischer SchlÃŒssel'; 
     776COMMENT ON COLUMN ax_grablochderbodenschaetzung_bedeutung.bezeichner IS 'Lange Bezeichnung'; 
     777 
     778INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert, bezeichner) VALUES (1100, 'Grabloch, bestimmend, lagerichtig (innerhalb der FlÀche)'); 
     779INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert, bezeichner) VALUES (1200, 'Grabloch, bestimmend, lagerichtig (außerhalb des Abschnitts)'); 
     780INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert, bezeichner) VALUES (1300, 'Grabloch, nicht lagerichtig, im Abschnitt nicht vorhanden'); 
     781INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert, bezeichner) VALUES (2000, 'Grabloch fÃŒr Muster-, Landesmuster-, VergleichsstÃŒck'); 
     782INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert, bezeichner) VALUES (3000, 'Grabloch, nicht bestimmend'); 
    772783 
    773784 
     
    779790    kurz character varying, 
    780791    bezeichner character varying, 
    781     CONSTRAINT pk_ax_bodenschaetzung_entstehungsartoderklimastufe PRIMARY KEY (wert) 
     792    CONSTRAINT pk_ax_bodenschaetzung_entstehung PRIMARY KEY (wert) 
    782793  ); 
    783794 
    784795COMMENT ON TABLE ax_bodenschaetzung_entstehungsartoderklimastufe 
    785 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.'; 
     796 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "entstehungsartoderklimastufe".'; 
    786797 
    787798COMMENT ON COLUMN ax_bodenschaetzung_entstehungsartoderklimastufe.wert       IS 'numerischer SchlÃŒssel'; 
     
    844855INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7530,'3+4', 'Wasserstufe (3+4)'); 
    845856 
     857 
     858-- B o d e n s c h a e t z u n g   -  sonstige Angaben 
     859-- ---------------------------------------------------------------------------------------- 
     860--DROP TABLE ax_bodenschaetzung_sonstigeangaben; 
     861CREATE TABLE ax_bodenschaetzung_sonstigeangaben ( 
     862    wert integer, 
     863    kurz character varying, 
     864    bezeichner character varying, 
     865    CONSTRAINT pk_ax_bodenschaetzung_sonst PRIMARY KEY (wert) 
     866  ); 
     867 
     868COMMENT ON TABLE ax_bodenschaetzung_sonstigeangaben 
     869 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "sonstigeangaben".'; 
     870 
     871COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.wert       IS 'numerischer SchlÃŒssel'; 
     872COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.kurz       IS 'KÃŒrzel, Kartenanzeige'; 
     873COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.bezeichner IS 'Lange Bezeichnung'; 
     874 
     875INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1100,'Wa+',   'Nass, zu viel Wasser (Wa+)'); 
     876INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1200,'Wa-',   'Trocken, zu wenig Wasser (Wa-)'); 
     877INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1300,'Wa gt', 'Besonders gÃŒnstige WasserverhÀltnisse (Wa gt)'); 
     878INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1400,'RiWa',  'Rieselwasser, kÃŒnstliche BewÀsserung (RiWa)'); 
     879INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2100,'W',     'Unbedingtes Wiesenland (W)'); 
     880INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2200,'Str',   'Streuwiese (Str) '); 
     881INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2300,'Hu',    'Hutung (Hu)'); 
     882INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2400,'A-Hack','Acker-Hackrain (A-Hack)'); 
     883INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2500,'Gr-Hack','GrÃŒnland-Hackrain (Gr-Hack)'); 
     884INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2600,'G',     'Garten (G)'); 
     885INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(3000,'N',     'Neukultur (N)'); 
     886INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(4000,'T',     'Tiefkultur (T) '); 
     887INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(5000,'Ger',   'Geringstland (Ger)'); 
     888INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(9000,'',      'NachschÀtzung erforderlich '); 
     889 
     890-- Testfall dazu finden: 
     891-- SELECT gml_id, sonstigeangaben, x(st_Centroid(wkb_geometry)) AS x, y(st_Centroid(wkb_geometry)) AS y  
     892--  FROM ax_bodenschaetzung WHERE NOT sonstigeangaben[1] IS NULL LIMIT 10; -- NOT sonstigeangaben[2] IS NULL 
     893 
     894 
     895-- B e w e r t u n g  - Klassifizierung 
     896-- ---------------------------------------------------------------------------------------- 
     897--DROP TABLE ax_bewertung_klassifizierung; 
     898CREATE TABLE ax_bewertung_klassifizierung ( 
     899    wert integer, 
     900    bezeichner character varying, 
     901        erklaer character varying, 
     902    CONSTRAINT pk_ax_bewertung_klass PRIMARY KEY (wert) 
     903  ); 
     904 
     905COMMENT ON TABLE ax_bewertung_klassifizierung 
     906IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bewertung", Feld "klassifizierung".'; 
     907 
     908COMMENT ON COLUMN ax_bewertung_klassifizierung.wert       IS 'numerischer SchlÃŒssel'; 
     909COMMENT ON COLUMN ax_bewertung_klassifizierung.bezeichner IS 'Lange Bezeichnung'; 
     910COMMENT ON COLUMN ax_bewertung_klassifizierung.erklaer    IS 'ggf. weitere ErlÀrung'; 
     911 
     912 
     913INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1100, 'Unbebautes GrundstÃŒck', ''); 
     914INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1120, 'Unbebautes GrundstÃŒck mit GebÀude von untergeordneter Bedeutung ', ''); 
     915INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1130, 'Unbebautes GrundstÃŒck mit einem dem Verfall preisgegebenen GebÀude', ''); 
     916INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1140, 'Unbebautes GrundstÃŒck fÃŒr Erholungs- und Freizeitzwecke', ''); 
     917INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1210, 'EinfamilienhausgrundstÃŒck', ''); 
     918INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1220, 'ZweifamilienhausgrundstÃŒck', ''); 
     919INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1230, 'MietwohngrundstÃŒck', ''); 
     920INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1240, 'Gemischtgenutztes GrundstÃŒck', ''); 
     921INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1250, 'GeschÀftsgrundstÃŒck', ''); 
     922INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1260, 'Sonstiges bebautes GrundstÃŒck', ''); 
     923INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1310, 'Einfamilienhaus auf fremdem Grund und Boden', ''); 
     924INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1320, 'Zweifamilienhaus auf fremdem Grund und Boden', ''); 
     925INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1330, 'MietwohngrundstÃŒck, MietwohngebÀude auf fremdem Grund und Boden', ''); 
     926INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1340, 'Gemischtgenutztes GrundstÃŒck, gemischtgenutztes GebÀude auf fremdem Grund und Boden ', ''); 
     927INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1350, 'GeschÀftsgrundstÃŒck, GeschÀftsgebÀude auf fremdem Grund und Boden', ''); 
     928INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1360, 'Sonstige bebaute GrundstÃŒcke, sonstige GebÀude auf fremdem Grund und Boden', ''); 
     929INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2110, 'Landwirtschaftliche Nutzung', ''); 
     930INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2120, 'Hopfen', ''); 
     931INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2130, 'Spargel', ''); 
     932INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2190, 'Sonstige Sonderkulturen', ''); 
     933INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2200, 'Holzung', ''); 
     934INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2300, 'Weingarten (allgemein)', ''); 
     935INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2310, 'Weingarten 1', ''); 
     936INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2320, 'Weingarten 2', ''); 
     937INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2330, 'Weingarten 3', ''); 
     938INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2340, 'Weingarten 4', ''); 
     939INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2350, 'Weingarten 5', ''); 
     940INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2360, 'Weingarten 6', ''); 
     941INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2370, 'Weingarten 7', ''); 
     942INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2380, 'Weingarten 8', ''); 
     943INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2390, 'Weingarten 9', ''); 
     944INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2410, 'Gartenland', ''); 
     945INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2420, 'Obstplantage', ''); 
     946INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2430, 'Baumschule', ''); 
     947INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2440, 'AnbauflÀche unter Glas ', ''); 
     948INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2450, 'Kleingarten', ''); 
     949INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2510, 'Weihnachtsbaumkultur', ''); 
     950INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2520, 'Saatzucht', ''); 
     951INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2530, 'Teichwirtschaft', ''); 
     952INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2610, 'Abbauland der Land- und Forstwirtschaft ', ''); 
     953INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2620, 'Geringstland', '"Geringstland" sind FlÀchen geringster ErtragsfÀhigkeit ohne Wertzahlen nach dem BodenschÀtzungsgesetz, das sind unkultivierte Moor- und HeideflÀchen (sofern nicht gesondert gefÃŒhrt), ehemals bodengeschÀtzte FlÀchen und ehemalige WeinbauflÀchen, die ihren Kulturzustand verloren haben.'); 
     954INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2630, 'Unland',   ''); 
     955INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2640, 'Moor',     '"Moor" ist eine unkultivierte FlÀche mit einer (mindestens 20 cm starken) Auflage aus vertorften und vermoorten Pflanzenresten, soweit sie nicht als Torfstich benutzt wird.'); 
     956INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2650, 'Heide',    '"Heide" ist eine unkultivierte, sandige, ÃŒberwiegend mit Heidekraut oder Ginster bewachsene FlÀche.'); 
     957INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2700, 'Reet',     '"Reet" ist eine stÀndig oder zeitweise unter Wasser stehende und mit Reet bewachsene FlÀche.'); 
     958INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2710, 'Reet I',   'ReetflÀche, deren Nutzung eingestuft ist in GÃŒteklasse I (gut).'); 
     959INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2720, 'Reet II',  'ReetflÀche, deren Nutzung eingestuft ist in GÃŒteklasse II (mittel).'); 
     960INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2730, 'Reet III', 'ReetflÀche, deren Nutzung eingestuft ist in GÃŒteklasse III (gering).'); 
     961INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2800, 'NebenflÀche des Betriebs der Land- und Forstwirtschaft', ''); 
     962INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2899, 'Noch nicht klassifiziert', ''); 
    846963 
    847964 
  • trunk/import/alkis_PostNAS_schema.sql

    r276 r278  
    6060--                von Tabellen, die PostNAS selbst generiert hat. 
    6161 
    62 -- 2013-04-15 FJ  Tabelle ax_wirtschaftlicheeinheit 
     62-- 2013-04-22 FJ  Tabelle ax_wirtschaftlicheeinheit, Kommentare ergÀnzt, 
     63--                Felad "ax_historischesflurstueck.buchungsart" varchar statt integer 
     64 
    6365 
    6466 
     
    305307CREATE UNIQUE INDEX ax_soll_gml ON ax_soll USING btree (gml_id,beginnt); 
    306308 
    307 -- COMMENT ON TABLE ax___  IS 'XXXX'; 
     309COMMENT ON TABLE  ax_soll        IS 'S o l l'; 
     310COMMENT ON COLUMN ax_soll.gml_id IS 'Identifikator, global eindeutig'; 
    308311 
    309312 
     
    327330CREATE UNIQUE INDEX ax_bewertung_gml ON ax_bewertung USING btree (gml_id,beginnt); 
    328331 
    329 COMMENT ON TABLE  ax_bewertung        IS 'B e w e r t u n g'; 
     332COMMENT ON TABLE  ax_bewertung        IS '"B e w e r t u n g"  ist die Klassifizierung einer FlÀche nach dem Bewertungsgesetz (BewertungsflÀche).'; 
    330333COMMENT ON COLUMN ax_bewertung.gml_id IS 'Identifikator, global eindeutig'; 
    331334 
    332 -- COMMENT ON TABLE ax___  IS 'XXXX'; 
     335COMMENT ON COLUMN ax_bewertung.klassifizierung IS '"Klassifizierung" ist die gesetzliche Klassifizierung nach dem Bewertungsgesetz.'; 
     336 
    333337 
    334338 
     
    352356CREATE UNIQUE INDEX ax_tagesabschnitt_gml ON ax_tagesabschnitt USING btree (gml_id,beginnt); 
    353357 
    354 -- COMMENT ON TABLE ax___  IS 'XXXX'; 
     358COMMENT ON TABLE  ax_tagesabschnitt        IS 'T a g e s a b s c h n i t t  der BodenschÀtzung.'; 
     359COMMENT ON COLUMN ax_tagesabschnitt.gml_id IS 'Identifikator, global eindeutig'; 
    355360 
    356361 
     
    406411CREATE INDEX ax_forstrecht_afs ON ax_forstrecht(land,stelle); 
    407412 
    408 -- COMMENT ON TABLE ax___  IS 'XXXX'; 
     413COMMENT ON TABLE  ax_forstrecht        IS 'F o r s t r e c h t'; 
     414COMMENT ON COLUMN ax_forstrecht.gml_id IS 'Identifikator, global eindeutig'; 
     415 
    409416 
    410417-- G e b À u d e a u s g e s t a l t u n g 
     
    630637        nachfolgerflurstueckskennzeichen        varchar[], 
    631638        blattart                        integer, 
    632         buchungsart                     integer, 
     639        buchungsart                     varchar, -- integer, geÀ. 2013-04-22 Value z.B. "GrundstÃŒck" 
    633640        buchungsblattkennzeichen        varchar[], 
    634641        bezirk                          integer, 
     
    17581765        bezirk                  integer, 
    17591766        buchungsblattnummermitbuchstabenerweiterung     varchar, 
     1767    -- Konverter mault: "Warning 1: Value '001648 ' ... parsed incompletely to integer 1648." usw. 
    17601768        blattart                integer, 
    17611769        art                     varchar, 
     
    31023110CREATE UNIQUE INDEX ax_einrichtunginoeffentlichenbereichen_gml ON ax_einrichtunginoeffentlichenbereichen USING btree (gml_id,beginnt); 
    31033111 
    3104 COMMENT ON TABLE  ax_einrichtunginoeffentlichenbereichen        IS 'E i n r i c h t u n g   i n   Ã– f f e n t l i c h e n   B e r e i c h e n'; 
     3112COMMENT ON TABLE  ax_einrichtunginoeffentlichenbereichen        IS 'E i n r i c h t u n g   i n   Ã f f e n t l i c h e n   B e r e i c h e n'; 
    31053113COMMENT ON COLUMN ax_einrichtunginoeffentlichenbereichen.gml_id IS 'Identifikator, global eindeutig'; 
    31063114 
    31073115 
    3108 -- Einrichtung fÃŒr den Schiffsverkehr 
     3116-- E i n r i c h t u n g   f ÃŒ r   d e n   S c h i f f s v e r k e h r 
     3117-- ------------------------------------------------------------------------ 
    31093118CREATE TABLE ax_einrichtungenfuerdenschiffsverkehr ( 
    31103119        ogc_fid                 serial NOT NULL, 
     
    31233132SELECT AddGeometryColumn('ax_einrichtungenfuerdenschiffsverkehr','wkb_geometry',:alkis_epsg,'POINT',2); 
    31243133 
    3125 CREATE INDEX ax_einrichtungenfuerdenschiffsverkehr_geom_idx ON ax_einrichtungenfuerdenschiffsverkehr USING gist (wkb_geometry); 
     3134CREATE INDEX ax_einrichtungenfuerdenschiffsverkehr_geom_idx   ON ax_einrichtungenfuerdenschiffsverkehr USING gist (wkb_geometry); 
    31263135CREATE UNIQUE INDEX ax_einrichtungenfuerdenschiffsverkehr_gml ON ax_einrichtungenfuerdenschiffsverkehr USING btree (gml_id,beginnt); 
     3136 
     3137COMMENT ON TABLE  ax_einrichtungenfuerdenschiffsverkehr        IS 'E i n r i c h t u n g e n   f ÃŒ r  d e n  S c h i f f s v e r k e h r'; 
     3138COMMENT ON COLUMN ax_einrichtungenfuerdenschiffsverkehr.gml_id IS 'Identifikator, global eindeutig'; 
    31273139 
    31283140 
     
    36473659COMMENT ON TABLE  ax_duene IS 'D ÃŒ n e'; 
    36483660 
     3661 
    36493662-- H ö h e n l i n i e 
    36503663-- -------------------- 
     
    36653678CREATE INDEX ax_hoehenlinie_geom_idx ON ax_hoehenlinie USING gist (wkb_geometry); 
    36663679CREATE UNIQUE INDEX ax_hoehenlinie_gml ON ax_hoehenlinie USING btree (gml_id,beginnt); 
     3680 
     3681COMMENT ON TABLE  ax_hoehenlinie        IS 'H ö h e n l i n i e'; 
     3682COMMENT ON COLUMN ax_hoehenlinie.gml_id IS 'Identifikator, global eindeutig'; 
    36673683 
    36683684 
     
    38953911CREATE UNIQUE INDEX ax_bodenschaetzung_gml ON ax_bodenschaetzung USING btree (gml_id,beginnt); 
    38963912 
    3897 COMMENT ON TABLE  ax_bodenschaetzung              IS 'B o d e n s c h À t z u n g'; 
     3913COMMENT ON TABLE  ax_bodenschaetzung              IS '"B o d e n s c h À t z u n g" ist die kleinste Einheit einer bodengeschÀtzten FlÀche nach dem BodenschÀtzungsgesetz, fÃŒr die eine ErtragsfÀhigkeit im Liegenschaftskataster nachzuweisen ist (BodenschÀtzungsflÀche). Ausgenommen sind MusterstÃŒcke, LandesmusterstÃŒcke und VergleichsstÃŒcke der BodenschÀtzung.'; 
     3914 
    38983915COMMENT ON COLUMN ax_bodenschaetzung.gml_id       IS 'Identifikator, global eindeutig'; 
    38993916COMMENT ON COLUMN ax_bodenschaetzung.kulturart    IS '"Kulturart" ist die bestandskrÀftig festgesetzte landwirtschaftliche Nutzungsart entsprechend dem Acker- oder GrÃŒnlandschÀtzungsrahmen.'; 
  • trunk/import/pp_definition.sql

    r256 r278  
    1313--             ForeignKey vorÃŒbergehend ausgeschaltet. 
    1414--  2012-04-25 simple_geom fuer pp_flur 
     15--  2013-04-18 Kommentare. 
    1516 
    1617 
     
    3132 
    3233-- Muss *multi*-Polygon sein? Gibt es "zerrissene" Fluren/Gemarkungen? 
    33  
     34-- Der View "gemeinde_gemarkung" kann entfallen, wenn Navigation umgestellt wurde. 
    3435 
    3536SET client_encoding = 'UTF-8'; 
     
    6061  ); 
    6162 
    62 -- ALTER TABLE pp_gemeinde ADD COLUMN gid serial; 
    6363CREATE UNIQUE INDEX pp_gemeinde_gid_ix ON pp_gemeinde (gid); 
    6464 
     
    8989-- muss diese Information als (redundante) Tabelle nach dem Laden zwischengespeichert werden.  
    9090 
    91 --CREATE TABLE gemeinde_gemarkung (             -- alt: PostNAS 0.6 
    92   CREATE TABLE pp_gemarkung (                   -- PostNAS 0.7 
     91  CREATE TABLE pp_gemarkung ( 
    9392    gid                 serial, 
    9493    land                integer NOT NULL, 
     
    102101  ); 
    103102 
    104 -- ALTER TABLE pp_gemarkung ADD COLUMN gid serial; 
    105103CREATE UNIQUE INDEX pp_gemarkung_gid_ix ON pp_gemarkung (gid); 
    106104 
     
    189187-- Flurstuecksnummern-Position 
    190188-- =========================== 
    191  
    192 -- ersetzt den View "s_flurstueck_nr" fÃŒr WMS-Layer "ag_t_flurstueck" 
     189-- Die Tabelle "pp_flurstueck_nr" ersetzt den View "s_flurstueck_nr" fÃŒr WMS-Layer "ag_t_flurstueck". 
    193190 
    194191--DROP TABLE pp_flurstueck_nr; 
    195  
    196192  CREATE TABLE pp_flurstueck_nr ( 
    197193    gid         serial, 
     
    199195    fsnum       character varying(10),  -- zzzzz/nnnn 
    200196    CONSTRAINT pp_flurstueck_nr_pk  PRIMARY KEY (gid)  --, 
    201  
    202 -- Durch Änderung Patch #5444 am 2012-04-23 hat 'ax_flurstueck' keinen Unique-Index mahr auf gml_id 
     197-- Foreign Key 
     198-- ALT: 
    203199--    CONSTRAINT pp_flurstueck_nr_gml FOREIGN KEY (fsgml) 
    204200--      REFERENCES ax_flurstueck (gml_id) MATCH SIMPLE 
    205201--      ON UPDATE CASCADE ON DELETE CASCADE 
    206  
     202-- Durch Änderung Patch #5444 am 2012-04-23 hat 'ax_flurstueck' keinen Unique-Index mehr auf gml_id 
    207203-- Ersatzweise einen ForeignKey ÃŒber 2 Felder? 
    208  
    209204  ); 
    210205 
     
    238233    ON k.land = g.land  
    239234   AND k.gemeinde = g.gemeinde; 
     235 
     236COMMENT ON VIEW gemeinde_gemarkung  
     237  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.'; 
     238 
    240239 
    241240-- VIEWs  fuer die Zuordnung vom EigentÃŒmern zu Gemeinden 
  • trunk/import/pp_laden.sql

    r265 r278  
    163163-- ersetzt den View "s_flurstueck_nr" für WMS-Layer "ag_t_flurstueck" 
    164164 
    165   DELETE FROM pp_flurstueck_nr; 
     165--DELETE FROM pp_flurstueck_nr; 
     166  TRUNCATE pp_flurstueck_nr;    -- effektiver als DELETE 
    166167 
    167168  INSERT INTO pp_flurstueck_nr 
     
    203204-- G E M A R K U N G 
    204205 
    205 DELETE FROM pp_gemarkung; 
     206--DELETE FROM pp_gemarkung; 
     207  TRUNCATE pp_gemarkung; 
    206208 
    207209-- Vorkommende Paarungen Gemarkung <-> Gemeinde in ax_Flurstueck 
     
    227229-- G E M E I N D E 
    228230 
    229 DELETE FROM pp_gemeinde; 
     231--DELETE FROM pp_gemeinde; 
     232  TRUNCATE pp_gemeinde; 
    230233 
    231234-- Vorkommende Gemeinden aus den gemarkungen 
  • trunk/import/sichten.sql

    r276 r278  
    5252     AND p.endet IS NULL 
    5353     AND p.art IN ('AOG_AUG','PNR'); 
    54 COMMENT ON VIEW ap_pto_muell IS 'Datenanalyse: Beschriftungen aus "ap_pto", die NICHT dargestellt werden sollen.'; 
     54COMMENT ON VIEW ap_pto_muell  
     55 IS 'Datenanalyse: Beschriftungen aus "ap_pto", die NICHT dargestellt werden sollen.'; 
    5556 
    5657 
     
    8889  WHERE not schriftinhalt is null 
    8990    AND schriftinhalt like '%/n%'; 
    90 COMMENT ON VIEW texte_mit_umbruch IS 'Sicht fÃŒr Datenanalyse: Vorkommen eines Umbruchs im Label-Text.'; 
     91COMMENT ON VIEW texte_mit_umbruch  
     92 IS 'Sicht fÃŒr Datenanalyse: Vorkommen eines Umbruchs im Label-Text.'; 
    9193 
    9294-- EXTENT fÃŒr das Mapfile eines Mandanten ermitteln 
     
    98100   FROM ax_flurstueck f 
    99101   WHERE f.endet IS NULL; 
    100 COMMENT ON VIEW flurstuecks_minmax IS 'Sicht fÃŒr Datenanalyse: Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile.'; 
     102COMMENT ON VIEW flurstuecks_minmax  
     103 IS 'Sicht fÃŒr Datenanalyse: Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile.'; 
    101104 
    102105-- Nach Laden der Keytables: 
     
    120123     AND r.stelle = d.stelle  
    121124  WHERE r.endet IS NULL AND d.endet IS NULL ; 
    122 COMMENT ON VIEW baurecht IS 'Datenanalyse: EnstschlÃŒsselte Felder zu einer FlÀche des Baurechts.'; 
     125COMMENT ON VIEW baurecht  
     126 IS 'Datenanalyse: EnstschlÃŒsselte Felder zu einer FlÀche des Baurechts.'; 
    123127 
    124128-- Man glaubt es kaum, aber im ALKIS haben Gemeinde und Gemarkung keinerlei Beziehung miteinander 
     
    130134  WHERE           endet IS NULL 
    131135  ORDER BY        land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer; 
    132 COMMENT ON VIEW gemarkung_in_gemeinde IS 'Welche Gemarkung liegt in welcher Gemeinde? Durch Verweise aus FlurstÃŒck.'; 
     136COMMENT ON VIEW gemarkung_in_gemeinde  
     137 IS 'Welche Gemarkung liegt in welcher Gemeinde? Durch Verweise aus FlurstÃŒck.'; 
    133138 
    134139 
  • trunk/import/sichten_wms.sql

    r276 r278  
    2020--  2013-04-16 Thema "BodenschÀtzung" und fehlernde Kommentare zum Views ergÀnzt. 
    2121--             Diese Datei aufgeteilt in "sichten.sql" und "sichten_wms.sql" 
    22  
     22--  2013-04-22 ++++ art="PNR" (Pseudonummer) 
    2323 
    2424-- WMS-Layer "ag_t_flurstueck" 
     
    2929-- Bruchnummerierung erzeugen 
    3030-- ALT 2012-04-17: Diese Version zeigt nur die manuell gesetzten Positionen 
    31 CREATE OR REPLACE VIEW s_flurstueck_nr 
    32 AS  
    33  SELECT f.ogc_fid,  
    34         p.wkb_geometry,  -- Position des Textes 
    35         f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum 
    36    FROM ap_pto             p 
    37    JOIN alkis_beziehungen  v  ON p.gml_id       = v.beziehung_von 
    38    JOIN ax_flurstueck      f  ON v.beziehung_zu = f.gml_id 
    39   WHERE v.beziehungsart = 'dientZurDarstellungVon'  
    40     AND p.endet IS NULL  AND f.endet IS NULL; 
    41 COMMENT ON VIEW s_flurstueck_nr IS 'Sicht fÃŒr Kartendarstellung ÃŒber PostProcessing: Bruchnummerierung FlurstÃŒck (nur manuell gesetzte Positionen)'; 
     31-- 2013-04-18 auskommentiert 
     32--      CREATE OR REPLACE VIEW s_flurstueck_nr 
     33--      AS  
     34--       SELECT f.ogc_fid,  
     35--                      p.wkb_geometry,  -- Position des Textes 
     36--                      f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum 
     37--         FROM ap_pto             p 
     38--         JOIN alkis_beziehungen  v  ON p.gml_id       = v.beziehung_von 
     39--         JOIN ax_flurstueck      f  ON v.beziehung_zu = f.gml_id 
     40--        WHERE v.beziehungsart = 'dientZurDarstellungVon'  
     41--              AND p.endet IS NULL  AND f.endet IS NULL; 
     42--      COMMENT ON VIEW s_flurstueck_nr IS 'Sicht fÃŒr Kartendarstellung ÃŒber PostProcessing: Bruchnummerierung FlurstÃŒck (nur manuell gesetzte Positionen)'; 
    4243 
    4344-- Wenn keine manuelle Position gesetzt ist, wird die Flaechenmitte verwendet 
     
    4849 
    4950-- In einer Hilfstabelle mit geometrischem Index zwischenspeichern. 
    50 -- Siehe PostProcessing Tabelle "pp_flurstueck_nr" 
    51  
    52 CREATE OR REPLACE VIEW s_flurstueck_nr2 
    53 AS  
    54   SELECT f.ogc_fid,  
    55          p.wkb_geometry,  -- manuelle Position des Textes 
    56          f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum 
    57     FROM ap_pto             p 
    58     JOIN alkis_beziehungen  v  ON p.gml_id       = v.beziehung_von 
    59     JOIN ax_flurstueck      f  ON v.beziehung_zu = f.gml_id 
    60    WHERE v.beziehungsart = 'dientZurDarstellungVon'  
    61      AND p.endet IS NULL 
    62      AND f.endet IS NULL 
    63  UNION  
    64   SELECT f.ogc_fid, 
    65          ST_PointOnSurface(f.wkb_geometry) AS wkb_geometry,  -- FlÀchenmitte als Position des Textes 
    66          f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum 
    67     FROM      ax_flurstueck     f  
    68     LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.gml_id 
    69    WHERE v.beziehungsart is NULL AND f.endet IS NULL; 
    70 COMMENT ON VIEW s_flurstueck_nr2 IS 'Sicht fÃŒr Kartendarstellung ÃŒber PostProcessing: Bruchnummerierung FlurstÃŒck, auch Standard-Position. Nicht direkt fuer WMS verwenden!'; 
     51-- Siehe PostProcessing: Tabelle "pp_flurstueck_nr" 
     52 
     53-- 2013-04-18 auskommentiert 
     54--      CREATE OR REPLACE VIEW s_flurstueck_nr2 
     55--      AS  
     56--        SELECT f.ogc_fid,  
     57--                       p.wkb_geometry,  -- manuelle Position des Textes 
     58--                       f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum 
     59--              FROM ap_pto             p 
     60--              JOIN alkis_beziehungen  v  ON p.gml_id       = v.beziehung_von 
     61--              JOIN ax_flurstueck      f  ON v.beziehung_zu = f.gml_id 
     62--         WHERE v.beziehungsart = 'dientZurDarstellungVon'  
     63--               AND p.endet IS NULL 
     64--               AND f.endet IS NULL 
     65--       UNION  
     66--        SELECT f.ogc_fid, 
     67--                       ST_PointOnSurface(f.wkb_geometry) AS wkb_geometry,  -- FlÀchenmitte als Position des Textes 
     68--                       f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum 
     69--              FROM      ax_flurstueck     f  
     70--              LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.gml_id 
     71--         WHERE v.beziehungsart is NULL AND f.endet IS NULL; 
     72--      COMMENT ON VIEW s_flurstueck_nr2  
     73--       IS 'Sicht fÃŒr Kartendarstellung ÃŒber PostProcessing: Bruchnummerierung FlurstÃŒck, auch Standard-Position. Nicht direkt fuer WMS verwenden!'; 
    7174 
    7275 
     
    9497-- Wenn der nicht gefÃŒllt ist, wird statt dessen die Nummer aus der verknÃŒpften Labebezeichnung  
    9598-- verwendet (der hÀufigste Fall bei AED).  
    96 DROP VIEW s_hausnummer_gebaeude; 
    9799CREATE OR REPLACE VIEW s_hausnummer_gebaeude  
    98100AS  
     
    127129-- Layer "ag_t_nebengeb" 
    128130-- --------------------- 
    129 -- 2013-03-05: Diese Abfrage liefert keine Daten mehr?? 
     131-- 2013-03-05: Diese Abfrage liefert keine Daten mehr. 
    130132--      CREATE OR REPLACE VIEW s_nummer_nebengebaeude  
    131133--      AS  
     
    159161     AND g.endet IS NULL 
    160162     AND g.endet IS NULL; 
    161 COMMENT ON VIEW lfdnr_nebengebaeude IS 'Sicht fÃŒr Kartendarstellung: Laufende Nummer des NebengebÀudes zu einer Lagebezeichnung mit der FlÀchengeometrie des GebÀudes'; 
     163COMMENT ON VIEW lfdnr_nebengebaeude  
     164  IS 'Sicht fÃŒr Kartendarstellung: Laufende Nummer des NebengebÀudes zu einer Lagebezeichnung mit der FlÀchengeometrie des GebÀudes'; 
    162165 
    163166 
     
    175178  WHERE g.endet IS NULL  
    176179    AND g.gebaeudefunktion < 9998; -- "Nach Quellenlage nicht zu spezifizieren" braucht man nicht anzeigen 
    177 COMMENT ON VIEW gebaeude_txt IS 'Sicht fÃŒr Kartendarstellung: Name zum GebÀude und EntschlÃŒsselung der GebÀude-Funktion (Ersatz fÃŒr Symbole)'; 
     180COMMENT ON VIEW gebaeude_txt  
     181  IS 'Sicht fÃŒr Kartendarstellung: Name zum GebÀude und EntschlÃŒsselung der GebÀude-Funktion (Ersatz fÃŒr Symbole)'; 
     182 
    178183 
    179184-- Layer "ag_p_flurstueck" 
     
    194199    AND f.endet IS NULL 
    195200    AND p.endet IS NULL; 
    196 COMMENT ON VIEW s_zugehoerigkeitshaken_flurstueck IS 'Sicht fÃŒr Kartendarstellung: Zugehörigkeitshaken zum FlurstÃŒck.'; 
     201COMMENT ON VIEW s_zugehoerigkeitshaken_flurstueck  
     202  IS 'Sicht fÃŒr Kartendarstellung: Zugehörigkeitshaken zum FlurstÃŒck.'; 
     203 
    197204 
    198205-- Layer "s_zuordungspfeil_flurstueck" (Signaturnummer 2004) 
     
    213220    AND l.endet IS NULL; 
    214221-- Die OBK-Alternative "sk2004_zuordnungspfeil" wird NICHT verwendet. Siehe dort. 
    215 COMMENT ON VIEW s_zuordungspfeil_flurstueck IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil zur FlurstÃŒcksnummer, Liniengeometrie.'; 
     222COMMENT ON VIEW s_zuordungspfeil_flurstueck  
     223  IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil zur FlurstÃŒcksnummer, Liniengeometrie.'; 
     224 
    216225 
    217226CREATE OR REPLACE VIEW s_zuordungspfeilspitze_flurstueck  
     
    232241    AND l.endet IS NULL; 
    233242-- Die OBK-Alternativen "sk2004_zuordnungspfeil_spitze" wird NICHT verwendet. Siehe dort. 
    234 COMMENT ON VIEW s_zuordungspfeilspitze_flurstueck IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer, Spitze, Punktgeometrie mit Drehwinkel.'; 
     243COMMENT ON VIEW s_zuordungspfeilspitze_flurstueck  
     244  IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer, Spitze, Punktgeometrie mit Drehwinkel.'; 
     245 
    235246 
    236247-- Drehwinkel in Bogenmass, wird vom mapserver in Grad benötigt. Umrechnung durch Faktor (180 / Pi) 
     
    252263    AND b.endet IS NULL 
    253264    AND l.endet IS NULL; 
    254 COMMENT ON VIEW s_zuordungspfeil_bodensch IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil BodenschÀtzung, Liniengeometrie.'; 
     265COMMENT ON VIEW s_zuordungspfeil_bodensch  
     266  IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil BodenschÀtzung, Liniengeometrie.'; 
    255267 
    256268CREATE OR REPLACE VIEW s_zuordungspfeilspitze_bodensch  
     
    316328         ) 
    317329; 
    318 COMMENT ON VIEW ap_pto_stra IS 'Sicht fÃŒr Kartendarstellung: Beschriftung aus ap_pto fÃŒr Lagebezeichnung mit Art "Straße", "Weg", "Platz" oder Klassifizierung. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe'; 
     330COMMENT ON VIEW ap_pto_stra  
     331  IS 'Sicht fÃŒr Kartendarstellung: Beschriftung aus ap_pto fÃŒr Lagebezeichnung mit Art "Straße", "Weg", "Platz" oder Klassifizierung. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe'; 
    319332-- ToDo: Im PostProcessing in einer Tabelle speichern. 
    320333 
     
    366379         ) 
    367380; 
    368 COMMENT ON VIEW ap_pto_nam IS 'Sicht fÃŒr Kartendarstellung: Beschriftung mit Art = Name/Zweitname. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe.'; 
     381COMMENT ON VIEW ap_pto_nam  
     382  IS 'Sicht fÃŒr Kartendarstellung: Beschriftung mit Art = Name/Zweitname. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe.'; 
    369383-- ToDo: Im PostProcessing in einer Tabelle speichern. 
    370384 
     
    403417   WHERE not p.schriftinhalt IS NULL  
    404418     AND p.endet IS NULL 
    405      AND p.art   NOT IN ('HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG') 
     419     AND p.art   NOT IN ('PNR','HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG') -- 'PNR', 
    406420     -- Diese 'IN'-Liste fortschreiben bei Erweiterungen des Mapfiles 
    407      -- 'PNR' (Pseudonummer, lfd.-Nr.-NebengebÀude) kommt nicht mehr vor? 
     421     -- 'PNR' = Pseudonummer (lfd.-Nr.-NebengebÀude), Inhalte wie "(1)" oder "P50" - kommt nicht mehr vor, oder? 
    408422    AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht 
    409423    AND ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen 
     
    423437              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird 
    424438         ); 
    425 COMMENT ON VIEW ap_pto_rest IS 'Sicht fÃŒr Kartendarstellung: Beschriftungen aus "ap_pto", die noch nicht in anderen Layern angezeigt werden.'; 
     439COMMENT ON VIEW ap_pto_rest  
     440  IS 'Sicht fÃŒr Kartendarstellung: Beschriftungen aus "ap_pto", die noch nicht in anderen Layern angezeigt werden.'; 
    426441-- ToDo: Im PostProcessing in einer Tabelle speichern. 
     442 
     443-- Kommt PNR (Pseudonummer) noch im Bestand vor? 
     444--  SELECT * FROM ap_pto WHERE art = 'PNR' LIMIT 100;  
     445 
    427446 
    428447-- Layer "s_zuordungspfeil_gebaeude" 
     
    443462    AND g.endet IS NULL 
    444463    AND l.endet IS NULL; 
    445 COMMENT ON VIEW s_zuordungspfeil_gebaeude IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil fÃŒr GebÀude-Nummer (NebengebÀude). Wird wahrscheinlich nicht mehr benötigt.'; 
     464COMMENT ON VIEW s_zuordungspfeil_gebaeude  
     465  IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil fÃŒr GebÀude-Nummer (NebengebÀude). Wird wahrscheinlich nicht mehr benötigt.'; 
    446466 
    447467 
     
    465485     AND g.endet IS NULL 
    466486     AND g.endet IS NULL; 
    467 COMMENT ON VIEW grenzpunkt IS 'Sicht fÃŒr Kartendarstellung: ZusammenfÃŒhrung von Punktort (Geometrie) und AX_Grenzpunkt (Eigenschaften)'; 
     487COMMENT ON VIEW grenzpunkt  
     488  IS 'Sicht fÃŒr Kartendarstellung: ZusammenfÃŒhrung von Punktort (Geometrie) und AX_Grenzpunkt (Eigenschaften)'; 
    468489 
    469490 
     
    576597        ea2.bezeichner                     AS entstehart2, 
    577598        -- entstehungsartoderklimastufewasserverhaeltnisse ist array! 
    578         bs.sonstigeangaben,             -- integer array  - EntschlÃŒsseln? 
    579         bs.jahreszahl                           -- integer 
     599        bs.sonstigeangaben,                           -- integer array  - EntschlÃŒsseln? 
     600        so1.bezeichner                     AS sonst1, -- EnstschlÃŒsselung  
     601     -- so2.bezeichner                     AS sonst2, -- immer leer? 
     602        bs.jahreszahl                                 -- integer 
    580603   FROM ax_bodenschaetzung bs 
    581604   LEFT JOIN ax_bodenschaetzung_kulturart      ka ON bs.kulturart = ka.wert 
     
    586609   LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea2  
    587610          ON bs.entstehungsartoderklimastufewasserverhaeltnisse[2] = ea2.wert   -- [2] manchmal gefÃŒllt 
     611   LEFT JOIN ax_bodenschaetzung_sonstigeangaben so1 ON bs.sonstigeangaben[1] = so1.wert -- [1] selten gefÃŒllt 
     612 --LEFT JOIN ax_bodenschaetzung_sonstigeangaben so2 ON bs.sonstigeangaben[2] = so2.wert -- [2] fast nie 
    588613   WHERE bs.endet IS NULL; 
    589614COMMENT ON VIEW s_bodensch_ent IS 'Sicht fÃŒr Feature-Info: BodenschÀtzung, mit Langtexten entschlÃŒsselt'; 
  • trunk/mapbender/conf/alkisnav_conf.php

    r186 r278  
    11<?php 
    22/* Einstellungen fuer Mapbender-Navigation mit ALKIS-Daten 
    3         ALKIS-PostGIS-Datenbank aus Konverter PostNAS 0.6 
     3        ALKIS-PostGIS-Datenbank aus Konverter PostNAS 0.7 
    44        krz Mi.-Ra./Li. 
    5         2011-07-26 
    6         2011-11-07 Land 
    7         2011-12-09 $persfilter (gemeinde_person) 
     5        2013-04-26 ALKIS 07 
    86*/ 
    97 
    10 # DB-Connection 
    11 $host="localhost"; 
    12 $port="5432"; 
    13 $dbname="alkis";        // .$dbvers.$gkz - Mandant 
    14 $dbvers="06";           // 05 oder 06 (steuert Format von .lage) 
    15 $user="***"; 
    16 $password="***"; 
     8#       DB-Connection 
     9        $host="localhost"; 
     10        $port="5432"; 
     11        $dbname="alkis";        // .$dbvers.$gkz - Mandant 
     12        $dbvers="07";           // 05 oder 06 (steuert Format von .lage) 
     13        $user="***"; 
     14        $password="***"; 
    1715 
    18 # Pfad zu den ALKIS-Auskunft-Programmen 
    19 $auskpath="../../../info/alkis"; 
     16#       Pfad zu den ALKIS-Auskunft-Programmen 
     17        $auskpath="../../../info/alkis"; 
    2018 
    21 # Massstab zum Positionieren auf Flurstueck, Strasse, Hausnummer 
    22 # in MapProxy gecachte Masstaebe verwenden 
    23 $scalefs=750; 
    24 $scalestr=2500; 
    25 $scalehs=500; 
     19#       Massstab zum Positionieren auf Flurstueck, Strasse, Hausnummer 
     20#       in MapProxy gecachte Masstaebe verwenden 
     21        $scalefs=750; 
     22        $scalestr=2500; 
     23        $scalehs=500; 
    2624 
    27 # default-Koordinatensystem der GUI 
    28 $gui_epsg=31467; 
     25#       default-Koordinatensystem der GUI 
     26        $gui_epsg=31467; 
    2927 
    30 # Landes-Kennung 
    31 $land="05"; // NRW 
     28#       Landes-Kennung 
     29        $land="05"; // NRW 
    3230 
    33 # Filter: 
    34 # Liste der relevanten Amtsgerichts-Nummern aus ax_dienststelle.stelle 
    35 # Form: WHERE IN () 
    36 # Bei leerer Eingabe in Tab 'Grundb.' 
    37 $ag_liste = "'2102','2105','2106','2107','2108','2110','2303','2307'"; 
     31#       Filter: 
     32#       Liste der relevanten Amtsgerichts-Nummern aus ax_dienststelle.stelle 
     33#       Form: WHERE IN () 
     34#       Bei leerer Eingabe in Tab 'Grundb.' 
     35        $ag_liste = "'2102','2105','2106','2107','2108','2110','2303','2307'"; 
    3836 
    39 # Nur Personen anzeigen, die Eigentum in der Gemeinde (-liste) haben 
    40 # "true" setzt voraus, dass die Hilfstabelle "gemeinde_person" gefuellt ist 
    41 $persfilter=true; 
     37#       Entwicklungsumgebung 
     38        $debug=0; // 0=Produktion, 1=mit Fehlermeldungen, 2=mit Informationen, 3=mit SQL 
    4239 
    43 # hausnummernohnegebaeude - sollen Hausnummern ohne GebÀude ausgegeben werden? 1 ja / 0 nein 
    44 $hausnummernohnegebaeude = 1; 
    45  
    46 # Entwicklungsumgebung 
    47 $debug=0; // 0=Produktion, 1=mit Fehlermeldungen, 2=mit Informationen, 3=mit SQL 
    4840?> 
  • trunk/mapbender/http/nav/alkisnav.css

    r140 r278  
    44         2011-11-09 Historie, dbg 
    55         2011-12-09 p.nam 
     6         2012-12-13 td.hsnro 
     7         2013-04-19 frames hoeher 
    68*/ 
    79body,p,a,.textfield,.sbutton    {font-family: Verdana, Arial, Helvetica, sans-serif;} 
     
    1416p.err           {font-size: 11px; color: red;}  /* Fehler -> Anwender */ 
    1517p.dbg           {font-size: 10px; color: gray;} /* Debug -> Entwickler */ 
     18p.ein, p.anz, p.blt     {font-size: 9px; text-align: right;}    /* Einleitung, Anzahl am Ende, BlÀttern weitere ... */ 
     19p.ein   {color: navy; font-weight: bold;} 
     20p.anz, p.blt    {color: purple;} 
    1621 
    17 a                       {text-decoration: none;} /* font-size: 11px; */ 
     22a                       {text-decoration: none;} 
    1823a:hover, a:active       {color: red;} 
    1924a.hislnk {color: gray; font-style: italic; text-align: right; padding-left: 50px;}      /* Link zur Historie */ 
     25a.hsnro {color: gray; font-style: italic;} /* HsNr ohne Haus */ 
     26a.blt           {color: maroon; background-color: yellow;}      /* Link weitere ... */ 
    2027 
    2128/* abgestuft eingerueckte Treffer in der Suche */ 
    2229div                     {margin: 0px; padding: 0px;} 
    2330div.back        {font-size: 10px; color: gray; border-bottom: 1px dotted gray;} 
    24 /* div.nam              {color: maroon;}   Name */ 
     31/* div.nam      {color: maroon;}   Name */ 
    2532div.ga          {color: fuchsia;        margin-left:  0px; margin-top: 6px;} /* GB-Amtsgericht */ 
    2633div.gm          {color: green;          margin-left:  0px; margin-top: 6px;} /* Gemeinde */ 
     
    3441 
    3542div.stu         {color: maroon; font-size: 13px;} /* Strasse - Ueberschrift */ 
    36 div.stl         {color: maroon; font-size: 11px; margin-top: 3px;} /* Strasse - Liste*/ 
     43div.stl         {color: maroon; font-size: 11px; margin-top: 3px;} /* Strasse - Liste */ 
    3744td.hsnr         {font-size: 11px; text-align: center; padding-left: 4px; padding-right: 4px;} /* Hausnummer */ 
    3845hr                              {color: gray;} 
    3946 
    40 .textfield{ 
    41         border: 1px solid #990000; 
    42         height: 20px; 
    43         width: 140px; 
    44         background: #FFFFFF; 
    45 } 
    46 .sbutton{font-size: 11px; 
    47         font-weight: normal; 
    48         border: solid thin; 
    49         width: 22px; 
    50         height: 20px; 
    51         background: #6699FF; 
    52 } 
     47dfn.title       {color: maroon; font-size: 10px; text-align: right; padding-left: 8px; padding-right: 4px;} 
     48 
     49.textfield      {border: 1px solid #990000; height: 20px; width: 140px; background: #FFFFFF;} 
     50.sbutton{font-size: 11px; font-weight: normal; border: solid thin; 
     51        width: 22px; height: 20px;      background: #6699FF;} 
    5352img.nwlink      {border: 0px; margin: 0px; padding: 0px;} /* Icons mit Link zum Buch-Nachweis */ 
    5453.letter         {cursor: pointer; font-weight: bold;} /* Liste Anfangsbuchstaben */ 
     
    5655/* Registertabs */ 
    5756/* ul in einem <div id='tabs' */ 
    58 div#tabs ul { 
    59         position: absolute; top: 0px; 
     57div#tabs ul {position: absolute; top: 0px; 
    6058        margin-top: 0px; margin-left: 0px; margin-bottom: 20px; 
    61         padding: 0px; 
    62         width: 220px; 
    63         text-align: left; 
    64         border: 0px dashed #00aa00; 
    65 } 
     59        padding: 0px; width: 220px; text-align: left; border: 0px dashed #00aa00;} 
    6660div#tabs li { 
    6761        cursor: pointer; 
     
    8276div#tabs li.aktiveTab { 
    8377        background-image: url(./img/tab_bg_rot.gif);  /* aktive Tabs rot */ 
    84         background-color: #F9F9F9; 
    85         border-bottom-color: #F9F9F9; /* nicht sichtbar, wie Hintergrund */ 
     78        background-color: #F9F9F9;      border-bottom-color: #F9F9F9; /* nicht sichtbar, wie Hintergrund */ 
    8679} 
    8780 
    88 /* passt in Mapbender 2.5: tabs width=280, tab_frameHeight[n]=360 */ 
    89 iframe.OuterFrame{ 
    90         width: 250px; height: 330px;  
    91         padding: 0px; margin: 0px; 
    92         border: 0px dotted #ff0000; 
    93         overflow: hidden; 
    94         background-color: white; 
    95 } 
     81/* Anpassen an width des Tab in Mapbender */ 
     82/* in alkisnav.htm */ 
     83/* ALT: OuterFrame: height: 350px; ResultFrame: height: 240px; */ 
     84iframe.OuterFrame{width: 225px; height:400px; padding: 0px; margin: 0px; 
     85        border: 0px dotted #ff0000; overflow: hidden; background-color: white;} 
    9686form.nav {position: absolute; top: 22px;} 
    97 iframe.ResultFrame { 
    98         position: absolute; top: 78px; 
    99         width: 235px; height: 220px; 
    100         padding: 0px; margin: 0px; 
    101         border: 0px dotted #00ff00; 
    102 } 
     87iframe.ResultFrame {position: absolute; top: 78px; width: 220px; height: 290px; 
     88        padding: 0px; margin: 0px; border: 0px dotted #00ff00;} 
  • trunk/mapbender/http/nav/alkisnav.htm

    r95 r278  
    1919                // Parameter fuer Mandant aus url lesen 
    2020                // &gkz=150&gemeinde=40&test=ja 
    21                 var parms = location.search.split("&");   // 0: "?gkz=150" 1: "gemeinde=40" 2: "test=ja" 
    22                 var arr = parms[0].split("=", 2); // 0: "?gkz"  1: "150" 
     21                var parms = location.search.split("&"); // 0: "?gkz=150" 1: "gemeinde=40" 2: "test=ja" 
     22                var arr = parms[0].split("=", 2);       // 0: "?gkz"  1: "150" 
    2323                var gkz = "000"; 
    2424                if(arr[0] == "?gkz") {gkz = arr[1];} 
     
    3232 
    3333<script type="text/javascript" language="JavaScript"> 
    34         document.writeln("<!-- gkz=" + gkz + " gemeinde=" + gem + "-->"); 
     34        document.writeln("<!-- gkz=" + gkz + " gemeinde=" + gem + " -->"); 
    3535        // Rahmen mit Form und ResultFrame 
    3636        document.writeln("<iframe frameborder='0' name='OuterFrame' src='alkisnav_eig.htm?gkz=" + gkz + "&gemeinde=" + gem + "' class='OuterFrame' scrolling='auto'></iframe>"); 
  • trunk/mapbender/http/nav/alkisnav_adr.php

    r276 r278  
    11<?php 
    22/* Version vom  
    3         2011-04-11 epsg in Link, transform nur wenn notwendig 
    4         2011-07-25 PostNAS 0.5/0.6 Versionen unterscheiden 
    5         2011-10-24 Nach Pos-Klick Highlight erneuern statt hideHighlight 
    6         2011-12-09 Sonderfall PostNAS 0.5 raus, 
    7         2012-12-03 A.E.: Ausgabe von Hausnr ohne Gebaeude 
    8         2013-01-15 F.J.: HsNr ohne GebÀude auf NRW/krz-Daten anpassen 
    9         2013-04-16 "import_request_variables" entfÀllt in PHP 5.4 
     3        2011-04-11      epsg in Link, transform nur wenn notwendig 
     4        2011-07-25      PostNAS 0.5/0.6 Versionen unterscheiden 
     5        2011-10-24      Nach Pos-Klick Highlight erneuern statt hideHighlight 
     6        2011-12-09      Sonderfall PostNAS 0.5 raus, 
     7        2012-12-03      A.E.: Ausgabe von Hausnr ohne Gebaeude 
     8        2013-01-15      F.J.: HsNr ohne GebÀude auf NRW/krz-Daten anpassen 
     9        2013-04-26      "import_request_variables" entfÀllt in PHP 5.4. 
     10                                        ZurÃŒck-Link, Titel der Transaktion anzeigen 
    1011 
    1112        ToDo: 
    12         -  auskommentierte Variante mit "subquery" entfernen 
    1313        -       Eingabe aus "Balken" von Buchauskunft "Lage" zulassen: Numerisch: Gem-Str-Haus-lfd 
    1414                Analog zur Zerlegung des FS-Kennz in _fls 
     
    2020$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password; 
    2121$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$$dbname.$dbvers.$gkz); 
    22 ?> 
     22echo <<<END 
    2323 
    2424<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     
    3131        <title>ALKIS-Suche Adressen</title> 
    3232        <link rel="stylesheet" type="text/css" href="alkisnav.css"> 
     33        <script type='text/javascript'> 
     34                function transtitle (trans) { // Titel der letzten Transaktion anzeigen 
     35                        document.getElementById('transaktiontitle').innerHTML = trans; 
     36                } 
     37        </script> 
    3338</head> 
    3439<body> 
    35 <?php 
     40<a title="zur&uuml;ck" href='javascript:history.back()'> 
     41        <img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" /> 
     42</a> 
     43<dfn class='title' id='transaktiontitle'></dfn> 
     44 
     45END; 
    3646 
    3747function suchStrName() { 
     
    92102        } 
    93103        if($cnt == 0) { 
    94                 echo "<p>Keine Stra&szlig;e.</p>"; 
     104                echo "<pclass='anz'>Keine Stra&szlig;e</p>"; 
    95105        } elseif($cnt == 1) { // Eindeutig 
    96106                $str_schl=$gkey; // dann gleich weiter 
    97107        } elseif($cnt >= $linelimit) { 
    98                 echo "<p>.. und weitere</p>";                    
    99         }        
     108                echo "<p class='anz'>".$cnt." Stra&szlig;en ... und weitere</p>";                        
     109        } elseif ($cnt > 1) { 
     110                echo "\n<p class='anz'>".$cnt." Stra&szlig;en</p>";      
     111        } 
    100112        return; 
    101113} 
     
    157169        } 
    158170        if($cnt == 0) { 
    159                 echo "\n<p>Keine Stra&szlig;e mit Schl&uuml;ssel ".$match."</p>"; 
     171                echo "\n<p class='anz'>Keine Stra&szlig;e mit Schl&uuml;ssel ".$match."</p>"; 
    160172        } elseif($cnt == 1) { // Eindeutig 
    161173                $str_schl=$gkey; // dann gleich weiter 
    162         } elseif($cnt >= $linelimit) { 
    163                 echo "\n<p>.. und weitere</p>";                  
    164         } else { 
    165                 echo "\n<p class='hilfe'>".$cnt." Stra&szlig;en</p>";    
     174        } elseif ($cnt >= $linelimit) { 
     175                echo "\n<p>".$cnt." Stra&szlig;en ... und weitere</p>";                  
     176        } elseif ($cnt > 1) { 
     177                echo "\n<p class='anz'>".$cnt." Stra&szlig;en</p>";      
    166178        }        
    167179        return; 
     
    170182function suchHausZurStr($showParent){ 
    171183        // Haeuser zu einer Strasse 
    172         global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $epsg, $gfilter, $hausnummernohnegebaeude, $debug; 
     184        global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $epsg, $gfilter, $debug; 
    173185        // Strasse zum Strassenschluessel 
    174186        $sql ="SELECT g.bezeichnung AS gemname, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage "; 
     
    216228                        if ($x > 0) { // Koord. bekommen? 
    217229                                echo "\n\t<a title='Positionieren 1:".$scalestr."' href='javascript:"; // mit Link 
     230                                                echo "transtitle(\"auf Stra&szlig;e positioniert\"); "; 
    218231                                                echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalestr."); "; 
    219232                                                echo "parent.parent.showHighlight(".$x.",".$y."); "; 
    220                                                 echo "document.location.href=\"".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$str_schl."\"' "; 
     233                                                //echo "document.location.href=\"".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$str_schl."\""; 
     234                                        echo "' "; // end href 
    221235                                        echo "\n\t\tonmouseover='parent.parent.showHighlight(" .$x. "," .$y. ")' "; 
    222236                                        echo "\n\t\tonmouseout='parent.parent.hideHighlight()'"; 
     
    252266/* Version mit // Subquery 
    253267Liefert Informationen ÃŒber GebÀude zur Hausnummer. LÀuft aber spÃŒrbar langsamer. 
    254  
    255268                $sql.="FROM ap_pto p JOIN alkis_beziehungen v ON p.gml_id = v.beziehung_von "; 
    256269                $sql.="JOIN ax_lagebezeichnungmithausnummer h ON v.beziehung_zu = h.gml_id "; 
     
    259272                $sql.="ON h.gml_id = subq.zu WHERE v.beziehungsart='dientZurDarstellungVon' AND p.art = 'HNR' "; 
    260273                $sql.="AND h.land= $1 AND h.regierungsbezirk= $2 AND h.kreis= $3 AND h.gemeinde= $4 AND h.lage= $5 "; 
    261                 $sql.="ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);"; 
    262 */ 
     274                $sql.="ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);"; */ 
     275 
    263276                // Version ohne Subquery 
    264277                $sql.="FROM ap_pto p JOIN alkis_beziehungen v ON p.gml_id = v.beziehung_von "; 
     
    292305                        //      echo "<a".$cls." href='"; 
    293306                                echo "<a href='"; 
    294                                         echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalehs."); "; 
     307                                        echo "javascript:"; 
     308                                        echo "transtitle(\"auf Haus positioniert\"); "; 
     309                                        echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalehs."); "; 
    295310                                        echo "parent.parent.showHighlight(".$x.",".$y.");' "; 
    296311                                echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
     
    308323                if($count > 0) {echo "\n</tr>";} 
    309324                echo "\n</table>"; 
    310                 echo "\n<p class='hilfe'>".$cnt." Hausnummern</p>"; 
     325                echo "\n<p class='anz'>".$cnt." Hausnummern</p>"; 
    311326        } else { 
    312                 echo "\n<p class='err'>Keine Stra&szlig;e.</p>"; 
     327                echo "\n<p class='anz'>Keine Stra&szlig;e</p>"; 
    313328        } 
    314329        return; 
     
    318333// =========== 
    319334if(isset($epsg)) { 
    320         if ($debug >= 2) {echo "\n<p>aktueller EPSG='".$epsg."'</p>";} // aus MB 
     335        #if ($debug >= 2) {echo "\n<p>aktueller EPSG='".$epsg."'</p>";} // aus MB 
    321336        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    322337} else { 
    323         if ($debug >= 1) {echo "\n<p class='err'>kein EPSG gesetzt</p>";}        
     338        #if ($debug >= 1) {echo "\n<p class='err'>kein EPSG gesetzt</p>";}       
    324339        $epsg=$gui_epsg; // aus Conf 
    325340} 
    326 if ($debug >= 2) { 
    327         echo "<p>Filter Gemeinde = ".$gemeinde."</p>"; 
    328 } 
     341#if ($debug >= 2) {echo "<p>Filter Gemeinde = ".$gemeinde."</p>";} 
    329342if ($gemeinde == "") { 
    330343        $gfilter = 0; // ungefiltert 
     
    335348} 
    336349if (isset($str_schl)) { // aus Link 
    337         if ($debug >= 2) {echo "\n<p>Link Strassenschluessel '".$str_schl."'</p>";} 
     350        $trans="Hausnummern zur Stra&szlig;e"; 
    338351        suchHausZurStr(true); 
    339352} elseif(isset($street)) { // Eingabe in Form 
    340         if (trim($street, "*,0..9") == "") { // Zahl mit Wildcard 
    341                 if ($debug >= 2) {echo "\n<p>Suche Key='".$street."'</p>";} 
    342                 suchStrKey(); // Suche nach Schluessel 
     353        if (trim($street, "*,0..9") == "") { // Zahl, ggf. mit Wildcard 
     354                $trans="Suche Stra&szlig;enschl&uuml;ssel \"".$street."\""; 
     355                suchStrKey(); 
    343356        } else { 
    344                 if ($debug >= 2) {echo "\n<p>Suche Name='".$street."'</p>";} 
    345                 suchStrName(); // Suche nach Name 
     357                $trans="Suche Stra&szlig;enname \"".$street."\""; 
     358                suchStrName(); 
    346359        } 
    347360        if(isset($str_schl)) { // Eindeutiges Ergebnis 
    348                 if ($debug >= 2) {echo "\n<p>weitere Suche Haus zu ='".$str_schl."'</p>";} 
     361                $trans="1 Stra&szlig;e gefunden, Hausnummern"; 
    349362                suchHausZurStr(false); 
    350363        } 
    351364} 
     365// Titel im Kopf anzeigen 
     366echo "\n<script type='text/javascript'>\n\ttranstitle('".$trans."')\n</script>"; 
     367 
    352368?> 
    353369 
  • trunk/mapbender/http/nav/alkisnav_eig.php

    r276 r278  
    11<?php 
    2 /* Version vom  
     2/* Version vom 
    33        24.10.2011      Nach Pos-Klick Highlight erneuern statt hideHighlight 
    44        17.11.2011      Nachweis-Links ÃŒber javascript im neuen Hochformat-Fenster 
     
    88                                        Format css Person (Rahmen). 
    99        2013-04-16 "import_request_variables" entfÀllt in PHP 5.4 
    10         ToDo: Auf der Stufe 2 "getGBbyPerson" noch Filtern nach Gemeinde 
     10        2013-04-26      Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung". 
     11                                        Stufe 2: GB *und* FS mit einem Klick anzeigen. 
     12                                        BlÀtterfunktion (Folgeseiten) fÃŒr lange Listen.  
     13                                        Function extern gemeinsam genutzt in _eig und _grd. 
     14                                        Dazu Var-Namen harmonisieren: $gb wird $blattgml. 
     15                                        ZurÃŒck-Link, Titel der Transaktion anzeigen. 
    1116*/ 
    1217$cntget = extract($_GET); 
    13 include("../../conf/alkisnav_conf.php"); 
     18include("../../conf/alkisnav_conf.php"); // Konfigurations-Einstellungen 
     19include("alkisnav_fkt.php"); // Funktionen 
    1420$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password; 
    1521$con = pg_connect ($con_string) or die ("<p class='err'>Fehler bei der Verbindung zur Datenbank</p>".$dbname.$dbvers.$gkz); 
    16 ?> 
    17  
     22echo <<<END 
    1823<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    1924<html> 
     
    3035                        window.open(link,'','left=10,top=10,width=620,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes'); 
    3136                } 
     37                function transtitle(trans) { 
     38                        document.getElementById('transaktiontitle').innerHTML = trans; 
     39                } 
    3240        </script> 
    3341</head> 
    3442<body> 
    35  
    36 <?php 
    37  
    38 function getEigByName() { 
    39 // 1 ============================= 
    40 // Eigentuemer nach Name(-nsanfang) 
    41 // =============================== 
    42         global $gkz, $gemeinde, $epsg, $con, $name, $person, $gb, $gfilter, $persfilter, $auskpath; 
    43         $linelimit=120; 
    44         $arr = explode(",", $name); 
    45         $name0 = trim($arr[0]); 
    46         $name1 = trim($arr[1]); 
    47         if(preg_match("/\*/",$name0)){ 
    48                 $match = trim(preg_replace("/\*/i","%", strtoupper($name0))); 
    49         } else { 
    50                 $match = trim($name0)."%"; 
    51         }        
    52         if(preg_match("/\*/",$name1)){ 
    53                 $match1 = trim(preg_replace("/\*/i","%", strtoupper($name1))); 
    54         } else { 
    55                 $match1 = trim($name1)."%"; 
    56         }                
    57          
    58         $sql ="SELECT p.nachnameoderfirma, p.vorname, p.gml_id FROM ax_person p "; 
    59  
    60         if ($persfilter and ($gfilter > 0)) { 
    61                 $sql.="JOIN gemeinde_person g ON p.gml_id = g.person WHERE "; 
    62                 switch ($gfilter) { 
    63                         case 1: // Einzelwert 
    64                                 $sql.="g.gemeinde=".$gemeinde." AND "; break; 
    65                         case 2: // Liste 
    66                                 $sql.="g.gemeinde in (".$gemeinde.") AND "; break; 
    67                 } 
    68         } else { 
    69                 $sql.="WHERE "; 
    70         } 
    71         if($match1 != '%'){ 
    72                 $sql.="nachnameoderfirma ILIKE $1 AND p.vorname ILIKE $2 ";              
    73                 $sql.="ORDER BY p.nachnameoderfirma, p.vorname LIMIT $3 ;"; 
    74                 $v=array($match, $match1, $linelimit); 
    75         }else{ 
    76                 $sql.="nachnameoderfirma ILIKE $1 ";             
    77                 $sql.="ORDER BY p.nachnameoderfirma, p.vorname LIMIT $2 ;"; 
    78                 $v=array($match, $linelimit); 
    79         }  
    80         $res=pg_prepare("", $sql); 
    81         $res=pg_execute("", $v); 
    82         if (!$res) { 
    83                 echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>"; 
    84                 return; 
    85         } 
    86         $cnt = 0; 
    87         while($row = pg_fetch_array($res)) { 
    88                 $nnam=htmlentities($row["nachnameoderfirma"], ENT_QUOTES, "UTF-8"); 
    89                 $vnam=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8"); 
    90                 $gml=$row["gml_id"]; 
    91                 // Link zur Auskunft Person  +++ Icon differenzieren? Firma/Person 
    92                 echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisnamstruk.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gmlid=".$gml."\")'>"; 
    93                         echo "\n\t\t<img class='nwlink' src='ico/Eigentuemer.ico' width='16' height='16' alt='EIG'>"; 
    94                 echo "\n\t</a> ";                
    95                 echo "\n<a title='Person' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$gml."&amp;name=".$nnam."'>".$nnam.", ".$vnam."</a>\n<br>"; 
    96                 $cnt++; 
    97         } 
    98         if($cnt == 0){  
    99                 echo "\n<p class='err'>Keine Person.</p>"; 
    100         } elseif($cnt >= $linelimit) { 
    101                 echo "\n<p title='Bitte den Namen eindeutiger qualifizieren'>... und weitere</p>"; 
    102         } elseif($cnt == 1){ // Eindeutig! 
    103                 $person = $gml; 
    104         } 
    105         return; 
    106 } 
    107  
    108 function getGBbyPerson() { 
    109 // 2 ================================= 
    110 // GrundbÃŒcher zur gewÀhlten Person 
    111 // =================================== 
    112         global $gkz, $gemeinde, $epsg, $con, $name, $person, $gb, $auskpath; 
    113         $linelimit=120; 
     43<a title="zur&uuml;ck" href='javascript:history.back()'> 
     44        <img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" /> 
     45</a> 
     46<dfn class='title' id='transaktiontitle'></dfn> 
     47 
     48END; 
     49 
     50// Einen Link generieren, um nach anderen Personen mit gleichem Familiennamen zu suchen 
     51function familiensuche() { 
     52        global $gkz, $gemeinde, $epsg, $name; // $debug 
    11453        if(isset($name)) { // Familiensuche 
    11554                echo "\n<div class='back' title='Andere Personen mit diesem Nachnamen'>"; 
     
    11857                echo "\n</div>\n<br>";   
    11958        } 
    120         $sql="SELECT p.nachnameoderfirma, p.vorname, p.geburtsdatum, p.namensbestandteil, "; 
     59        return; 
     60} 
     61 
     62// Adresse und Geburtsdatum der aktuellen Person ausgeben 
     63function personendaten() { 
     64        global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $auskpath; // $debug 
     65        $sql ="SELECT p.nachnameoderfirma, p.vorname, p.geburtsdatum, p.namensbestandteil, "; 
    12166        $sql.="a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer "; 
    12267        $sql.="FROM ax_person p "; 
    123         $sql.="JOIN alkis_beziehungen b ON p.gml_id=b.beziehung_von "; 
    124         $sql.="JOIN ax_anschrift a ON a.gml_id=b.beziehung_zu "; 
    125         $sql.="WHERE p.gml_id= $1 AND b.beziehungsart='hat';";   
     68        $sql.="LEFT JOIN alkis_beziehungen b ON p.gml_id=b.beziehung_von "; 
     69        $sql.="LEFT JOIN ax_anschrift a ON a.gml_id=b.beziehung_zu "; 
     70        #sql.="WHERE p.gml_id= $1 AND b.beziehungsart='hat';";  // passt nicht zum LEFT 
     71        $sql.="WHERE p.gml_id= $1 ;";    
    12672        $v=array($person); 
    12773        $res=pg_prepare("", $sql); 
    12874        $res=pg_execute("", $v); 
    129         if (!$res) {echo "\n<p class='err'>Fehler bei Name</p>\n";} 
    130         // Daten der Person 
     75        if (!$res) { 
     76                echo "\n<p class='err'>Fehler bei Name</p>\n"; 
     77        } 
    13178        echo "\n\t<table>\n\t<tr>\n\t\t<td valign='top'>"; 
    13279                // Sp. 1: Icon, Link zur Auskunft Person 
     
    14895                } 
    14996        echo "\n\t</p></td></tr>\n\t</table>"; 
    150  
     97        return; 
     98} 
     99 
     100function getEigByName() { 
     101// 1 ============================= 
     102// Eigentuemer nach Name(-nsanfang) 
     103// =============================== 
     104        global $gkz, $gemeinde, $epsg, $name, $person, $gfilter, $auskpath; 
     105        $linelimit=150; 
     106 
     107        $arr = explode(",", $name); 
     108        $name0 = trim($arr[0]); 
     109        $name1 = trim($arr[1]); 
     110        if(preg_match("/\*/",$name0)){ 
     111                $match = trim(preg_replace("/\*/i","%", strtoupper($name0))); 
     112        } else { 
     113                $match = trim($name0)."%"; 
     114        }        
     115        if(preg_match("/\*/",$name1)){ 
     116                $match1 = trim(preg_replace("/\*/i","%", strtoupper($name1))); 
     117        } else { 
     118                $match1 = trim($name1)."%"; 
     119        }                
     120        $sql ="SELECT p.nachnameoderfirma, p.vorname, p.gml_id FROM ax_person p "; 
     121        if ($gfilter > 0) { 
     122                $sql.="JOIN gemeinde_person g ON p.gml_id = g.person WHERE "; 
     123                switch ($gfilter) { 
     124                        case 1: // Einzelwert 
     125                                $sql.="g.gemeinde=".$gemeinde." AND "; break; 
     126                        case 2: // Liste 
     127                                $sql.="g.gemeinde in (".$gemeinde.") AND "; break; 
     128                } 
     129        } else { 
     130                $sql.="WHERE "; 
     131        } 
     132        if($match1 != '%'){ 
     133                $sql.="nachnameoderfirma ILIKE $1 AND p.vorname ILIKE $2 ";              
     134                $sql.="ORDER BY p.nachnameoderfirma, p.vorname LIMIT $3 ;"; 
     135                $v=array($match, $match1, $linelimit); 
     136        }else{ 
     137                $sql.="nachnameoderfirma ILIKE $1 ";             
     138                $sql.="ORDER BY p.nachnameoderfirma, p.vorname LIMIT $2 ;"; 
     139                $v=array($match, $linelimit); 
     140        }  
     141        $res=pg_prepare("", $sql); 
     142        $res=pg_execute("", $v); 
     143        if (!$res) { 
     144                echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>"; 
     145                return; 
     146        } 
     147        $cnt = 0; 
     148        while($row = pg_fetch_array($res)) { 
     149                $nnam=htmlentities($row["nachnameoderfirma"], ENT_QUOTES, "UTF-8"); 
     150                $vnam=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8"); 
     151                $gml=$row["gml_id"]; 
     152                // Link zur Auskunft Person  +++ Icon differenzieren? Firma/Person 
     153                echo "\n<br>\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisnamstruk.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gmlid=".$gml."\")'>"; 
     154                        echo "\n\t\t<img class='nwlink' src='ico/Eigentuemer.ico' width='16' height='16' alt='EIG'>"; 
     155                echo "\n\t</a> ";                
     156                echo "\n<a title='Person' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$gml."&amp;name=".$nnam."'>".$nnam.", ".$vnam."</a>"; 
     157                $cnt++; 
     158        } 
     159        if($cnt == 0){  
     160                echo "\n<p class='anz'>Kein Eigent&uuml;mer gefunden.</p>"; 
     161        } elseif($cnt >= $linelimit) { // das Limit war zu knapp 
     162                echo "\n<p class='anz' title='Bitte den Namen eindeutiger qualifizieren'>... und weitere</p>"; 
     163        } elseif($cnt == 1){ // Eindeutig! 
     164                $person = $gml; 
     165        } else { 
     166                echo "\n<p class='anz'>".$cnt." Eigent&uuml;mer mit '".$name."'</p>";   // im Limit 
     167        } 
     168        return; 
     169} 
     170 
     171function getGBbyPerson() { 
     172// 2 ================================= 
     173// GrundbÃŒcher zur gewÀhlten Person 
     174// =================================== 
     175// Es wird in dieser Function nicht geprÃŒft, ob die gefundenen GrundbÃŒcher auch FlurstÃŒcke 
     176// haben, die im gefilterten Bereich (Gemeinde) liegen. Es können daher Sackgassen entstehen, 
     177// also GrundbÃŒcher, die in der nÀchsten Stufe bei Filterung nicht zu Treffern fÃŒhren. 
     178// Das Joinen bis zum FS unter BerÃŒcksichtigung von speziellen Buchungen ist zu aufwÀndig. 
     179// Dann kann entweder das FS gleich mit ausgegeben werden -> getGBuFSbyPerson. 
     180// Alternativ wÃŒrde eine Hilfstabelle benötigt, in der im PostProcessing  
     181// das GB-zu-Gemeinde-VerhÀltnis vorbereitet wird. 
     182        global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $auskpath, $debug, $bltbez, $bltblatt, $bltseite; 
     183        $linelimit=150; 
     184        $linelimit=15;  // +++ TEST +++  
     185        familiensuche(); 
     186        personendaten(); 
     187        #if ($debug > 0) {echo "\n<p>Nur Grundb&uuml;cher</p>"; } 
    151188        // Suche nach GrundbÃŒchern der Person 
    152         $sql ="SELECT g.gml_id AS gml_g, g.buchungsblattnummermitbuchstabenerweiterung as nr, b.bezeichnung AS beznam "; 
     189        $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezeichnung AS beznam "; 
    153190        $sql.="FROM alkis_beziehungen bpn "; 
    154191        $sql.="JOIN ax_namensnummer n ON bpn.beziehung_von=n.gml_id "; 
    155192        $sql.="JOIN alkis_beziehungen bng ON n.gml_id=bng.beziehung_von "; 
    156         $sql.="JOIN ax_buchungsblatt g ON bng.beziehung_zu=g.gml_id "; 
    157         $sql.="JOIN ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk "; 
     193        $sql.="JOIN ax_buchungsblatt gb ON bng.beziehung_zu=gb.gml_id "; 
     194        $sql.="JOIN ax_buchungsblattbezirk b ON gb.land = b.land AND gb.bezirk = b.bezirk "; 
    158195        $sql.="WHERE bpn.beziehung_zu= $1 AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' "; 
    159         $sql.="ORDER BY g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;"; 
     196        if ($bltbez.$bltblatt != "") { // BlÀttern, Fortsetzen bei ... 
     197                $sql.="AND ((b.bezeichnung > '".$bltbez."') "; 
     198                $sql.="OR (b.bezeichnung = '".$bltbez."' AND gb.buchungsblattnummermitbuchstabenerweiterung > '".$bltblatt."')) "; 
     199        } 
     200        $sql.="ORDER BY b.bezeichnung, gb.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;"; 
     201 
     202        if ($bltseite == "") { // Seite 1 
     203                $bltseite = 1; 
     204        } else { // Folgeseite 
     205                echo "\n<p class='ein'>Teil ".$bltseite; 
     206        } 
    160207        $v=array($person, $linelimit); 
    161208        $res=pg_prepare("", $sql); 
     
    169216                $gml=$row["gml_g"]; 
    170217                $beznam=$row["beznam"]; 
    171                 $nr=$row["nr"]; 
     218                $blatt=$row["blatt"]; 
    172219                echo "\n<div class='gb'>"; 
    173220                        echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gmlid=".$gml."\")'>"; 
    174221                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='GB'>"; 
    175222                        echo "\n\t</a> ";                
    176                         echo "\n\t".$beznam."<a title='Grundbuch' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gb=".$gml."&amp;person=".$person."'> Blatt ".$nr."&nbsp;</a>"; 
     223                        echo "\n\t".$beznam."<a title='Grundbuch' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;blattgml=".$gml."&amp;person=".$person."'> Blatt ".$blatt."&nbsp;</a>"; 
    177224                echo "\n</div>"; 
    178225                $cnt++; 
    179226        } 
    180         if($cnt == 0){  
    181                 echo "\n<p class='err'>Kein Grundbuch.</p>"; 
     227        if($cnt == 0) {  
     228                echo "\n<p class='anz'>Kein Grundbuch zum Eigent&uuml;mer</p>"; 
    182229        } elseif($cnt >= $linelimit) { 
    183                 echo "\n<p>... und weitere</p>"; 
    184         } elseif($cnt == 1){ // Eindeutig! 
    185                 $gb=$gml; // dann Stufe 3 gleich nachschieben 
     230                echo "\n<p class='blt'>".$cnt." Grundb. zum Eigent."; 
     231                $nxtbltbez=urlencode($beznam); 
     232                $nxtbltblatt=urlencode($blatt); 
     233                $nxtbltseite=$bltseite + 1; 
     234                echo "\n - <a class='blt' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person."&amp;bltbez=".$nxtbltbez."&amp;bltblatt=".$nxtbltblatt."&amp;bltseite=".$nxtbltseite."' "; 
     235                echo "title='Bl&auml;ttern ab ".htmlentities($beznam)." Blatt ".$blatt."'>weitere</a>"; 
     236                echo "</p>"; 
     237        } elseif($cnt == 1) { // Eindeutig! 
     238                $blattgml=$gml; // dann Stufe 3 gleich nachschieben 
     239        } else { 
     240                echo "\n<p class='anz'>".$cnt." Grundb&uuml;cher zum Eigent&uuml;mer</p>"; 
    186241        } 
    187242        return; 
    188243} 
    189          
     244 
    190245function getFSbyGB($backlink) { 
    191246// 3 ================================= 
    192247// FlurstÃŒcke zum gewÀhlten Grundbuch 
    193248// =================================== 
    194         global $gkz, $gemeinde, $con, $name, $person, $gb, $scalefs, $auskpath, $epsg, $gfilter, $persfilter; 
    195         $linelimit=120; 
    196  
    197         if($backlink) {  
     249// Zu einem Grundbuch (gml_id als Parameter) werden alle darauf gebuchten FlurstÃŒcke gesucht. 
     250// Im ersten Schritt sind das direkt gebuchten FlurstÃŒcke. 
     251// Im zweiten Schritt wird gesucht nach Rechten einer Buchungstelle des durchsuchten Blattes an anderen 
     252// Buchungstellen. Es werden dann die FlurstÃŒcke darauf gelistet. 
     253        global $gkz, $gemeinde, $name, $person, $blattgml, $scalefs, $auskpath, $epsg, $gfilter, $debug; 
     254        $linelimit=150; 
     255        if($backlink) { // Erneuter Ansatz bei Person oder GB möglich. 
     256 
     257                // Namen ermitteln 
     258                $sql ="SELECT nachnameoderfirma, vorname FROM ax_person WHERE gml_id = $1 "; 
     259                $v=array($person); 
     260                $res=pg_prepare("", $sql); 
     261                $res=pg_execute("", $v); 
     262                if (!$res) { 
     263                        echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>"; 
     264                } 
     265                $row = pg_fetch_array($res); // nur eine Zeile 
     266                $nnam=htmlentities($row["nachnameoderfirma"], ENT_QUOTES, "UTF-8"); 
     267                $vnam=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8"); 
    198268                echo "\n\t<div class='back' title='zur&uuml;ck zur Person'>"; 
    199269                        echo "\n\t\t<img class='nwlink' src='ico/Eigentuemer.ico' width='16' height='16' alt='EIG'> "; 
    200270                        echo "\n\t<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person."'>"; 
    201                         echo "zur&uuml;ck</a><br>";              
     271                        echo $nnam.", ".$vnam."</a><br>";                
    202272                echo "</div>"; 
     273 
     274                // Grundbuch-Daten ermitteln 
     275                $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezeichnung AS beznam "; 
     276                $sql.="FROM ax_buchungsblatt gb JOIN ax_buchungsblattbezirk b ON gb.land = b.land AND gb.bezirk = b.bezirk "; 
     277                $sql.="WHERE gb.gml_id= $1 ;"; 
     278                $v=array($blattgml); 
     279                $res=pg_prepare("", $sql); 
     280                $res=pg_execute("", $v); 
     281                if (!$res) { 
     282                        echo "\n<p class='err'>Fehler bei Grundbuch</p>"; 
     283                } 
     284                $row = pg_fetch_array($res); // nur eine Zeile 
     285                $gml=$row["gml_g"]; 
     286                $beznam=$row["beznam"]; 
     287                $blatt=$row["blatt"]; 
    203288                echo "<div class='gb'>"; 
    204                         echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gb."\")'>"; 
     289                        echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$blattgml."\")'>"; 
    205290                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='GB'>"; 
    206                         echo "\n\t</a> Grundbuch"; 
     291                        echo "\n\t</a>&nbsp;".$beznam." Blatt ".$blatt; 
    207292                echo "</div>";   
    208293        } 
    209294 
     295        GB_Buchung_FS($linelimit); // Externe Function: Blatt > GrundstÃŒck > Flurst. 
     296         
     297        return; 
     298} 
     299 
     300function getGBuFSbyPerson() { 
     301// 2 + 3 ========================================= 
     302// GrundbÃŒcher UND FlurstÃŒcke zur gewÀhlten Person 
     303// =============================================== 
     304// Dies ist die Kombination von Stufe 2 (GrundbÃŒcher zur Person) und 3 (FlurstÃŒcke zum Grundbuch)  
     305// in einem einzelnen Schritt. Wenn auf Gemeinde gefiltert wird, dann können in Stufe 2 (noch ohne Filter) 
     306// auch GrundbÃŒcher gefunden werden, die dann auf Stufe 3 (mit Filter) keine FS liefern ("Sackgasse"!). 
     307// Wenn aber per JOIN "GB -> FS -> Gemarkung -> Gemeinde" geprÃŒft wird, dann können  
     308// die Daten ja auch gleich ausgegeben werden. 
     309// FÃŒr FÀlle in denen nicht nach Gemeinde gefiltert wird (z.B. ganzer Kreis) kann weiter  
     310// Stufe 2 und 3 nacheinander verwendet werden. Dies ist wahrscheinlich ÃŒbersichtlicher,  
     311// weil "ungefiltert" in "2+3" zu lange Listen entstehen wÃŒrden, die durchblÀttert werden mÃŒssen.  
     312        global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $auskpath, $scalefs, $gfilter, $debug, $bltbez, $bltblatt, $bltbvnr, $bltseite, $bltrecht; 
     313        $linelimit=80; // als Limit "Anzahl FlurstÃŒcke" in den beiden folgenden Abfragen 
     314        // darf nun etwas knapper sein, weil man jetzt blÀttern kann 
     315        familiensuche(); 
     316        personendaten(); 
     317 
     318        // Wenn das Limit ÃŒberschritten wurde: zusÀtzliche Parameter "blt"=BlÀttern 
     319        // $bltbez   = Bezirk-Name   
     320        // $bltblatt = BlattMitBuchstabe 
     321        // $bltbvnr  = lfd.Nr der Buchungsstelle 
     322        // $bltseite = fortlaufende Seiten-Nr 
     323        // $bltrecht = "nur"/"ohne" liefert nur den abgebrochene Teil der Auflistung  
     324 
    210325        // SQL-Bausteine vorbereiten 
    211         $sql1 ="SELECT s1.laufendenummer AS lfd, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; 
     326        //  Direkte Buchungen suchen mit:  $sql1 +         $sqla1 + $sql2 
     327        //  SonderfÀlle suchen mit:        $sql1 + $sqlz + $sqla2 + $sql2 
     328 
     329        // Baustein: SQL-Anfang fuer beide Varianten 
     330        $sql1 ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezeichnung AS beznam, "; 
     331        $sql1.="s1.laufendenummer AS lfd, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ot.gemarkung, ot.gemarkungsname, "; 
    212332        if($epsg == "25832") { // Transform nicht notwendig 
    213333                $sql1.="st_x(st_centroid(f.wkb_geometry)) AS x, "; 
    214                 $sql1.="st_y(st_centroid(f.wkb_geometry)) AS y, "; 
     334                $sql1.="st_y(st_centroid(f.wkb_geometry)) AS y "; 
    215335        } else {   
    216336                $sql1.="st_x(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS x, "; 
    217                 $sql1.="st_y(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS y, ";                      
    218         } 
    219         $sql1.="g.gemarkungsnummer, g.bezeichnung "; 
    220    $sql1.="FROM alkis_beziehungen vbg "; 
    221         $sql1.="JOIN ax_buchungsstelle s1 ON vbg.beziehung_von = s1.gml_id ";  
    222  
    223         // Zwischen-JOIN (zusÀtzlich nur bei zweiter Abfrage) 
    224         $sqlz ="JOIN alkis_beziehungen vss ON vss.beziehung_von = s1.gml_id "; 
    225         $sqlz.="JOIN ax_buchungsstelle s2 ON vss.beziehung_zu = s2.gml_id "; 
    226  
    227         $sqla1 ="JOIN alkis_beziehungen vfb ON s1.gml_id = vfb.beziehung_zu "; 
    228         $sqla2 ="JOIN alkis_beziehungen vfb ON s2.gml_id = vfb.beziehung_zu "; 
    229  
    230         $sql2.="JOIN ax_flurstueck f  ON vfb.beziehung_von = f.gml_id "; 
    231    $sql2.="JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    232  
    233         if ($persfilter and ($gfilter > 0)) { 
    234                 $sql2.="JOIN gemeinde_gemarkung v ON g.land=v.land AND g.gemarkungsnummer=v.gemarkung "; 
    235         } 
    236  
    237         $sql2.="WHERE vbg.beziehung_zu= $1 AND vbg.beziehungsart='istBestandteilVon' AND vfb.beziehungsart='istGebucht' "; 
    238  
    239         if ($persfilter and ($gfilter > 0)) { 
    240                 switch ($gfilter) { 
    241                         case 1: // Einzelwert 
    242                                 $sql2.="AND v.gemeinde=".$gemeinde." "; break; 
    243                         case 2: // Liste 
    244                                 $sql2.="AND v.gemeinde in (".$gemeinde.") "; break; 
    245                 } 
    246         } 
    247         $sql2.="ORDER BY s1.laufendenummer, f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;"; 
    248  
    249         // Blatt <vbg/istBestandteilVon<  Buchungsstelle <vfb/istGebucht< Flurstck. 
    250         $sql=$sql1.$sqla1.$sql2; // Direkte Buchungen 
    251  
    252         $v=array($gb, $linelimit); 
    253         $res=pg_prepare("", $sql); 
    254         $res=pg_execute("", $v); 
    255         if (!$res) { 
    256                 echo "\n<p class='err'>Fehler bei Buchung und Flurst&uuml;ck.</p>"; 
    257                 if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    258                 return; 
    259         } 
    260         $zfs1=0; 
    261         while($row = pg_fetch_array($res)) {     
    262                 $fs_gml=$row["gml_id"]; 
    263                 $bvnr=$row["lfd"]; 
    264                 if ($bvnr > 0) {$bvnr=str_pad($bvnr, 4, "0", STR_PAD_LEFT);} else {$bvnr="";} 
    265                 $gmkg=$row["bezeichnung"]; 
    266                 $flur=$row["flurnummer"]; 
    267                 $fskenn=$row["zaehler"]; 
    268                 if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer 
    269                 $x=$row["x"]; 
    270                 $y=$row["y"]; 
    271                 echo "\n<div class='fs'>"; 
    272                         echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."\")'>"; 
    273                                 echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS'>"; 
    274                         echo "\n\t</a> ";        
    275                         echo "\n\tFlst. <a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
    276                                         echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
    277                                         echo "parent.parent.showHighlight(".$x.",".$y.");' "; 
    278                                 echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
    279                                 echo "onmouseout='parent.parent.hideHighlight()'>"; 
    280                         echo $bvnr." ".$gmkg." ".$flur."-".$fskenn."</a>"; 
    281                 echo "\n</div>"; 
    282                 $zfs1++; 
    283         } 
    284  
    285         // Zweite Abfrage (Variante) aus den Bausteinen zusammen bauen 
    286         // buchungsStelle2 < an < buchungsStelle1 
    287         $sql=$sql1.$sqlz.$sqla2.$sql2; // Rechte an 
    288  
    289         $v=array($gb, $linelimit); 
    290         $res=pg_prepare("", $sql); 
    291         $res=pg_execute("", $v); 
    292         if (!$res) { 
    293                 echo "\n<p class='err'>Fehler bei Recht an Buchung.</p>"; 
    294                 if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
    295                 return; 
    296         } 
    297         $zfs2=0; 
    298         while($row = pg_fetch_array($res)) {     
    299                 $fs_gml=$row["gml_id"]; 
    300                 $bvnr=$row["lfd"]; 
    301                 if ($bvnr > 0) {$bvnr=str_pad($bvnr, 4, "0", STR_PAD_LEFT);} else {$bvnr="";} 
    302                 $gmkg=$row["bezeichnung"]; 
    303                 $flur=$row["flurnummer"]; 
    304                 $fskenn=$row["zaehler"]; 
    305                 if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer 
    306                 $x=$row["x"]; 
    307                 $y=$row["y"]; 
    308                 echo "\n<div class='fs'>"; 
    309                         echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."\")'>"; 
    310                                 echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS'>"; 
    311                         echo "\n\t</a> ";        
    312                         echo "\n\tRecht an <a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
    313                                         echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
    314                                         echo "parent.parent.showHighlight(".$x.",".$y.");' "; 
    315                                 echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
    316                                 echo "onmouseout='parent.parent.hideHighlight()'>"; 
    317                         echo $bvnr." ".$gmkg." ".$flur."-".$fskenn."</a>"; 
    318                 echo "\n</div>"; 
    319                 $zfs2++; 
    320         } 
    321  
    322         if($zfs1 + $zfs2 == 0) {  
    323                 echo "\n<p class='err'>Kein Flurst&uuml;ck im berechtigten Bereich.</p>"; 
    324         //      echo "\n<p class='hilfe'>Hinweis: Sonderf&auml;lle wie 'Erbbaurecht' sind noch nicht umgesetzt.</p>"; 
    325         } elseif($zfs >= $linelimit) { 
    326                 echo "\n<p>... und weitere</p>";  
    327         } 
     337                $sql1.="st_y(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS y ";                       
     338        } 
     339        $sql1.="FROM alkis_beziehungen bpn "; 
     340        $sql1.="JOIN ax_namensnummer nn ON bpn.beziehung_von=nn.gml_id "; 
     341        $sql1.="JOIN alkis_beziehungen bng ON nn.gml_id=bng.beziehung_von "; 
     342        $sql1.="JOIN ax_buchungsblatt gb ON bng.beziehung_zu=gb.gml_id "; 
     343   $sql1.="JOIN alkis_beziehungen vbg ON gb.gml_id=vbg.beziehung_zu "; 
     344        $sql1.="JOIN ax_buchungsstelle s1 ON vbg.beziehung_von=s1.gml_id "; 
     345        $sql1.="JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk "; // quer-ab 
     346 
     347        // Baustein: Zwischen-JOIN (nur bei zweiter Abfrage) 
     348        $sqlz ="JOIN alkis_beziehungen vss ON vss.beziehung_von=s1.gml_id "; 
     349        $sqlz.="JOIN ax_buchungsstelle s2 ON vss.beziehung_zu=s2.gml_id "; 
     350 
     351        // Baustein: Auswahl 1 oder 2 
     352        $sqla1 ="JOIN alkis_beziehungen vfb ON s1.gml_id=vfb.beziehung_zu "; 
     353        $sqla2 ="JOIN alkis_beziehungen vfb ON s2.gml_id=vfb.beziehung_zu "; 
     354 
     355        // Baustein: SQL-Ende fuer beide Varianten 
     356        $sql2.="JOIN ax_flurstueck f ON vfb.beziehung_von=f.gml_id "; 
     357   $sql2.="JOIN pp_gemarkung ot ON f.land=ot.land AND f.gemarkungsnummer=ot.gemarkung "; // Ortsteil 
     358        $sql2.="WHERE bpn.beziehung_zu= $1 AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' "; 
     359        $sql2.="AND vbg.beziehungsart='istBestandteilVon' AND vfb.beziehungsart='istGebucht' "; 
     360        switch ($gfilter) { // Gemeinde-Filter 
     361                case 1: // Einzelwert 
     362                        $sql2.="AND ot.gemeinde=".$gemeinde." "; break; 
     363                case 2: // Liste 
     364                        $sql2.="AND ot.gemeinde in (".$gemeinde.") "; break; 
     365        } 
     366        $sql3 ="ORDER BY gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;"; 
     367        // Sortier-Problem: laufendenummer in varchar linksbÃŒndig 
     368 
     369        // Die Bausteine in 2 Varianten kombinieren 
     370 
     371        // BlÀttern mit folgenden Parametern: $bltbez, $bltblatt, $bltbvnr, $bltseite, $bltrecht 
     372        if ($bltbez.$bltblatt.$bltbvnr != "") { // BlÀttern, Fortsetzen bei ... 
     373                $bltwhere ="AND ((b.bezeichnung > '".$bltbez."') "; 
     374                $bltwhere.="OR (b.bezeichnung = '".$bltbez."' AND gb.buchungsblattnummermitbuchstabenerweiterung > '".$bltblatt."') "; 
     375                $bltwhere.="OR (b.bezeichnung = '".$bltbez."' AND gb.buchungsblattnummermitbuchstabenerweiterung = '".$bltblatt."' AND cast(s1.laufendenummer AS integer) >= ".$bltbvnr." )) "; 
     376        } // FlurstÃŒcke in der BVNR werden ggf. wiederholt 
     377 
     378        if ($bltseite == "") { // auf Seite 1 beide Teile ausgegeben 
     379                $bltseite = 1; 
     380        } else { // Folgegeseite: nur Teil 1 *oder* 2 
     381                echo "\n<p class='ein'>Teil ".$bltseite." - "; 
     382                switch ($bltrecht) { 
     383                        case "nur": 
     384                                echo "nur Rechte an .. Buchungen</p>"; break; 
     385                        case "ohne": 
     386                                echo "nur direkte Buchungen</p>"; break; 
     387                        default: 
     388                                echo "</p>"; break; 
     389                } 
     390        } 
     391 
     392        // FÀlle ohne "Rechte an" 
     393        if ($bltrecht != "nur") { // "nur"/"ohne" liefert nur den abgebrochene Teil der Auflistung 
     394                // Blatt <vbg/istBestandteilVon<  Buchungsstelle <vfb/istGebucht< Flurstck. 
     395                $sql=$sql1.$sqla1.$sql2.$bltwhere.$sql3; // Direkte Buchungen 
     396         
     397                $v=array($person, $linelimit); 
     398                $res=pg_prepare("", $sql); 
     399                $res=pg_execute("", $v); 
     400                if (!$res) { 
     401                        echo "\n<p class='err'>Fehler bei Buchung und Flurst&uuml;ck.</p>"; 
     402                        if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";} 
     403                        return; 
     404                } 
     405                $zfs1=0; 
     406                $gwgb=""; 
     407                while($row = pg_fetch_array($res)) {     
     408                        $gb_gml=$row["gml_g"]; 
     409         
     410                        // Gruppenwechsel auf Ebene Grundbuch 
     411                        if ($gwgb != $gb_gml) { 
     412                                $beznam=$row["beznam"]; 
     413                                $blatt=$row["blatt"]; 
     414                                echo "\n<div class='gb'>"; // Ausgabe GB - B L A T T  
     415                                        echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gmlid=".$gb_gml."\")'>"; 
     416                                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='GB'>"; 
     417                                        echo "\n\t</a> ";                
     418                                        echo "\n\t".$beznam."<a title='Grundbuch' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;blattgml=".$gb_gml."&amp;person=".$person."'> Blatt ".$blatt."&nbsp;</a>"; 
     419                                echo "\n</div>"; 
     420                                $gwgb = $gb_gml;        // Steuerg GW GB 
     421                                $gwbv = "";             // Steuerg GW BVNR 
     422                        } 
     423         
     424                        // Gruppenwechsel auf Ebene Buchungs-Stelle (BVNR) 
     425                        $bvnr=$row["lfd"]; 
     426                        if ($gwbv != $bvnr) { 
     427                                if ($bvnr == 0) { 
     428                                        $bvnra = "-"; 
     429                                } else { 
     430                                        $bvnra = str_pad($bvnr, 4, "0", STR_PAD_LEFT); // auf 4 Stellen 
     431                                } 
     432                                $gwbv = $bvnr; // Steuerg GW BVNR 
     433                                echo "\n<div class='gs' title='Grundst&uuml;ck'>"; 
     434                                echo "<img class='nwlink' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
     435                                echo "Buchung ".$bvnra."</div>"; 
     436                        } 
     437         
     438                        $fs_gml=$row["gml_id"]; 
     439                        $gmkg=$row["gemarkungsname"]; 
     440                        $flur=$row["flurnummer"]; 
     441                        $fskenn=$row["zaehler"]; 
     442                        if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr 
     443                        $x=$row["x"]; 
     444                        $y=$row["y"]; 
     445                        echo "\n<div class='fs'>"; // F L U R S T Ü C K 
     446                                echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."\")'>"; 
     447                                        echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS'>"; 
     448                                echo "\n\t</a> ";        
     449                                echo "\n\t".$gmkg." <a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
     450                                                echo "javascript:"; 
     451                                                echo "transtitle(\"auf Flurst&uuml;ck positioniert\"); "; 
     452                                                echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
     453                                                echo "parent.parent.showHighlight(".$x.",".$y.");' "; 
     454                                        echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
     455                                        echo "onmouseout='parent.parent.hideHighlight()'>"; 
     456                                echo " Flur ".$flur." ".$fskenn."</a>"; 
     457                        echo "\n</div>"; 
     458                        $zfs1++; 
     459                } 
     460                if($zfs1 == 0) { 
     461                        if ($bltrecht == "ohne") { 
     462                                echo "\n<p class='anz'>Keine direkte Buchung gefunden.</p>"; 
     463                                #if ($debug >= 3) {echo "\n<p class='dbg'>".$sql."</p>";} 
     464                        } 
     465                } elseif($zfs1 >= $linelimit) { // das Limit war zu knapp, das  B l À t t e r n  anbieten 
     466                        echo "\n<p class='blt'>".$zfs1." Flurst&uuml;cke"; 
     467                        $nxtbltbez=urlencode($beznam); 
     468                        $nxtbltblatt=urlencode($blatt); 
     469                        $nxtbltseite=$bltseite + 1; 
     470                        echo "\n - <a class='blt' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person."&amp;bltbez=".$nxtbltbez."&amp;bltblatt=".$nxtbltblatt."&amp;bltbvnr=".$bvnr."&amp;bltseite=".$nxtbltseite."&amp;bltrecht=ohne' "; 
     471                        echo "title='Bl&auml;ttern ab ".htmlentities($beznam)." Blatt ".$blatt." BVNR ".$bvnr."'>weitere</a>"; 
     472                        echo "</p>"; 
     473                } elseif($zfs1 > 1) { // Meldung (Plural) ab 2  
     474                        echo "\n<p class='anz'>".$zfs1." Flurst&uuml;cke zum Eigent&uuml;mer</p>"; // im Limit 
     475                } 
     476        }        
     477 
     478        if ($bltrecht == "" and $zfs1 > 0) { // beides 
     479                echo "<hr>"; // dann Trenner 
     480        } 
     481 
     482        // FÀlle mit "Rechte an" 
     483        if ($bltrecht != "ohne") { // "nur"/"ohne" liefert nur den abgebrochene Teil der Auflistung  
     484                // Zweite Abfrage (Variante) aus den Bausteinen zusammen bauen 
     485                // buchungsStelle2 < an < buchungsStelle1 
     486                $sql=$sql1.$sqlz.$sqla2.$sql2.$bltwhere.$sql3; // Rechte an 
     487                $v=array($person, $linelimit); 
     488                $res=pg_prepare("", $sql); 
     489                $res=pg_execute("", $v); 
     490                if (!$res) { 
     491                        echo "\n<p class='err'>Fehler bei Recht an Buchung.</p>"; 
     492                        if ($debug >= 3) {echo "\n<p class='dbg'>".$sql."</p>";} 
     493                        return; 
     494                } 
     495                $zfs2=0; 
     496                $gwgb=""; 
     497                while($row = pg_fetch_array($res)) {     
     498                        // Gruppenwechsel auf Ebene Grundbuch 
     499                        $gb_gml=$row["gml_g"]; 
     500                        if ($gwgb != $gb_gml) {  
     501                                $beznam=$row["beznam"]; 
     502                                $blatt=$row["blatt"]; 
     503                                echo "\n<div class='gb'>"; // Ausgabe GB 
     504                                        echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gmlid=".$gb_gml."\")'>"; 
     505                                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='GB'>"; 
     506                                        echo "\n\t</a> ";                
     507                                        echo "\n\t".$beznam."<a title='Grundbuch' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;blattgml=".$gb_gml."&amp;person=".$person."'> Blatt ".$blatt."&nbsp;</a>"; 
     508                                echo "\n</div>"; 
     509                                $gwgb = $gb_gml;        // Steuerg GW GB 
     510                                $gwbv = "";             // Steuerg GW BVNR 
     511                        } 
     512 
     513                        // Gruppenwechsel auf Ebene Buchungs-Stelle (BVNR) 
     514                        $bvnr=$row["lfd"]; 
     515                        if ($gwbv != $bvnr) { 
     516                                if ($bvnr == 0) { 
     517                                        $bvnra = "-"; 
     518                                } else { 
     519                                        $bvnra = str_pad($bvnr, 4, "0", STR_PAD_LEFT); // auf 4 Stellen 
     520                                } 
     521                                $gwbv = $bvnr; // Steuerg GW BVNR 
     522                                echo "\n<div class='gs' title='Grundst&uuml;ck'>"; 
     523                                echo "<img class='nwlink' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
     524                                echo "Buchung ".$bvnra."</div>"; 
     525                        } 
     526 
     527                        $fs_gml=$row["gml_id"]; 
     528                        $gmkg=$row["gemarkungsname"]; 
     529                        $flur=$row["flurnummer"]; 
     530                        $fskenn=$row["zaehler"]; 
     531                        if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer 
     532                        $x=$row["x"]; 
     533                        $y=$row["y"]; 
     534                        echo "\n<div class='fs'>"; 
     535                                echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."\")'>"; 
     536                                        echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS'>"; 
     537                                echo "\n\t</a> ";        
     538                                echo "\n\tRecht an ".$gmkg." <a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
     539                                                echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
     540                                                echo "parent.parent.showHighlight(".$x.",".$y.");' "; 
     541                                        echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
     542                                        echo "onmouseout='parent.parent.hideHighlight()'>"; 
     543                                echo " Flur ".$flur." ".$fskenn."</a>"; 
     544                        echo "\n</div>"; 
     545                        $zfs2++; 
     546                } 
     547                if($zfs2 == 0) { 
     548                        if ($zfs1 == 0 or $bltrecht == "nur") { // keine Meldung wenn schon in Teil 1 eine Ausgabe 
     549                                echo "\n<p class='anz'>Keine Rechte an Buchungen.</p>"; 
     550                                #if ($debug >= 3) {echo "\n<p class='dbg'>".$sql."</p>";} 
     551                        } 
     552                } elseif($zfs2 >= $linelimit) { // das Limit war zu knapp, das  B l À t t e r n  anbieten 
     553                        echo "\n<p class='blt'>".$zfs2." Rechte an Flurst."; 
     554                        $nxtbltbez=urlencode($beznam); 
     555                        $nxtbltblatt=urlencode($blatt); 
     556                        $nxtbltseite=$bltseite + 1; 
     557                        echo "\n - <a class='blt' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person."&amp;bltbez=".$nxtbltbez."&amp;bltblatt=".$nxtbltblatt."&amp;bltbvnr=".$bvnr."&amp;bltseite=".$nxtbltseite."&amp;bltrecht=nur' "; 
     558                        echo "title='Bl&auml;ttern ab ".htmlentities($beznam)." Blatt ".$blatt." BVNR ".$bvnr."'>weitere</a>"; 
     559                        echo "</p>"; 
     560                } elseif($zfs2 > 1) { // ab 2 
     561                        echo "\n<p class='anz'>".$zfs2." Rechte an Flurst.</p>"; // im Limit             
     562                } 
     563        } // ENDE FÀlle mit "Rechte an" 
    328564        return; 
    329565} 
     
    332568// Start hier! 
    333569// =========== 
     570 
    334571// Parameter:   
    335572// 1. name   = Suche nach Namensanfang oder -bestandteil. 
    336573// 2. person = gml_id der Person      -> Suche nach GrundbÃŒchern 
    337574// 3. gb     = gml_id des Grundbuches -> Suche nach FlurstÃŒcken 
     575 
    338576if(isset($epsg)) { 
    339         if ($debug >= 2) {echo "<p>aktueller EPSG='".$epsg."'</p>";} // aus MB 
     577        #if ($debug >= 2) {echo "\n<p class='dbg'>aktueller EPSG='".$epsg."'</p>";} // aus MB 
    340578        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    341579} else { 
    342         if ($debug >= 1) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
     580        #if ($debug >= 1) {echo "<p class='dbg'>kein EPSG gesetzt</p>";}         
    343581        $epsg=$gui_epsg; // aus Conf 
    344582} 
    345 if ($debug >= 2) {echo "<p>Filter Gemeinde = ".$gemeinde."</p>";} 
     583#if ($debug >= 2) {echo "\n<p class='dbg'>Filter Gemeinde = '".$gemeinde."'</p>";} 
    346584if ($gemeinde == "") { 
    347         $gfilter = 0; // ungefiltert 
     585        $gfilter = 0; // Gemeinde ungefiltert 
    348586} elseif(strpos($gemeinde, ",") === false) { 
    349         $gfilter = 1; // Einzelwert 
     587        $gfilter = 1; // Gemeinde Einzelwert 
    350588} else { 
    351         $gfilter = 2; // Liste 
    352 } 
    353  
    354 // Welche Parameter? 
    355 // 3. Stufe: FlurstÃŒcke zum Grundbuch 
    356 if(isset($gb)) { // gml_id 
     589        $gfilter = 2; // Gemeinde Filter-Liste 
     590} 
     591 
     592// Quo Vadis? 
     593if(isset($blattgml)) {          // 3. Stufe: FlurstÃŒcke zum Grundbuch 
     594 
    357595        // Das Programm hat sich selbst verlinkt aus einer Liste der GB zu einem EigentÃŒmer. 
    358596        // Wenn Parameter mitgegeben wurden, können diese fÃŒr einen "Link zurÃŒck" verwendet werden. 
    359         getFSbyGB(true); 
    360 } elseif(isset($person)) { // gml_id - 2. Stufe: GrundbÃŒcher zur Person 
     597        $trans="Flurst&uuml;cke zum Grundbuch"; 
     598        getFSbyGB(true);                                // mit BackLink 
     599 
     600} elseif(isset($person)) {      // 2. Stufe: GrundbÃŒcher zur Person 
    361601        // Das Programm hat sich selbst verlinkt aus einer Liste der Personen zu einer Suchmaske. 
    362         getGBbyPerson();  
    363         if(isset($gb) ) { getFSbyGB(false);} // Es wurde nur EIN Grundbuch zu der Person gefunden. 
    364 } elseif(isset($name)) { // Suchbegriff aus Form - 1. Stufe: Suche nach Name 
    365         getEigByName();  
    366         if(isset($person)) { getGBbyPerson();} 
     602        if ($debug >= 2) {echo "\n<p class='dbg'>Gemeinde-Filter-Steuerung = '".$gfilter."'</p>";} 
     603 
     604        // Die Filtereinstellung beeinflusst die Such-Strategie: 
     605        if ($gfilter == 0) {                    // Keine Filterung auf "Gemeinde": große Datenmenge 
     606 
     607                $trans="Grundb&uuml;cher zum Eigent&uuml;mer"; 
     608                getGBbyPerson(); 
     609                // Also schrittweise erst mal Stufe 2 = GrundbÃŒcher zur Person suchen. 
     610                // Diese Function hat auch noch keine Gemeinde-Filter-Funktion auf GB-Ebene. 
     611                                                                         
     612                if(isset($blattgml) ) { // Es wurde nur EIN Grundbuch zu der Person gefunden. 
     613                        $trans="1 Blatt zum Eigent&uuml;mer"; 
     614                        getFSbyGB(false);       // Dann dazu auch gleich die Stufe 3 hinterher, aber ohne Backlink. 
     615                }  
     616 
     617        } else {                                                // mit Filter auf Gemeinde: weniger Daten? 
     618 
     619                $trans="Grundb. und Flurst. zum Eigent&uuml;mer"; 
     620                getGBuFSbyPerson();             // Schritte 2+3 gleichzeitig, dabei Gemeinde-Filter auf Stufe 3 
     621        } 
     622 
     623} elseif(isset($name)) {        // Suchbegriff aus Form - 1. Stufe: Suche nach Name 
     624 
     625        $trans="Namensuche \"".$name."\""; 
     626        getEigByName();                         // Suchen nach Namensanfang 
     627 
     628        if(isset($person)) {            // genau EIN Treffer 
     629                $trans="1 Grundbuch zum Namen"; 
     630                getGBbyPerson();                // Dann gleich das Grundbuch hinterher 
     631        } 
     632 
    367633} elseif ($debug >= 2) { 
    368         echo "\n<p>Parameter?</p>"; // Programmfehler 
    369 } 
     634        echo "\n<p class='dbg'>Parameter?</p>"; // Programmfehler, soll nicht vorkommen 
     635} 
     636// Titel im Kopf anzeigen 
     637echo "\n<script type='text/javascript'>\n\ttranstitle('".$trans."')\n</script>"; 
     638 
    370639?> 
    371640 
  • trunk/mapbender/http/nav/alkisnav_fls.php

    r276 r278  
    11<?php 
    22/* Version vom 
    3         2011-10-24 Nach Pos-Klick Highlight erneuern statt hideHighlight 
    4         2011-11-07 optional auch Historische FS suchen, Link auf Buchauskunft-Modul alkisfshis.php 
    5         2011-11-09 "h" hinter Flur oder FlurstÃŒck sucht sofort in Historie 
     3        2011-10-24      Nach Pos-Klick Highlight erneuern statt hideHighlight 
     4        2011-11-07      optional auch Historische FS suchen, Link auf Buchauskunft-Modul alkisfshis.php 
     5        2011-11-09      "h" hinter Flur oder FlurstÃŒck sucht sofort in Historie 
    66                                        Ausgabe Flur in Varianten aktuell/historisch mit gegenseitigen Verweisen 
    7         2011-11-11 Nachfolger-Liste in der DB nachschlagen, und aktuelle FS als solche kennzeichnen 
    8                                 neue Icons fÃŒr Link mit Pfeil 
    9                                 Differenzierung mit/ohne Raumbezug bei Icons fuer Histor. FS 
    10                                 Gemarkung- und Flur-Zeile vor einzelnem FlurstÃŒck ausgeben 
    11         2011-11-17 Nachweis-Links ÃŒber javascript im neuen Hochformat-Fenster 
    12         2013-04-16 "import_request_variables" entfÀllt in PHP 5.4,  
    13                                 Fehlerkorrektur Komma in SQL bei FS-Suche. 
     7        2011-11-11      Nachfolger-Liste in der DB nachschlagen, und aktuelle FS als solche kennzeichnen 
     8                                        neue Icons fÃŒr Link mit Pfeil 
     9                                        Differenzierung mit/ohne Raumbezug bei Icons fuer Histor. FS 
     10                                        Gemarkung- und Flur-Zeile vor einzelnem FlurstÃŒck ausgeben 
     11        2011-11-17      Nachweis-Links ÃŒber javascript im neuen Hochformat-Fenster 
     12        2013-04-16      "import_request_variables" entfÀllt in PHP 5.4,  
     13                                        Fehlerkorrektur Komma in SQL bei FS-Suche. 
     14        2013-04-26      Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung" 
     15                                        ZurÃŒck-Link, Titel der Transaktion anzeigen 
    1416*/ 
    1517$cntget = extract($_GET); 
     
    1719$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password; 
    1820$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$dbname.$dbvers.$gkz); 
    19 ?> 
    20  
     21echo <<<END 
    2122<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    2223<html> 
     
    3334                        window.open(link,'','left=10,top=10,width=620,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes'); 
    3435                } 
     36                function transtitle(trans) { 
     37                        document.getElementById('transaktiontitle').innerHTML = trans; 
     38                } 
    3539        </script> 
    3640</head> 
    3741<body> 
    38  
    39 <?php 
     42<a title="zur&uuml;ck" href='javascript:history.back()'> 
     43        <img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" /> 
     44</a> 
     45<dfn class='title' id='transaktiontitle'></dfn> 
     46 
     47END; 
    4048 
    4149function is_ne_zahl($wert) { 
     
    146154        global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter; 
    147155        $linelimit=50; 
    148         $sql ="SELECT DISTINCT g.gemeinde AS key, g.bezeichnung FROM ax_gemeinde g "; 
    149         $sql.="JOIN gemeinde_gemarkung v ON g.regierungsbezirk=v.regierungsbezirk AND g.kreis=v.kreis AND g.gemeinde=v.gemeinde "; 
    150         // "ax_gemeinde" enthÀlt mehrfache Gemeinde-Schluessel (Filtern regierungsbezirk, kreis)        
    151         // "gemeinde_gemarkung" enthaelt nur gefÃŒllte Gemarkungen aber Gemeinde mehrfach 
     156        $sql ="SELECT gemeinde, gemeindename FROM pp_gemeinde "; 
    152157        switch ($gfilter) { 
    153158                case 1: // Einzelwert 
    154                         $sql.="WHERE g.gemeinde=".$gemeinde." "; 
     159                        $sql.="WHERE gemeinde=".$gemeinde." "; 
    155160                        break; 
    156161                case 2: // Liste 
    157                         $sql.="WHERE g.gemeinde in (".$gemeinde.") "; 
     162                        $sql.="WHERE gemeinde in (".$gemeinde.") "; 
    158163                        break; 
    159164                default: // kein Filter 
    160165                        break; 
    161166        } 
    162         $sql.=" ORDER BY g.bezeichnung LIMIT $1 ;"; 
     167        $sql.=" ORDER BY gemeindename LIMIT $1 ;"; 
    163168        $res=pg_prepare("", $sql); 
    164169        $res=pg_execute("", array($linelimit)); 
     
    170175        $cnt = 0; 
    171176        while($row = pg_fetch_array($res)) { 
    172                 $stadt=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    173                 $bez=urlencode($row["bezeichnung"]);  // Uebergeben an ListGmkgInGemeinde 
    174                 $gnr=$row["key"]; 
     177                $gemeindename=$row["gemeindename"]; 
     178                $stadt=htmlentities($gemeindename, ENT_QUOTES, "UTF-8"); 
     179                $bez=urlencode($gemeindename);  // Uebergeben an ListGmkgInGemeinde 
     180                $gnr=$row["gemeinde"]; 
    175181                echo "\n<div class='gm' title='Gemeinde'>"; 
    176182                        echo "\n\t\t<img class='nwlink' src='ico/Gemeinde.ico' width='16' height='16' alt='Stadt'>"; 
     
    181187        } 
    182188        if($cnt == 0){  
    183                 echo "\n<p class='err'>Keine Gemeinde.</p>"; 
     189                echo "\n<p class='anz'>Keine Gemeinde.</p>"; 
    184190        } elseif($cnt >= $linelimit) { 
    185                 echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     191                echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Gemeinden ... und weitere</p>"; 
     192                // +++ BlÀttern ? 
    186193        } elseif($cnt == 1) { // Eindeutig! 
    187194                return $gnr;  
     195        } else { 
     196                echo "\n<p class='anz'>".$cnt." Gemeinden</p>"; 
    188197        } 
    189198        return 0; 
     
    194203        global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter, $bez; 
    195204        $linelimit=70; 
    196         $sql ="SELECT g.gemarkungsnummer, g.bezeichnung "; 
    197         $sql.="FROM ax_gemarkung g JOIN gemeinde_gemarkung v ON g.gemarkungsnummer=v.gemarkung "; 
    198    $sql.="WHERE v.gemeinde= $1 ORDER BY g.bezeichnung LIMIT $2 ;"; 
     205        $sql ="SELECT gemarkung, gemarkungsname FROM pp_gemarkung "; 
     206   $sql.="WHERE gemeinde= $1 ORDER BY gemarkungsname LIMIT $2 ;"; 
    199207        $res=pg_prepare("", $sql); 
    200208        $res=pg_execute("", array($gkey, $linelimit)); 
     
    211219        $cnt = 0; 
    212220        while($row = pg_fetch_array($res)) { 
    213                 $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    214                 $gnr=$row["gemarkungsnummer"]; 
     221                $gnam=htmlentities($row["gemarkungsname"], ENT_QUOTES, "UTF-8"); 
     222                $gnr=$row["gemarkung"]; 
    215223                echo "\n<div class='gk' title='Gemarkung'>"; 
    216224                        echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; 
     
    221229        } 
    222230        if($cnt == 0){  
    223                 echo "\n<p class='err'>Keine Gemarkung.</p>"; 
     231                echo "\n<p class='anz'>Keine Gemarkung.</p>"; 
    224232        } elseif($cnt >= $linelimit) { 
    225                 echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     233                echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Gemarkungen ... und weitere</p>"; 
     234                // +++ BlÀttern ? 
    226235        } elseif($cnt == 1) { // Eindeutig! 
    227236                return $gnr;  
     237        } else { 
     238                echo "\n<p class='anz'>".$cnt." Gemarkungen</p>"; 
    228239        } 
    229240        return 0; 
     
    239250                $match = trim($fskennz)."%"; 
    240251        }        
    241         $sql ="SELECT v.gemeindename, g.gemarkungsnummer, g.bezeichnung "; 
    242         $sql.="FROM ax_gemarkung g JOIN gemeinde_gemarkung v ON g.gemarkungsnummer=v.gemarkung "; 
    243    $sql.="WHERE bezeichnung ILIKE $1 "; 
     252        $sql ="SELECT g.gemeinde, g.gemarkung, g.gemarkungsname "; 
     253        If ($gfilter == 0 OR $gfilter == 2) { // Stadt anzeigen 
     254                $sql.=", s.gemeindename FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde = s.gemeinde "; 
     255        } else { 
     256                $sql.="FROM pp_gemarkung g "; 
     257        } 
     258        $sql.="WHERE g.gemarkungsname ILIKE $1 "; 
    244259        switch ($gfilter) { 
    245260                case 1: // Einzelwert 
    246                         $sql.="AND v.gemeinde=".$gemeinde." "; 
     261                        $sql.="AND g.gemeinde = ".$gemeinde." "; 
    247262                        break; 
    248263                case 2: // Liste 
    249                         $sql.="AND v.gemeinde in (".$gemeinde.") "; 
     264                        $sql.="AND g.gemeinde in (".$gemeinde.") "; 
    250265                        break; 
    251266                default: // kein Filter 
    252267                        break; 
    253268        } 
    254         $sql.=" ORDER BY g.bezeichnung LIMIT $2 ;"; 
     269        $sql.=" ORDER BY g.gemarkungsname LIMIT $2 ;"; 
    255270        $v=array($match, $linelimit); 
    256271        $res=pg_prepare("", $sql); 
     
    263278        $cnt = 0; 
    264279        while($row = pg_fetch_array($res)) { 
    265                 $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    266                 $gnr=$row["gemarkungsnummer"]; 
    267                 $stadt=$row["gemeindename"]; 
     280                $gnam=htmlentities($row["gemarkungsname"], ENT_QUOTES, "UTF-8"); 
     281                $gnr=$row["gemarkung"]; 
     282 
    268283                echo "\n<div class='gk' title='Gemarkung'>"; 
    269284                        echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='Gemarkung'>"; 
     
    272287                        switch ($gfilter) { 
    273288                                case 0: // Kein Filter 
    274                                         echo " ".$stadt; 
     289                                        echo " ".$row["gemeindename"]; 
    275290                                        break; 
    276291                                case 2: // Liste 
    277                                         echo " ".$stadt; 
     292                                        echo " ".$row["gemeindename"]; 
    278293                                        break; 
    279294                                default: // Einzelwert 
     
    284299        } 
    285300        if($cnt == 0){  
    286                 echo "\n<p class='err'>Keine Gemarkung.</p>"; 
     301                echo "\n<p class='anz'>Keine Gemarkung.</p>"; 
    287302        } elseif($cnt >= $linelimit) { 
    288                 echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     303                echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Gemarkungen ... und weitere</p>"; 
    289304        } elseif($cnt == 1) { // Eindeutig! 
    290305                return $gnr;  
     306        } else { 
     307                echo "\n<p class='anz'>".$cnt." Gemarkungen</p>"; 
    291308        } 
    292309        return 0; 
     
    338355        } 
    339356        if($zfl == 0) {  
    340                 echo "\n<p class='err'>Keine Flur.</p>"; 
    341         } elseif($cnt >= $linelimit) { 
    342                 echo "\n<p>... und weitere</p>"; 
     357                echo "\n<p class='anz'>Keine Flur.</p>"; 
     358        } elseif($zfl >= $linelimit) { 
     359                echo "\n<p class='anz'>".$zfl." Fluren ... und weitere</p>"; 
     360        } elseif($zfl > 1) { 
     361                echo "\n<p class='anz'>".$zfl." Fluren</p>"; 
    343362        } 
    344363        return; 
     
    379398                        echo "\n\t</a> ";                        
    380399                        echo "\n\tFlst. <a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
    381                                         echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
     400                                        echo "javascript:"; 
     401                                        echo "transtitle(\"auf Flurst&uuml;ck positioniert\"); "; 
     402                                        echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
    382403                                        echo "parent.parent.showHighlight(".$x.",".$y.");' "; 
    383404                                echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
     
    387408        } 
    388409        if($zfs == 0) {  
    389                 echo "\n<p class='err'>Kein Flurst&uuml;ck.</p>"; 
     410                echo "\n<p class='anz'>Kein Flurst&uuml;ck.</p>"; 
    390411        } elseif($zfs >= $linelimit) { 
    391                 echo "\n<p>... und weitere</p>"; 
     412                echo "\n<p class='anz'>".$zfs." Flurst&uuml;cke... und weitere</p>"; 
     413        } elseif($zfs > 1) { 
     414                echo "\n<p class='anz'>".$zfs." Flurst&uuml;cke</p>"; 
    392415        } 
    393416        return; 
     
    444467        } 
    445468        if($zfs == 0) {  
    446                 echo "\n<p class='err'>Kein historisches Flurst&uuml;ck.</p>"; 
    447                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = ".$fskzwhere."</p>";} 
     469                echo "\n<p class='anz'>Kein historisches Flurst&uuml;ck.</p>"; 
     470                #if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = ".$fskzwhere."</p>";} 
    448471        } elseif ($zfs >= $linelimit) { 
    449                 echo "\n<p>... und weitere</p>"; 
     472                echo "\n<p class='anz'>".$zfs." historische Flurst. ... und weitere</p>"; 
     473        } elseif($zfs > 1) { 
     474                echo "\n<p class='anz'>".$zfs." historische Flurst&uuml;cke</p>"; 
    450475        } 
    451476        return; 
     
    490515                        echo "\n\t</a> ";                
    491516                        echo "\n\tFlst. <a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
    492                                         echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
     517                                        echo "javascript:"; 
     518                                        echo "transtitle(\"auf Flurst&uuml;ck positioniert\"); "; 
     519                                        echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
    493520                                        echo "parent.parent.showHighlight(".$x.",".$y.");' "; 
    494521                                echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
     
    578605                                // Kennzeichen -> Karte positionieren 
    579606                                echo "\n\tFlst. <a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='"; 
    580                                                 echo "javascript:parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
     607                                                echo "javascript:"; 
     608                                                echo "transtitle(\"auf H-Flurst&uuml;ck positioniert\"); "; 
     609                                                echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); "; 
    581610                                                echo "parent.parent.showHighlight(".$x.",".$y.");' "; 
    582611                                        echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' "; 
     
    663692                                } 
    664693                                if ($zfsn == 0) { 
    665                                         echo "<p class='err'>keine Nachfolger gefunden</p>"; 
    666                                         if ($debug > 1) {echo "<p class='dbg'>SQL=<br>".$sqln."<br>Liste=<br> ".$stri."</p>";} 
     694                                        echo "\n<p class='err'>keine Nachfolger gefunden</p>"; 
     695                                        if ($debug > 1) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>Liste=<br> ".$stri."</p>";} 
    667696                                }                
    668697                        } 
     
    672701        if($zfs == 0) { 
    673702                echo "\n<p class='err'>Kein historisches Flurst&uuml;ck.</p>"; 
    674                 if ($debug > 2) {echo "<p class='dbg'>".$sql."</p>";} 
     703                #if ($debug > 2) {echo "\n<p class='dbg'>".$sql."</p>";} 
    675704        } 
    676705        return; 
     
    684713        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    685714} else { 
    686         if ($debug >= 1) {echo "<p class='dbg'>kein EPSG gesetzt</p>";}  
     715        if ($debug >= 1) {echo "\n<p class='dbg'>kein EPSG gesetzt</p>";}        
    687716        $epsg=$gui_epsg; // aus Conf 
    688717} 
     
    697726if ($hist == "j") {$phist = true;} else {$phist = false;} 
    698727 
    699 if(isset($gm)) { // Self-Link aus Gemeinde-Liste  
    700         $gnr=ListGmkgInGemeinde($gm); // Gemarkungen zu dieser Gemeinde listen 
     728if(isset($gm)) { // Self-Link aus Gemeinde-Liste 
     729        $trans="Gemarkungen zur Gemeinde"; 
     730        $gnr=ListGmkgInGemeinde($gm); 
    701731        if ($gnr > 0) { 
    702732                $zgemkg=$gnr; 
    703733                EineGemarkung(false); 
    704734        } 
    705 } else { 
    706         // Die Formular-Eingabe interpretieren (kann auch ein Link sein) 
     735} else { // Die Formular-Eingabe interpretieren (kann auch ein Link sein) 
    707736        $retzer=ZerlegungFsKennz($fskennz); 
    708 //      if ($debug > 1) {echo "<p class='dbg'>Return Zerlegung (case) = '".$retzer."'</p>";}     
     737        #if ($debug > 1) {echo "<p class='dbg'>Return Zerlegung (case) = '".$retzer."'</p>";}    
    709738        switch ($retzer) { 
    710739        case 0: // leere Eingabe 
    711740                if ($gfilter == 1) { // Die GUI ist bereits auf eine Gemeinde gefiltert 
    712                         SuchGmkgName(); // Gemarkungen listen 
     741                        $trans="Liste der Gemarkungen"; 
     742                        SuchGmkgName(); 
    713743                } else { 
    714                         ListGemeinden(); // alle Gemeinden Listen 
     744                        $trans="Liste der Gemeinden"; 
     745                        ListGemeinden(); 
    715746                } 
    716747        break; 
    717748        case 1: 
    718                 if ($debug >= 2) {echo "<p class='dbg'>Gemarkungsname ".$zgemkg."</p>";} 
     749                #if ($debug >= 2) {echo "<p class='dbg'>Gemarkungsname ".$zgemkg."</p>";} 
     750                $trans="Suche Gemarkungsname"; 
    719751                $gnr=SuchGmkgName(); 
    720752                if ($gnr > 0) { 
     753                        $trans="1 Gemarkung, Fluren dazu"; 
    721754                        $zgemkg=$gnr; 
    722755                        EineGemarkung(false); 
     
    724757        break; 
    725758        case 2: 
    726                 if ($debug >= 2) {echo "<p class='dbg'>Gemarkungsnummer ".$zgemkg."</p>";}       
     759                #if ($debug >= 2) {echo "<p class='dbg'>Gemarkungsnummer ".$zgemkg."</p>";} 
     760                $trans="Fluren in Gemarkung"; 
    727761                EineGemarkung(true); 
    728762        break; 
    729763        case 3: 
    730                 if ($debug >= 2) {echo "<p class='dbg'>Gemarkung ".$zgemkg." Flur ".$zflur."</p>";} 
    731                 if ($phist)     {HistFlur();} else {EineFlur();} 
     764                #if ($debug >= 2) {echo "<p class='dbg'>Gemarkung ".$zgemkg." Flur ".$zflur."</p>";} 
     765                if ($phist)     { 
     766                        $trans="historische Flurst. in Flur"; 
     767                        HistFlur(); 
     768                } else { 
     769                        $trans="Flurst&uuml;cke in Flur"; 
     770                        EineFlur(); 
     771                } 
    732772        break; 
    733773        case 4: 
    734                 if ($debug >= 2) {echo "<p class='dbg'>Gemarkung ".$zgemkg." Flur ".$zflur." FlurstÃŒck ".$zzaehler."</p>";} 
    735                 if ($phist)     {HistFlurstueck();} else {EinFlurstueck();} 
     774                #if ($debug >= 2) {echo "<p class='dbg'>Gemarkung ".$zgemkg." Flur ".$zflur." FlurstÃŒck ".$zzaehler."</p>";} 
     775                if ($phist)     { 
     776                        $trans="historisches Flurst&uuml;ck"; 
     777                        HistFlurstueck(); 
     778                } else { 
     779                        $trans="Flurst&uuml;ck"; 
     780                        EinFlurstueck(); 
     781                } 
    736782        break; 
    737783        case 5: 
    738                 if ($debug >= 2) {echo "<p class='dbg'>Gemarkung ".$zgemkg." Flur ".$zflur." FlurstÃŒck ".$zzaehler."/".$znenner."</p>";} 
    739                 if ($phist) {HistFlurstueck();} else {EinFlurstueck();}          
     784                if ($phist) { 
     785                        $trans="historisches Flurst&uuml;ck"; 
     786                        HistFlurstueck(); 
     787                } else { 
     788                        $trans="Flurst&uuml;ck"; 
     789                        EinFlurstueck(); 
     790                }                
    740791        break; 
    741792        case 9: 
    742                 echo "<p class='err'>Bitte ein Flurst&uuml;ckskennzeichen eingegeben, Format 'gggg-fff-zzzz/nnn</p>"; 
     793                $trans="falsche Eingabe"; 
     794                echo "\n<p class='err'>Bitte ein Flurst&uuml;ckskennzeichen eingegeben, Format 'gggg-fff-zzzz/nnn</p>"; 
    743795        break; 
    744796        } 
    745797} 
     798// Titel im Kopf anzeigen 
     799echo "\n<script type='text/javascript'>\n\ttranstitle('".$trans."')\n</script>"; 
    746800 
    747801?> 
  • trunk/mapbender/http/nav/alkisnav_grd.php

    r276 r278  
    11<?php 
    22/* Version vom 
    3         2011-10-24 Nach Pos-Klick Highlight erneuern statt hideHighlight 
    4         2011-11-17 Nachweis-Links ÃŒber javascript im neuen Hochformat-Fenster 
    5         2011-12-14 "window.open(..,width=680" 
    6         2012-01-16 Blattnummer in 2 Varianten suchen 
    7         2012-01-17 Blattnummer ohne Buchstabe in 3 Varianten suchen 
    8         2013-04-16 "import_request_variables" entfÀllt in PHP 5.4 
     3        2011-10-24      Nach Pos-Klick Highlight erneuern statt hideHighlight 
     4        2011-11-17      Nachweis-Links ÃŒber javascript im neuen Hochformat-Fenster 
     5        2011-12-14      "window.open(..,width=680" 
     6        2012-01-16      Blattnummer in 2 Varianten suchen 
     7        2012-01-17      Blattnummer ohne Buchstabe in 3 Varianten suchen 
     8        2013-04-16      "import_request_variables" entfÀllt in PHP 5.4 
     9        2013-04-26      Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung" 
     10                                        Code aus _eig nach_fkt ausgelegert, hier mit nutzen.  
     11                                        Dazu Var-Namen harmonisieren: $gblatt wird $blattgml 
     12                                        ZurÃŒck-Link, Titel der Transaktion anzeigen. 
    913*/ 
    1014$cntget = extract($_GET); 
    11 include("../../conf/alkisnav_conf.php"); 
     15 
     16include("../../conf/alkisnav_conf.php"); // Konfigurations-Einstellungen 
     17include("alkisnav_fkt.php"); // Funktionen 
     18 
    1219$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password; 
    1320$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$dbname.$dbvers.$gkz); 
    14 ?> 
    15  
     21echo <<<END 
    1622<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    1723<html> 
     
    2834                        window.open(link,'','left=10,top=10,width=680,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes'); 
    2935                } 
     36                function transtitle(trans) { 
     37                        document.getElementById('transaktiontitle').innerHTML = trans; 
     38                } 
    3039        </script> 
    3140</head> 
    3241<body> 
    33  
    34 <?php 
     42<a title="zur&uuml;ck" href='javascript:history.back()'> 
     43        <img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" /> 
     44</a> 
     45<dfn class='title' id='transaktiontitle'></dfn> 
     46 
     47END; 
     48 
    3549function is_ne_zahl($wert) { 
    3650        // Prueft, ob ein Wert ausschließlich aus den Zahlen 0 bis 9 besteht 
     
    116130        } 
    117131        if($cnt == 0){ // falsch configuriert! 
    118                 echo "\n<p class='err'>Kein Amtsgericht aus Liste ".$$liste_ag.".</p>"; 
     132                echo "\n<p class='anz'>Kein Amtsgericht aus Liste ".$$liste_ag.".</p>"; 
    119133        } elseif ($cnt >= $linelimit) { 
    120                 echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     134                echo "\n<p title='Bitte eindeutiger qualifizieren'>".$cnt." Amtsgerichte ... und weitere</p>"; 
     135        } elseif ($cnt > 1) { 
     136                echo "\n<p class='anz'>".$cnt." Amtsgerichte</p>"; 
    121137        } 
    122138        return 0; 
     
    125141function ListGBBez($liste_ag, $mit_ag) { 
    126142        // Grundbuch-Bezirke auflisten. 
     143        // +++ auch wenn BlÀtter da sind, kann es eine Sackgasse sein. 
     144        // +++ manchmal haben die BlÀtter keine FlurstÃŒcke. 
    127145        global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz; 
    128         $linelimit=70; 
     146        $linelimit=90; 
    129147        $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    130148        $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    131149        $sql.="WHERE a.stelle IN (".$liste_ag.") AND a.stellenart = 1000 "; // Amtsgericht aus Liste 
     150        // Diese Subquery stellt sicher, dass nur Bezirke aufgelistett werden, die auch BlÀtter enthalten: 
     151        $sql.="AND NOT (SELECT gml_id FROM ax_buchungsblatt b WHERE b.land=g.land and b.bezirk=g.bezirk LIMIT 1) IS NULL "; 
    132152        $sql.="ORDER BY g.bezeichnung LIMIT $1 ;"; 
    133153        $res = pg_prepare("", $sql); 
     
    154174                $cnt++; 
    155175        } 
    156         if($cnt == 0){ // falsch configuriert 
    157                 echo "\n<p class='err'>Kein Grundbuchbezirk zu den Amtsgerichten ".$liste_ag.".</p>"; 
     176        if($cnt == 0){ 
     177                echo "\n<p class='anz'>Kein Bezirk mit Bl&auml;ttern.</p>"; 
    158178        } elseif ($cnt >= $linelimit) { 
    159                 echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     179                echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Bezirke ... und weitere</p>"; 
     180        } elseif($cnt > 1) { 
     181                echo "\n<p class='anz'>".$cnt." Bezirke</p>"; // im Limit        
    160182        } 
    161183        return 0; 
     
    194216                $ag=htmlentities($row["ag"], ENT_QUOTES, "UTF-8");               
    195217                $anr=$row["stelle"]; 
    196                 echo "\n<div class='gk' title='GB-Bezirk'>"; 
     218                echo "\n<div class='gk' title='Grundbuch-Bezirk'>"; 
    197219                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Gemkg'> "; 
    198220                        echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$gnr."'>";            
     
    203225        } 
    204226        if($cnt == 0){  
    205                 echo "\n<p class='err'>Kein Grundbuchbezirk.</p>"; 
     227                echo "\n<p class='anz'>Kein Grundbuchbezirk.</p>"; 
    206228        } elseif ($cnt >= $linelimit) { 
    207                 echo "\n<p title='Bitte eindeutiger qualifizieren'>... und weitere</p>"; 
     229                echo "\n<p title='Bitte eindeutiger qualifizieren'>".$cnt." Bezirke ... und weitere</p>"; 
    208230        } elseif ($cnt == 1) { 
    209231                return $gnr; // Wenn eindeutig, gleich weiter 
     232        } elseif ($cnt > 1) { 
     233                echo "\n<p class='anz'>".$cnt." Bezirke</p>"; // im Limit        
    210234        } 
    211235        return 0; 
     
    216240        global $con, $gkz, $gemeinde, $epsg, $debug, $zgbbez, $auskpath; 
    217241        $linelimit=250; // max. Blatt je Bezirk 
    218         // Dies linelimit ist nicht ausreichend fuer alle Blaetter eines Bezirks, aber ... 
     242        // Dies Limit ist nicht ausreichend fÃŒr alle BlÀtter eines Bezirks, aber ... 
    219243        // Wenn man die Blatt-Nr nicht kennt, kommt man hier sowieso nicht weiter. 
    220         // Es nutzt also nichts, hier Tausende Nummern aufzulisten. 
     244        // Es nutzt also nichts, hier tausende Nummern aufzulisten. 
     245        // +++ BlÀtter-Funktion einfÃŒhren analog Modul _eig 
    221246        if ($showParent) { 
    222247                $sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g "; 
    223                 $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle "; 
    224                 $sql.="WHERE g.bezirk= $1 ;"; 
     248                $sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 ;"; 
    225249                $v=array($zgbbez); 
    226250                $res=pg_prepare("", $sql); 
     
    279303                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    280304                        echo "\n\t</a> "; 
    281                         echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gblatt=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blattd."&nbsp;</a>"; 
     305                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;blattgml=".$gml."&amp;gbkennz=".$zgbbez."-".$blatt."'>&nbsp;".$blattd."&nbsp;</a>"; 
    282306                echo "\n</div>"; 
    283307                $cntbl++; 
    284308        } 
    285309        if($cntbl == 0) {  
    286                 echo "\n<p class='err'>Kein Blatt im Bezirk.</p>"; 
    287         } else { 
    288                 if($cntbl >= $linelimit) { 
    289                         echo "\n<p>... und weitere</p>"; 
    290                         echo "\n<p>Geben sie ein: '".$zgbbez."-999A'<br>wobei '999A' = gesuchtes GB-Blatt</p>"; 
    291                 } 
     310                echo "\n<p class='anz'>Kein Blatt im Bezirk.</p>"; 
     311        } elseif($cntbl >= $linelimit) { 
     312                echo "\n<p class='anz'>".$cntbl." Bl&auml;tter ... und weitere</p>"; 
     313                // +++ Hier oft ÃŒberschritten! BlÀtter-Funktion einfÃŒhren 
     314                echo "\n<p>Geben sie ein: '".$zgbbez."-999A'<br>wobei '999A' = gesuchtes GB-Blatt</p>"; 
     315        } elseif ($cntbl > 1) { 
     316                echo "\n<p class='anz'>".$cntbl." Bl&auml;tter</p>"; // im Limit         
    292317        } 
    293318        return; 
     
    320345        if($cntbl == 0) {  
    321346                echo "\n<p class='err'>Grundbuchblatt '".$zgbbez."-".$zblatt."' nicht gefunden.</p>"; 
    322         } elseif($cntbl == 1) { 
     347        } elseif ($cntbl == 1) { 
    323348                return $bl_gml; 
    324349        } 
     
    326351} 
    327352 
    328 function EinBlatt($showParent) { 
     353/* 
     354function EinBlatt_ALT($showParent) { 
    329355        // Kennzeichen Bezirk + Blatt wurde eingegeben 
    330         global $con, $gkz, $debug, $gemeinde, $epsg, $auskpath, $zgbbez, $zblatt, $zblattn, $zblattz, $gblatt, $zbvnr; 
    331  
    332         if ($showParent) {       
    333                 echo "\n<div class='gk' title='GB-Bezirk'>"; 
     356        // UrsprÃŒngliche Version bis 2013-04-24 
     357        global $con, $gkz, $debug, $gemeinde, $epsg, $auskpath, $zgbbez, $zblatt, $zblattn, $zblattz, $blattgml, $zbvnr; 
     358 
     359        if ($showParent) { 
     360        // +++ nur der Schluessel ist bekannt. Bezirks-Namen und Amtsgericht noch ermitteln ++++ 
     361                echo "\n<div class='gk' title='Grundbuch-Bezirk'>"; 
    334362                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
    335363                        echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                 
    336364                        echo $zgbbez."</a>"; 
    337                         // Key ist bekannt. Sollte man sich die Muehe machen, Namen und Amtsgericht zu ermitteln? 
    338365                echo "\n</div>"; 
    339366                echo "\n<div class='gb' title='GB-Blatt'>"; 
    340                         echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gblatt."\")'>"; 
     367                        echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$blattgml."\")'>"; 
    341368                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
    342369                        echo "\n\t</a> "; 
    343                         echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gblatt=".$gblatt."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblattn.$zblattz."&nbsp;</a>"; 
     370                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;blattgml=".$blattgml."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblattn.$zblattz."&nbsp;</a>"; 
    344371                echo "\n</div>"; 
    345372        } 
     
    351378        // +++ Buchungen ohne FLST weglassen? 
    352379        // +++ Counter FLST ausgeben, Buchungen mit 0 weglassen  
    353         $v=array($gblatt); 
     380        $v=array($blattgml); 
    354381        $res=pg_prepare("", $sql); 
    355382        $res=pg_execute("", $v); 
     
    369396        } 
    370397        if($cntbu == 0) {  
    371                 echo "\n<p class='err'>Keine Buchung gefunden.</p>"; 
     398                echo "\n<p class='anz'>Keine Buchung gefunden.</p>"; 
    372399        } elseif($cntbu == 1) { 
    373400                $zbvnr=$lfd; // mit dieser BVNR gleich weiter machen 
     
    380407                        $zblattz=strtoupper(substr($zblatt,$len-1,1));  
    381408                } 
     409        } else { 
     410                echo "\n<p class='anz'>".$cntbu."Buchungen.</p>"; 
    382411        } 
    383412        return $cntbu; 
     413} 
     414*/ 
     415 
     416function EinBlatt($showParent) { 
     417        // Kennzeichen Bezirk + Blatt wurde eingegeben 
     418        global $con, $gkz, $debug, $gemeinde, $epsg, $auskpath, $zgbbez, $zblatt, $zblattn, $zblattz, $blattgml, $zbvnr; 
     419 
     420        if ($showParent) { 
     421        // +++ nur der Schluessel ist bekannt. Bezirks-Namen und Amtsgericht noch ermitteln ++++ 
     422                echo "\n<div class='gk' title='Grundbuch-Bezirk'>"; 
     423                        echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
     424                        echo "Bezirk <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                 
     425                        echo $zgbbez."</a>"; 
     426                echo "\n</div>"; 
     427                echo "\n<div class='gb' title='GB-Blatt'>"; 
     428                        echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$blattgml."\")'>"; 
     429                                echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt'>"; 
     430                        echo "\n\t</a> "; 
     431                        echo "Blatt <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;blattgml=".$blattgml."&amp;gbkennz=".$zgbbez."-".$zblatt."'>&nbsp;".$zblattn.$zblattz."&nbsp;</a>"; 
     432                echo "\n</div>"; 
     433        } 
     434 
     435        // Blatt -> Buchungsstelle -> Flurstueck 
     436        $linelimit = 200; // Max. Anzahl FS 
     437        GB_Buchung_FS($linelimit); // Externe Function 
     438 
     439        return 0;  
     440         
    384441} 
    385442 
     
    427484        // Die gml_id der Buchungsstelle ist bekannt. 
    428485        global $con, $gkz, $debug, $gemeinde, $epsg, $scalefs, $epsg, $auskpath, $gbuchung, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr, $gfilter; 
     486        // NoLimit? 
    429487        if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben 
    430                 if (isset($zgbbez) and isset($zblatt)) { 
     488 
     489                if ($zgbbez.$zblatt != "") { 
     490                        // +++ SchlÃŒssel ist bekannt. Namen und Amtsgericht dazu ermitteln 
     491                        // +++ oder Namen als &bez= ÃŒbermitteln? 
    431492                        echo "\n<div class='gk' title='GB-Bezirk'>"; 
    432493                                echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'> "; 
    433494                                echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez."'>";                
    434495                                echo "Bezirk ".$zgbbez."</a>"; 
    435                                 // Key ist bekannt. Sollte man sich die Muehe machen, Namen und Amtsgericht zu ermitteln? 
    436                                 // ++++ Namen als &bez= ÃŒbermitteln? 
    437496                        echo "\n</div>";                         
    438497                        echo "\n<div class='gb' title='GB-Blatt'>"; 
     
    443502                        echo "<p class='err'>Kennzeichen Bezirk und Blatt nicht gesetzt</p>"; 
    444503                } 
     504 
    445505                echo "\n<div class='gs'>"; 
    446506                        echo "\n\t\t<img class='nwlink' title='Grundst&uuml;ck' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'> "; 
     
    452512        // +++ Filter "Gemeinde" berÃŒcksichtigt!! Wenn gesetzt. 
    453513 
    454         // Buchungsstelle -> Flurstueck 
    455         $sql ="SELECT t.gemeinde, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; 
     514        // SQL-Bausteine 
     515        $sql1 ="SELECT g.gemeinde, g.gemarkungsname, f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; 
    456516        if($epsg == "25832") { // Transform nicht notwendig 
    457                 $sql.="st_x(st_Centroid(f.wkb_geometry)) AS x, "; 
    458                 $sql.="st_y(st_Centroid(f.wkb_geometry)) AS y "; 
     517                $sql1.="st_x(st_Centroid(f.wkb_geometry)) AS x, "; 
     518                $sql1.="st_y(st_Centroid(f.wkb_geometry)) AS y "; 
    459519        } else {   
    460                 $sql.="st_x(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS x, "; 
    461                 $sql.="st_y(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS y ";                         
    462         } 
    463         $sql.="FROM ax_gemarkung g "; 
    464         $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    465         $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";  
    466         $sql.="LEFT JOIN gemeinde_gemarkung t ON g.gemarkungsnummer=t.gemarkung "; 
    467         $sql.="WHERE v.beziehungsart='istGebucht' AND v.beziehung_zu= $1 "; // id buchungsstelle 
    468         $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     520                $sql1.="st_x(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS x, "; 
     521                $sql1.="st_y(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS y ";                        
     522        } 
     523        $sql1.="FROM "; 
     524 
     525        $sqla1 ="JOIN alkis_beziehungen vfb ON s1.gml_id = vfb.beziehung_zu "; 
     526        $sqla2 ="JOIN alkis_beziehungen vfb ON s2.gml_id = vfb.beziehung_zu "; 
     527 
     528        // Zwischen-JOIN (zusÀtzlich nur bei zweiter Abfrage) 
     529        $sqlz ="JOIN alkis_beziehungen vss ON vss.beziehung_von = s1.gml_id "; 
     530        $sqlz.="JOIN ax_buchungsstelle s2 ON vss.beziehung_zu = s2.gml_id "; 
     531 
     532        $sql2 ="JOIN ax_flurstueck f ON ....  "; 
     533        $sql2.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 
     534        $sql2.="WHERE v.beziehungsart='istGebucht' AND v.beziehung_zu= $1 "; // id buchungsstelle 
     535        switch ($gfilter) { // Filter Gemeinde 
     536                case 1: // Einzelwert 
     537                        $sql2.="AND g.gemeinde=".$gemeinde." "; break; 
     538                case 2: // Liste 
     539                        $sql2.="AND g.gemeinde in (".$gemeinde.") "; break; 
     540        } 
     541        $sql2.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
     542 
     543        $sql=$sql1.$sqla1.$sql2; // Direkte Buchungen 
    469544        $v=array($gbuchung); 
    470545        $res=pg_prepare("", $sql); 
     
    478553                $fs_gml=$row["gml_id"]; 
    479554                $gemei=$row["gemeinde"]; 
    480                 $gmkg=$row["bezeichnung"]; 
     555                $gmkg=$row["gemarkungsname"]; 
    481556                $flur=$row["flurnummer"]; 
    482557                $fskenn=$row["zaehler"]; 
     
    484559                $x=$row["x"]; 
    485560                $y=$row["y"]; 
     561 
     562                // FILTER OBEN, IN SQL - nicht HIER 
    486563                if($gemeinde > 0 and $gemeinde != $gemei and $gfilter == 1) { // ex-territorial  
    487                 // +++ Wie Abgleich mit Filter=Gemeinde-Liste? Als Array aufbereiten? 
    488                         if ($debug >= 2) {echo "<p class='dbg'>Gemkg ".$gmkg." liegt in Gemeinde '".$gemei."' nicht '".$gemeinde."'</p>";} 
    489  
     564                        if ($debug >= 2) { 
     565                                echo "<p class='dbg'>Gemkg ".$gmkg." liegt in Gemeinde '".$gemei."' nicht '".$gemeinde."'</p>"; 
     566                        } 
    490567                        echo "\n<div class='fs' title='Kein Zugriff! Liegt au&szlig;erhalb des Gebietes.'>"; 
    491568                                echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Leer.ico' width='16' height='16' alt='FS'> (".$gmkg." ".$flur."-".$fskenn." )"; 
     
    506583                $zfs++; 
    507584        } 
    508         if($zfs == 0) {echo "\n<p class='err'>Kein Flurst&uuml;ck.</p>";} 
     585        if($zfs == 0) { 
     586                echo "\n<p class='anz'>Kein Flurst&uuml;ck.</p>"; 
     587        } elseif($zfs > 1) { 
     588                echo "\n<p class='anz'>".$zfs." Flurst&uuml;ck.</p>"; 
     589        } 
    509590        return; 
    510591} 
     
    514595// =========== 
    515596if(isset($epsg)) { 
    516         if ($debug >= 2) {echo "<p class='dbg'>aktueller EPSG='".$epsg."'</p>";} // aus MB 
     597        #if ($debug >= 2) {echo "<p class='dbg'>aktueller EPSG='".$epsg."'</p>";} // aus MB 
    517598        $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);    
    518599} else { 
    519         if ($debug >= 1) {echo "<p class='err'>kein EPSG gesetzt</p>";}  
     600        #if ($debug >= 1) {echo "<p class='err'>kein EPSG gesetzt</p>";}         
    520601        $epsg=$gui_epsg; // aus Conf 
    521602} 
    522 if ($debug >= 2) { 
    523         if(isset($gemeinde)) {echo "<p class='dbg'>Filter Gemeinde = ".$gemeinde."</p>"; 
    524         } else {echo "<p class='dbg'>Kein Filter Gemeinde</p>";} 
    525 } 
     603 
    526604if ($gemeinde == "") { 
    527605        $gfilter = 0; // ungefiltert 
     606        #if ($debug >= 2) {echo "<p class='dbg'>Kein Filter Gemeinde</p>";} 
    528607} elseif(strpos($gemeinde, ",") === false) { 
    529608        $gfilter = 1; // Einzelwert 
     609        #if ($debug >= 2) {echo "<p class='dbg'>Filter Gemeinde Einzelwert = '".$gemeinde."'</p>";} 
    530610} else { 
    531611        $gfilter = 2; // Liste 
     612        #if ($debug >= 2) {echo "<p class='dbg'>Filter Gemeinde Liste = '".$gemeinde."'</p>";} 
    532613} 
    533614 
    534615// Auch wenn redundant: Das Kennzeichen fÃŒr Anzeige und weitere Links zerlegen 
    535616$kennztyp=ZerlegungGBKennz($gbkennz); 
    536 if ($debug >= 2) {echo "<p class='dbg'>GB-Kennzeichen Typ=".$kennztyp."</p>";} 
     617#if ($debug >= 2) {echo "<p class='dbg'>GB-Kennzeichen Typ=".$kennztyp."</p>";} 
    537618 
    538619// Wurde eine gml_id (internes Kennzeichen) aus einem Self-Link verwendet? 
    539 // Dann hat das Prioritaet, nicht nach $gbkennz suchen. 
    540 if (isset($gbuchung)) { // gml der Buchungsstelle 
    541         if ($debug >= 2) {echo "<p class='dbg'>Link Buchung(gml)=".$gbuchung."</p>";} 
     620// Dann hat das Prioritaet, also *nicht* nach $gbkennz suchen. 
     621if ($gbuchung != "") { // gml der Buchungsstelle 
     622        $trans="Buchungsstelle"; 
    542623        EinGrundstueck(true); 
    543 } elseif(isset($gblatt)) { // gml des GB-Blattes 
    544         if ($debug >= 2) {echo "<p class='dbg'>Link Blatt(gml)=".$gblatt."</p>";} 
     624 
     625} elseif($blattgml != "") { // gml des GB-Blattes 
     626 
     627        // neue Version -> function GB_Buchung_FS 
     628        $trans="GB-Blatt mit Buchungen und Flst."; 
     629        EinBlatt(true); 
     630 
     631/*      alte Version (ohne die Function)) 
    545632        if (EinBlatt(true) == 1) { // darauf genau eine Buchung 
    546633                $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
     634                $trans="Grundbuch-Blatt und 1 Buchung"; 
    547635                EinGrundstueck(false); 
    548636        } 
    549 } elseif(isset($ag)) { // Key 'stelle' des Amtsgerichtes 
    550         if ($debug >= 2) {echo "<p class='dbg'>Link Amtsgericht=".$ag."</p>";} 
     637*/ 
     638 
     639} elseif(isset($ag)) { // Key des Amtsgerichtes 
     640        #if ($debug >= 2) {echo "<p class='dbg'>Link Amtsgericht=".$ag."</p>";} 
     641        $trans="GB-Bezirke zum Amtsgericht"; 
    551642        ListAG( "'".$ag."'" ); // noch mal Kopfzeile 
    552643        ListGBBez("'".$ag."'", false); 
    553 } else { // Kein Self-Link 
    554         // (manuelle) Eingabe im Formular interpretieren. 
    555         switch ($kennztyp) { // +++ Wie kann Filter "Gemeinde" berÃŒcksichtigt werden? 
    556                 case 0: // keine Eingabe, 2 Alternativen 
    557                         // +++ Alternativen-Auswahl konfigurieren? 
    558                 //      ListGBBez($ag_liste, true); // gefilterte Liste der Bezirke 
    559                         ListAG($ag_liste); // gefilterte Liste der Amtsgerichte 
     644 
     645} else { // Kein Self-Link, Eingabe im Formular 
     646 
     647        switch ($kennztyp) { 
     648                case 0: // keine Eingabe 
     649                        $trans="Liste der Amtsgerichte"; 
     650                        ListAG($ag_liste); 
    560651                        break; 
    561652                case 1: // Eingabe Bezirk-Name (-Teil) -> gefilterte Liste der Bezirke 
    562                         if ($debug >= 2) {echo "<p class='dbg'>Eingabe Bez. ".$zgbbez."</p>";} 
     653                        $trans="Grundbuchbezirke gefiltert"; 
    563654                        $beznr=SuchGBBezName(); 
    564655                        if ($beznr > 0) {  // eindeutig 
    565656                                $zgbbez=$beznr; 
     657                                $trans="Bezirk gefunden, Bl&auml;tter dazu"; 
    566658                                EinBezirk(false); // gleich weiter 
    567                         };       
     659                        }; 
    568660                        break; 
    569661                case 2: // Eingabe Bezirk-Nummer -> Liste der BlÀtter 
    570                         if ($debug >= 2) {echo "<p class='dbg'>Eingabe Bez. ".$zgbbez."</p>";}   
     662                        $trans="Bl&auml;tter im GB-Bezirk"; 
    571663                        EinBezirk(true); 
    572664                        break; 
    573665                case 3: // Eingabe Blatt -> Liste der Buchungen 
    574                         if ($debug >= 2) {echo "<p class='dbg'>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt."</p>";} 
    575                         $gblatt=gml_blatt(); // gml_id zum Blatt suchen 
    576                         if ($gblatt != "") { // gefunden                 
     666                        $trans="Buchungen auf GB-Blatt"; 
     667                        $blattgml=gml_blatt(); // gml_id zum Blatt suchen 
     668                        if ($blattgml != "") { // gefunden               
    577669                                if (EinBlatt(true) == 1) { // darauf genau eine Buchung 
     670                                        $trans="GB-Blatt und 1 Buchung"; 
    578671                                        $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    579672                                        EinGrundstueck(false); 
     
    582675                        break; 
    583676                case 4: // Eingabe Buchung (Grundstueck) -> Liste der Flurstuecke 
    584                         if ($debug >= 2) {echo "<p class='dbg'>Eingabe Bez. ".$zgbbez." Blatt ".$zblatt." BVNR ".$zbvnr."</p>";} 
     677                        $trans="Flurst. zur Buchungsstelle"; 
    585678                        $gbuchung=gml_buchungsstelle(); // gml_id zum Kennzeichen 
    586679                        if ($gbuchung != "") { // .. wurde geliefert  
     680                                $trans="Buchungsstelle und 1 Flurst."; 
    587681                                EinGrundstueck(true); 
    588682                        } 
    589683                        break; 
    590684                case 9: // Fehler 
    591                         echo "<p class='err'>Bitte ein g&uuml;ltiges Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>"; 
     685                        $trans="fehlerhafte Eingabe"; 
     686                        echo "\n<p class='err'>Bitte ein g&uuml;ltiges Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>"; 
    592687                        break; 
    593688        } 
    594689} 
     690// Titel im Kopf anzeigen 
     691echo "\n<script type='text/javascript'>\n\ttranstitle('".$trans."')\n</script>"; 
    595692 
    596693?> 
     694 
    597695</body> 
    598696</html> 
  • trunk/mapbender/http/nav/blank_eig.html

    r136 r278  
    88<body> 
    99<p class='start'>Suche nach Eigent&uuml;mern in ALKIS:<br><br> 
    10 Schritt 1: Anfang des Nachnamens eingeben<br> 
    11 oder Suche nach Nachname, Vorname<br> 
    12 oder Suche nach Namensbestandteilen mit Platzhalter "*", z.B. "*meier"<br><br> 
    13 Schritt 2: Auswahl Person<br><br> 
    14 Schritt 3: Auswahl Grundbuch-Blatt<br><br> 
    15 Schritt 4: Auswahl Flurst&uuml;ck</p> 
     10Schritt 1:<br>&nbsp;Anfang des Nachnamens eingeben<br> 
     11&nbsp;oder Nachname (Komma) Vorname<br> 
     12&nbsp;oder Teile des Namens mit Platzhalter *<br> 
     13&nbsp;&nbsp;z.B. *meier<br> 
     14&nbsp;oder Kombination davon<br> 
     15&nbsp;&nbsp;z.B. *meier, Ralf<br><br> 
     16Schritt 2:<br>&nbsp;Auswahl Person<br><br> 
     17Schritt 3:<br>&nbsp;Auswahl Grundbuch-Blatt<br><br> 
     18Schritt 4:<br>&nbsp;Auswahl Flurst&uuml;ck<br><br> 
     19Bei eindeutigen Treffern wird der n&auml;chste Schritt vom Programm sofort mit ausgef&uuml;hrt. 
     20</p> 
    1621</body> 
    1722</html> 
  • trunk/umn/alkis/fonts/fonts_alkis.fnt

    r224 r278  
    1 arial                   arial.ttf 
    2 arialkursiv             ariali.ttf 
    3 arialnarrow             arialn.ttf 
     1arial                           arial.ttf 
     2arialkursiv                     ariali.ttf 
     3arialnarrow                     arialn.ttf 
    44arialnarrowkursiv       arialni.ttf 
    5 arialbold               arialbd.ttf 
    6 arialboldkursiv         arialbi.ttf 
    7 kursivlinks             velk.ttf 
    8 alkis_symbols           alkis_symbols.ttf  
     5arialbold                       arialbd.ttf 
     6kursivlinks                     velk.ttf 
    97alkis_textsymbols       alkis_textsymbols.ttf 
    10 arial_u_1               arial_underline_1.ttf 
    11 arial_u_2               arial_underline_2.ttf 
    12 velk                    velk.ttf 
     8times                           times.ttf 
Note: See TracChangeset for help on using the changeset viewer.