[PostNAS Suite] ALKIS NAS xml-File CRS wechseln
Jürgen E. Fischer
jef at norbit.de
Mo Jul 22 09:17:43 PDT 2024
Moin Micha,
On Mon, 22. Jul 2024 at 17:32:34 +0200, Der Laie via NAS wrote:
> Am 22.07.24 um 17:16 schrieb Jürgen E. Fischer via NAS:
> > Im ALKIS-Import ist es nur nicht vorgesehen Daten aus anderen
> > Koordinatensystemen als denen der Datenbank zu importieren.
> Ah, verstehe, Jürgen,
>
> es scheint also zwei Möglichkeiten zu geben:
>
> 1. ALKIS-Import umbauen
> Am 21.07.24 um 18:24 schrieb Jürgen E. Fischer via NAS:
> > Ich würde das über einen Trigger (ähnlich wie bei "Duplikate ignorieren")
> > regeln, der die Geometrie der Bundesländer, die vom Koordinatensystem der
> > Datenbank abweichen darauf transformieren.
Ein SQL-Skript preprocessing.d/1_transform.sql zu ergänzen, würde ich nicht als
"umbauen" bezeichnen:
SET search_path TO :"alkis_schema",public;
CREATE OR REPLACE FUNCTION inplace_transform() RETURNS TRIGGER LANGUAGE plpgsql AS $$
BEGIN
IF substr(NEW.gml_id, 3, 2) IN ('BW','BY','HB','HE','HH','NI','NW','RP','SH','SL','ST','TH') THEN
NEW.wkb_geometry := st_transform(st_setsrid(NEW.wkb_geometry, 25832), 25833);
END IF;
RETURN NEW;
END;
$$ SET search_path TO :"alkis_schema";
SELECT format(E'DROP TRIGGER IF EXISTS %I ON %I.%I;\nCREATE TRIGGER %I BEFORE INSERT ON %I.%I FOR EACH ROW EXECUTE PROCEDURE inplace_transform();',
a.table_name || '_transform', a.table_schema, a.table_name,
a.table_name || '_transform', a.table_schema, a.table_name)
FROM information_schema.columns a
JOIN information_schema.columns b ON a.table_schema=b.table_schema AND a.table_name=b.table_name AND b.column_name='wkb_geometry'
WHERE a.table_schema=:'alkis_schema'
AND substr(a.table_name,1,3) IN ('ax_','ap_','ln_','lb_','au_','aa_')
AND a.column_name='gml_id';
\gexec
Setzt voraus, dass die Datenbank in 25833 ist und tranformiert die Daten aus
"anderen" Bundesländern dorthin. Getestet habe ich das allerdings nicht.
> oder
> 2. die xml-Dateien mit ogr2ogr in ein anderes CRS umzuwandeln
> richtig?
> Und meine Frage ist dann zu 2.: wie lautet der Konsolenbefehl, denn bei
> mir hat folgender nicht geklappt:
>
> |ogr2ogr -f "GML"output_file.xml input_file.xml -s_srs EPSG:25832 -t_srs
> EPSG:25833 ERROR 1: No schema information loaded Der Micha |
So einfach geht das wahrscheinlich nicht - OGR bricht die GML-Daten ja erstmal
auf Layer und Attribute herunter und müßte die GML-Datei daraus wieder
aufbauen. Ich würde daher nicht erwarte, dass dabei nur die Geometrien
verändert werden.
Dafür müßte man den ogr2ogr-Aufruf in ALKIS-Import modifizieren.
Jürgen
--
Jürgen E. Fischer
Dipl.-Inf. (FH) norBIT GmbH Tel. +49-4931-918175-31
Software Engineer Rheinstraße 13 Fax. +49-4931-918175-50
Geschäftsführer D-26506 Norden https://www.norbit.de
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 833 bytes
Beschreibung: nicht verfügbar
URL : <http://lists.osgeo.org/pipermail/nas/attachments/20240722/3b1e70ee/attachment.sig>
Mehr Informationen über die Mailingliste NAS