
--############################################################################################################
-- Lange Laufzeit !!!
TRUNCATE alkis.pp_punktnummernuebersicht;

INSERT INTO alkis.pp_punktnummernuebersicht
((((( 
	SELECT 
		ax_punktortag.ogc_fid,
		ax_besonderergebaeudepunkt.punktkennung,
		ax_punktortag.wkb_geometry,
		'Besonderer Gebäudepunkt' AS art,
		ax_punktortag.hinweise,
		ax_punktortag.genauigkeitsstufe,
		'' AS punktnummer,
		ax_besonderergebaeudepunkt.stelle::integer,
		'' AS kreis
	FROM
		alkis.ax_punktortag,
		alkis.ax_besonderergebaeudepunkt
	WHERE
		ax_besonderergebaeudepunkt.gml_id = ax_punktortag.istteilvon
UNION 
	SELECT 
		ax_punktortag.ogc_fid,
		ax_besondererbauwerkspunkt.punktkennung,
		ax_punktortag.wkb_geometry,
		'Besonderer Bauwerkspunkt' AS art,
		ax_punktortag.hinweise,
		ax_punktortag.genauigkeitsstufe,
		'' AS punktnummer,
		ax_besondererbauwerkspunkt.stelle::integer,
		'' AS kreis
	FROM
		alkis.ax_punktortag,
		alkis.ax_besondererbauwerkspunkt
	WHERE
		ax_besondererbauwerkspunkt.gml_id = ax_punktortag.istteilvon
)
UNION 
	SELECT
		ax_punktortau.ogc_fid,
		ax_aufnahmepunkt.punktkennung,
		ax_punktortau.wkb_geometry,             -- wkb_geometry geometry(PointZ,25832)
		'Aufnahmepunkt' AS art,
		ax_punktortau.hinweise,
		ax_punktortau.genauigkeitsstufe,
		'' AS punktnummer,
		ax_aufnahmepunkt.stelle::integer,
		'' AS kreis
	FROM 
		alkis.ax_punktortau,
		alkis.ax_aufnahmepunkt
	WHERE 
		ax_aufnahmepunkt.gml_id = ax_punktortau.istteilvon
)
UNION 
	SELECT 
		ax_punktortau.ogc_fid,
		ax_sicherungspunkt.punktkennung, 
		ax_punktortau.wkb_geometry, 
		'Sicherungspunkt' AS art, 
		ax_punktortau.hinweise,
		ax_punktortau.genauigkeitsstufe,
		'' AS punktnummer,
		ax_sicherungspunkt.stelle::integer,
		'' AS kreis
	FROM
		alkis.ax_punktortau,
		alkis.ax_sicherungspunkt
	WHERE 
		ax_sicherungspunkt.gml_id = ax_punktortau.istteilvon
)
UNION 
	SELECT 
		ax_punktortau.ogc_fid,
		ax_sonstigervermessungspunkt.punktkennung,
		ax_punktortau.wkb_geometry,                -- wkb_geometry geometry(PointZ,25832)
		'Sonstiger Vermessungspunkt' AS art, 
		ax_punktortau.hinweise, 
		ax_punktortau.genauigkeitsstufe, 
		'' AS punktnummer,
		ax_sonstigervermessungspunkt.stelle::integer,
		'' AS kreis
	FROM 
		alkis.ax_punktortau,
		alkis.ax_sonstigervermessungspunkt
	WHERE 
		ax_sonstigervermessungspunkt.gml_id = ax_punktortau.istteilvon
)
UNION 
	SELECT 
		ax_punktortau.ogc_fid,
		ax_besonderertopographischerpunkt.punktkennung,
		ax_punktortau.wkb_geometry,                       -- wkb_geometry geometry(PointZ,25832)
		'Besonderer Topographischer Punkt' AS art,
		ax_punktortau.hinweise,
		ax_punktortau.genauigkeitsstufe,
		'' AS punktnummer,
		ax_besonderertopographischerpunkt.stelle::integer,
		'' AS kreis
	FROM
		alkis.ax_punktortau,
		alkis.ax_besonderertopographischerpunkt
	WHERE 
		ax_besonderertopographischerpunkt.gml_id = ax_punktortau.istteilvon
)
UNION 
	SELECT 
		ax_punktortta.ogc_fid, 
		ax_grenzpunkt.punktkennung,
		ax_punktortta.wkb_geometry, 
		'Grenzpunkt' AS art,
		ax_punktortta.hinweise,
		ax_punktortta.genauigkeitsstufe,
		'' AS punktnummer,
		ax_grenzpunkt.stelle::integer,
		'' AS kreis
	FROM
		alkis.ax_punktortta,
		alkis.ax_grenzpunkt
	WHERE
		ax_grenzpunkt.gml_id = ax_punktortta.istteilvon;

UPDATE alkis.pp_punktnummernuebersicht SET punktnummer = substring(punktkennung FROM 10 FOR 15) WHERE punktkennung IS NOT NULL;

UPDATE alkis.pp_punktnummernuebersicht SET kreis = 'Oberbergischer Kreis (GM)' WHERE stelle = 4440;
UPDATE alkis.pp_punktnummernuebersicht SET kreis = 'Rhein.-Berg.-Kreis (GL)' WHERE stelle = 4450;
UPDATE alkis.pp_punktnummernuebersicht SET kreis = 'Rhein-Sieg-Kreis (SU)' WHERE stelle = 4460;
UPDATE alkis.pp_punktnummernuebersicht SET kreis = 'Remscheid (RS)' WHERE stelle = 3270;
UPDATE alkis.pp_punktnummernuebersicht SET kreis = 'Wuppertal (W)' WHERE stelle = 3290;
UPDATE alkis.pp_punktnummernuebersicht SET kreis = 'Olpe (OE)' WHERE stelle = 1090;
UPDATE alkis.pp_punktnummernuebersicht SET kreis = 'Märkischer Kreis (MK)' WHERE stelle = 1080;
UPDATE alkis.pp_punktnummernuebersicht SET kreis = 'Ennepe-Ruhr-Kreis (EN)' WHERE stelle = 1060;
UPDATE alkis.pp_punktnummernuebersicht SET kreis = 'Altenkirchen (AK)' WHERE stelle = 101; 

DELETE FROM ONLY alkis.pp_punktnummernuebersicht WHERE hinweise NOT LIKE 'NW_LST::489'; 

--############################################################################################################
