Skip to main content
edited title; edited tags
Link
PolyGeo
  • 65.4k
  • 29
  • 114
  • 345

How to write Writing multipart features in INTERLIS (usingusing FME)?

Source Link
styx
  • 93
  • 2
  • 7

How to write multipart features in INTERLIS (using FME)?

Trying to export a geopackage into an .xtf I run into the following problem:

unexpected geometry type COM.safe.fmeobjects.FMEMultiCurve

The .ili looks like this (simplified for posting here)

CLASS G (ABSTRACT) =
  Identifikator          : MANDATORY 1000 .. 9999;
  Name                   : MANDATORY TEXT*250;
UNIQUE Identifikator;
END G;

CLASS G_Linie EXTENDS G =
  Geometrie              : MANDATORY POLYLINE WITH (STRAIGHTS) VERTEX GeometryCHLV95_V1.Coord2;
END G;

GeometryCHLV95_V1 is a swiss base modul which you can find here: It contains among other things:

Coord2 = COORD
  2460000.000 .. 2870000.000 [m] {CHLV95[1]},
  1045000.000 .. 1310000.000 [m] {CHLV95[2]},
  ROTATION 2 -> 1;

I assume the problems occur because the geopackage contains a multipart-Polyline and POLYLINE does not allow this.

I tried the following:

If I use an FME Deaggregator I run into problems because there is a UNIQUE identificator in the class.

I also tried the class Multiline

STRUCTURE MultiLine =
  Lines: BAG {1..*} OF LineStructure;
END MultiLine;

also part of the base model. I applied it like this:

CLASS G (ABSTRACT) =
  Identifikator          : MANDATORY 1000 .. 9999;
  Name                   : MANDATORY TEXT*250;
UNIQUE Identifikator;
END G;

CLASS G_Linie EXTENDS G =
  Geometrie              : GeometryCHLV95_V1.MultiLine;
END Gefahrenquelle_Linie;

unlike the first 2 tries, this translation runs without errors, but the resulting .xtf file does not contain any Geometrie attribute on the written instances of G.

How do I get mulitpart features in my class?