Ticket #2595 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

ogr interlis fails with more than one relation attribute

Reported by: cmoe Owned by: pka
Priority: normal Milestone:
Component: OGR_SF Version: unspecified
Severity: critical Keywords: interlis
Cc: cedric.moeri@…, warmerdam

Description

If an interlis defintion of a table with the geometry type of area has more then one relation (foreign key) to other tables, the driver fails.It seems that the order of the attributs become wrong. This leads to wrong coordinates for the cenrtoid and so the polygonizing process fails.

The attachments contains a table gemeindegrenzen with one polygon. This polygon is not computed for the output formats ESRI Shape and postgis.

Attachments

ogr_interlis_failure.tar.gz Download (13.0 KB) - added by cmoe 5 years ago.
ili and itf as sample data

Change History

Changed 5 years ago by cmoe

ili and itf as sample data

Changed 5 years ago by cmoe

  • owner changed from warmerdam to pka
  • priority changed from normal to highest

Changed 5 years ago by warmerdam

  • cc warmerdam added
  • priority changed from highest to normal

Normally it is up to the developers to set the priority, and the reporter to set the severity.

Leaving this in Pirmin's hands.

Changed 5 years ago by pka

The debugging output shows that the order of the detected columns is wrong:

OGR_ILI: Reading table model 'Gemeindegrenzen__Gemeindegrenze'
OGR_ILI: Field Entstehung: Reference
OGR_ILI: Field Geometrie: iom04.metamodel.AreaType
OGR_ILI: Field Geometrie_0: OFTReal
OGR_ILI: Field Geometrie_1: OFTReal
OGR_ILI: Field Gemeindegrenze_von: Reference

This is the order I get from IOM reading the Ili model. The field index is read with

GetAttrObjPos(fieldele, "attributesAndRoles")

Maybe Claude Eisenhut can help?

Changed 5 years ago by pka

  • status changed from new to closed
  • resolution set to fixed

Fixed in r15546. Reference fields have now higher precedence than the other fields.

Note: See TracTickets for help on using tickets.