Opened 6 years ago

Closed 6 years ago

#4255 closed defect (fixed)

PostNAS - ogr2ogr does not handle array field correctly

Reported by: astrid_emde Owned by: warmerdam
Priority: normal Milestone: 1.9.0
Component: default Version: svn-trunk
Severity: normal Keywords:
Cc: marina.thust@…

Description (last modified by astrid_emde)

select distinct artderflurstuecksgrenze from AX_BesondereFlurstuecksgrenze;

Attachments (3)

NBA_RIO_20110802T000000_0von0_0_0_funktioniert.xml (6.3 KB) - added by astrid_emde 6 years ago.
NBA_RIO_20110802T000000_0von0_0_0_fehlerhaft.xml (6.3 KB) - added by astrid_emde 6 years ago.
with two values for artDerFlurstuecksgrenze
postnas_import.sh (967 bytes) - added by astrid_emde 6 years ago.
script to run the import

Download all attachments as: .zip

Change History (8)

Changed 6 years ago by astrid_emde

Changed 6 years ago by astrid_emde

with two values for artDerFlurstuecksgrenze

comment:1 Changed 6 years ago by astrid_emde

Description: modified (diff)
Summary: ogr2ogr does not handle array field correctlyPostNAS - ogr2ogr does not handle array field correctly

comment:2 Changed 6 years ago by astrid_emde

Description: modified (diff)

Changed 6 years ago by astrid_emde

Attachment: postnas_import.sh added

script to run the import

comment:3 Changed 6 years ago by astrid_emde

Cc: marina.thust@… added

comment:4 Changed 6 years ago by Even Rouault

Hum, the explanation is simple, the solution not.

In the funkioniert case, there are 2 values for <artDerFlurstuecksgrenze>, so OGR as expected (from the code point of view ;-) ) returns a IntegerList? field. In the fehlerhaft case, there is only a single value, so OGR as expected returns a Integer field.

The issue is that OGR is not aware of the NAS schema and relies on the data to establish the field names and types. So, apart from an ad-hoc patch to force "artDerFlurstuecksgrenze" to be IntegerList?, I don't see an obvious cleaner approach.

comment:5 Changed 6 years ago by Even Rouault

Resolution: fixed
Status: newclosed

Actually, I see that Frank already fixed a similar problem by an ad-hoc patch, so here you go :

r23109 /trunk/gdal/ogr/ogrsf_frmts/nas/nasreader.cpp: NAS: add special handling for artDerFlurstuecksgrenze (#4255)

Note: See TracTickets for help on using tickets.