[PostNAS Suite] ALKIS NAS xml-File CRS wechseln
Der Laie
dezentech at web.de
Di Jul 23 00:32:44 PDT 2024
Ah, cool, das probiere ich die Tage mal aus und gebe 'ne Rückmeldung.
Dank Dir, Jürgen!
Der Micha
Am 22.07.24 um 18:17 schrieb Jürgen E. Fischer via NAS:
> 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
>
>
> _______________________________________________
> NAS mailing list
> NAS at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/nas
Mehr Informationen über die Mailingliste NAS