# DMAV --\> DM.01 Rücktransformationsfehler in der Bodenbedeckungsgeometrie

**URL:** <https://interlis.discourse.group/t/dmav-dm-01-ruecktransformationsfehler-in-der-bodenbedeckungsgeometrie/483>\
**Category:** INTERLIS Werkzeuge\
**Tags:** ilivalidator\
**Created:** [24. Juni 2026 um 12:19 UTC](https://interlis.discourse.group/t/dmav-dm-01-ruecktransformationsfehler-in-der-bodenbedeckungsgeometrie/483 "2026-06-24T12:19:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![kglaus](https://avatars.discourse-cdn.com/v4/letter/k/8c91f0/32.png) [@kglaus](https://interlis.discourse.group/u/kglaus)\
**Post date:** [24. Juni 2026 um 12:19 UTC](https://interlis.discourse.group/t/dmav-dm-01-ruecktransformationsfehler-in-der-bodenbedeckungsgeometrie/483/1 "2026-06-24T12:19:39Z")

</div>

Hallo Zusammen

Ich arbeite momentan daran die Daten aus einem DMAV AV Dataset in ein DM.01 Dataset zu transformieren. Dazu mache ich folgenden Workflow:

DMAV.xtf → ili2db Import → PostGIS (DMAV Schema) → SQL Transformation → PostGIS (DM.01 Schema) → ili2db Export → DM01.itf

Soweit klappt das ganz gut. Jedoch erhalte ich bei der Transformation der Bodenbedeckungsflächen merkwürdige Overlap Fehler.

Konkret geht es um folgende Klassen:

DM.01:

```auto
    TABLE BoFlaeche =
      Entstehung: -> BBNachfuehrung
        // Gueltigkeit = gueltig //; !! Beziehung 1-mc
      Geometrie: AREA WITH (STRAIGHTS, ARCS) VERTEX LKoord
        WITHOUT OVERLAPS > 0.050;
      Qualitaet: Qualitaetsstandard;
      Art: BBArt;
    NO IDENT
    END BoFlaeche;

```

DMAV

```auto
    CLASS Bodenbedeckung =
      Geometrie: MANDATORY SURFACE WITH (STRAIGHTS, ARCS) VERTEX GeometryCHLV95_V2.Coord2
        WITHOUT OVERLAPS > 0.002;
      Qualitaetsstandard: MANDATORY DMAVTYM_Qualitaet_V1_0.Qualitaetsstandard;
      Bodenbedeckungsart: Bodenbedeckungsart;
      Fiktiv : MANDATORY BOOLEAN;
      Objektstatus: MANDATORY DMAVTYM_Modinfo_V1_0.Objektstatus;
      Objektnummer: BAG {0..*} OF Objektnummer; 
      Objektname: BAG {0..*} OF Objektname;
      EGID: 1 .. 900000000;
      Symbolposition: BAG {0..*} OF DMAVTYM_Grafik_V1_0.Symbolposition;
      MANDATORY CONSTRAINT CH080401: (Bodenbedeckungsart!=#befestigt.Wasserbecken

      				AND Bodenbedeckungsart!=#Gewaesser.stehendes_Gewaesser
      			) OR INTERLIS.elementCount(Symbolposition)>0;
      MANDATORY CONSTRAINT CH080402: Fiktiv!=DEFINED(Bodenbedeckungsart);
    END Bodenbedeckung;
    
    ASSOCIATION Entstehung_Bodenbedeckung =
      Entstehung -- {1} BBNachfuehrung;
      entstehende_BoFlaeche -- {0..*} Bodenbedeckung;
    END Entstehung_Bodenbedeckung;

    VIEW Bodenbedeckung_Gueltig
     	PROJECTION OF Bodenbedeckung;
    	WHERE DEFINED(Bodenbedeckung->Entstehung);
    	=
    	ALL OF Bodenbedeckung;
    SET CONSTRAINT CH080801: WHERE Objektstatus==#real: INTERLIS.areAreas(ALL, UNDEFINED, >> Geometrie);
    END Bodenbedeckung_Gueltig;

```

Grundsätzlich kann ich die Geometrien 1:1 übernehmen wenn der Objektstatus ‚real‘ und die Bodenbedeckung nicht ‚fiktiv‘ ist.

Wenn ich die Daten aus dem DM.01 exportieren will erhalte ich folgende Fehler (mit `--trace` )

```auto
2026-06-24 12:07:29.963 | Info: build linetable DM01AVCH24LV95D.Bodenbedeckung.ProjBoFlaeche_Geometrie...
2026-06-24 12:07:29.963 | Info: build linetable DM01AVCH24LV95D.Bodenbedeckung.BoFlaeche_Geometrie...
2026-06-24 12:07:29.963 | Error: intersection tid1 336893, tid2 335647, coord (2754997.7268392625, 1260354.8976185862, NaN), coord2 (2754997.727, 1260354.897, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 3.894404398963047E-8, seg1 CIRCULARSTRING (2754998.564 1260356.465, 2754997.839 1260355.844, 2754997.727 1260354.897), seg2 (2754997.727 1260354.897, 2754996.744 1260358.68) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: intersection tid1 336893, tid2 335685, coord (2754997.7268392625, 1260354.8976185862, NaN), coord2 (2754997.727, 1260354.897, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 3.894404398963047E-8, seg1 CIRCULARSTRING (2754998.564 1260356.465, 2754997.839 1260355.844, 2754997.727 1260354.897), seg2 (2754996.744 1260358.68, 2754997.727 1260354.897) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: intersection tid1 333736, tid2 336493, coord (2754777.422, 1260634.983, NaN), coord2 (2754777.4221918387, 1260634.9836703436, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 2.6197327418486793E-8, seg1 (2754777.422 1260634.983, 2754778.476 1260638.666), seg2 CIRCULARSTRING (2754777.422 1260634.983, 2754777.506 1260635.783, 2754777.312 1260636.563) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: intersection tid1 333736, tid2 336412, coord (2754777.422, 1260634.983, NaN), coord2 (2754777.4221918387, 1260634.9836703436, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 2.6197327418486793E-8, seg1 CIRCULARSTRING (2754777.312 1260636.563, 2754777.506 1260635.783, 2754777.422 1260634.983), seg2 (2754778.476 1260638.666, 2754777.422 1260634.983) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: intersection tid1 333736, tid2 333736, coord (2754777.422, 1260634.983, NaN), coord2 (2754777.4221918387, 1260634.9836703436, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 2.6197327418486793E-8, seg1 CIRCULARSTRING (2754777.312 1260636.563, 2754777.506 1260635.783, 2754777.422 1260634.983), seg2 (2754777.422 1260634.983, 2754778.476 1260638.666) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: intersection tid1 336027, tid2 336027, coord (2754099.29, 1260640.602, NaN), coord2 (2754099.294155068, 1260640.6019543677, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 4.268801845341841E-7, seg1 (2754104.207 1260640.548, 2754099.29 1260640.602), seg2 CIRCULARSTRING (2754099.29 1260640.602, 2754100.045 1260640.65, 2754100.784 1260640.81) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: intersection tid1 336027, tid2 336408, coord (2754099.29, 1260640.602, NaN), coord2 (2754099.294155068, 1260640.6019543677, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 4.268801845341841E-7, seg1 (2754104.207 1260640.548, 2754099.29 1260640.602), seg2 CIRCULARSTRING (2754100.784 1260640.81, 2754100.045 1260640.65, 2754099.29 1260640.602) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: intersection tid1 335685, tid2 335647, coord (2754997.7268392625, 1260354.8976185862, NaN), coord2 (2754997.727, 1260354.897, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 3.894404398963047E-8, seg1 CIRCULARSTRING (2754997.727 1260354.897, 2754997.839 1260355.844, 2754998.564 1260356.465), seg2 (2754997.727 1260354.897, 2754996.744 1260358.68) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: intersection tid1 335685, tid2 335685, coord (2754997.7268392625, 1260354.8976185862, NaN), coord2 (2754997.727, 1260354.897, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 3.894404398963047E-8, seg1 (2754996.744 1260358.68, 2754997.727 1260354.897), seg2 CIRCULARSTRING (2754997.727 1260354.897, 2754997.839 1260355.844, 2754998.564 1260356.465) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: intersection tid1 336408, tid2 336408, coord (2754099.29, 1260640.602, NaN), coord2 (2754099.294155068, 1260640.6019543677, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 4.268801845341841E-7, seg1 CIRCULARSTRING (2754100.784 1260640.81, 2754100.045 1260640.65, 2754099.29 1260640.602), seg2 (2754099.29 1260640.602, 2754104.207 1260640.548) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: intersection tid1 336412, tid2 336493, coord (2754777.422, 1260634.983, NaN), coord2 (2754777.4221918387, 1260634.9836703436, NaN)
2026-06-24 12:07:29.963 | Info: getLines(): overlap 2.6197327418486793E-8, seg1 (2754778.476 1260638.666, 2754777.422 1260634.983), seg2 CIRCULARSTRING (2754777.422 1260634.983, 2754777.506 1260635.783, 2754777.312 1260636.563) (ItfAreaPolygon2Linetable.java:198)
2026-06-24 12:07:29.963 | Error: failed to write xml output
2026-06-24 12:07:29.963 | Error: intersections
2026-06-24 12:07:29.963 | Error: ch.interlis.iom_j.itf.impl.ItfAreaPolygon2Linetable.getLines(ItfAreaPolygon2Linetable.java:200)
2026-06-24 12:07:29.963 | Error: ch.interlis.iom_j.itf.ItfWriter2.write(ItfWriter2.java:255)
2026-06-24 12:07:29.963 | Error: ch.ehi.ili2db.toxtf.TransferToXtf.doit(TransferToXtf.java:320)
2026-06-24 12:07:29.963 | Error: ch.ehi.ili2db.base.Ili2db.transferToXtf(Ili2db.java:3053)
2026-06-24 12:07:29.963 | Error: ch.ehi.ili2db.base.Ili2db.runExport(Ili2db.java:2389)
2026-06-24 12:07:29.963 | Error: ch.ehi.ili2db.base.Ili2db.run(Ili2db.java:255)
2026-06-24 12:07:29.963 | Error: ch.ehi.ili2db.AbstractMain.domain(AbstractMain.java:648)
2026-06-24 12:07:29.963 | Error: ch.ehi.ili2pg.PgMain.main(PgMain.java:72)
2026-06-24 12:07:29.963 | Info: close(): CompoundCurveNoder KEY: size 955902, filesize 9389750 </tmp/ioxtmp4799303347309357142> (BTree.java:396)
2026-06-24 12:07:29.963 | Info: close(): CompoundCurveNoder KEY: keySize 0, 22974 (BTree.java:397)
2026-06-24 12:07:29.963 | Info: close(): CompoundCurveNoder KEY: valueSize 0, 8 (BTree.java:398)
2026-06-24 12:07:29.963 | Info: close(): CompoundCurveNoder VAL: size 168593428 </tmp/ioxtmp2416765900099362997> (BTreeImpl.java:77)
2026-06-24 12:07:29.963 | Info: close(): CompoundCurveNoder VAL: valueSize 0, 1600 (BTreeImpl.java:78)
2026-06-24 12:07:29.963 | Info: close(): ItfAreaPolygon2Linetable: size 4546279 </tmp/ioxtmp2323056825699335989> (ObjPoolImpl2.java:69)
2026-06-24 12:07:29.963 | Info: close(): CompoundCurveNoder: size 0 </tmp/ioxtmp4098339971272448350> (ObjPoolImpl2.java:69)
2026-06-24 12:07:29.963 | ...export failed
2026-06-24 12:07:29.963 | ch.ehi.ili2db.base.Ili2db.runExport(Ili2db.java:2391)
2026-06-24 12:07:29.963 | ch.ehi.ili2db.base.Ili2db.run(Ili2db.java:255)
2026-06-24 12:07:29.963 | ch.ehi.ili2db.AbstractMain.domain(AbstractMain.java:648)
2026-06-24 12:07:29.963 | ch.ehi.ili2pg.PgMain.main(PgMain.java:72)
2026-06-24 12:07:29.963 | 2026-06-24 12:07:29 +0200 Transformed INTERLIS export failed

```

Hat jemand Erfahrung damit? Ich gehe davon aus, dass es sich um ein Interlis Tool Problem handelt bzw. etwas mit dem Auflösen der Kreisbögen zu tun hat.

---

<div class="post-metadata">

**Author:** ![Pascal](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/pascal/32/258_2.png) [@Pascal](https://interlis.discourse.group/u/Pascal)\
**Post date:** [30. Juni 2026 um 21:39 UTC](https://interlis.discourse.group/t/dmav-dm-01-ruecktransformationsfehler-in-der-bodenbedeckungsgeometrie/483/2 "2026-06-30T21:39:25Z")

</div>

Hoi Kilian

Bin gerade noch mit anderen Arbeiten beschäftigt. Ich kenne das Problem und melde mich gegen Ende Juli, wenn ich die DMAV Testings wieder aufnehme.

LG Pascal

---

<div class="post-metadata">

**Author:** ![kglaus](https://avatars.discourse-cdn.com/v4/letter/k/8c91f0/32.png) [@kglaus](https://interlis.discourse.group/u/kglaus)\
**Post date:** [3. August 2026 um 05:41 UTC](https://interlis.discourse.group/t/dmav-dm-01-ruecktransformationsfehler-in-der-bodenbedeckungsgeometrie/483/3 "2026-08-03T05:41:26Z")

</div>

Hoi Pascal

Konntet du das Testing schon wieder aufnehmen?
