Bug report #11523
Intersecting three layers messed up attribute table if identical field names in all three layers.
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | - | ||
Category: | Attribute table | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Windows | Easy fix?: | No |
Pull Request or Patch supplied: | No | Resolution: | |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 19793 |
Description
The error happens when trying to intersect three layers, say A with B and then AB with C to get ABC. If same field names exist in all three layers the fields in the attribute table of ABC that correspond to C are messed up.
For example, I am trying to intersect the following three layers: Layer-A, Layer-B and Layer-C, of which the attribute tables have the fields displayed below. First, I am performing the intersection Layer-A + Layer-B (Vector -> Geoprocessing Tools -> Intersect) and then the Layer-A_Layer-B + Layer-C. The resulting Layer-A_Layer-B_Layer-C has some fields that came from the Layer-C messed up. I think this is caused because there is a field with the same name in all three layers (AREA). If I remove the field AREA from just Layer-C, then no problem.
Layer-A
-----------
Field 1: AREA
Field 2: HRU_CODE
Field 3: RNF_CF
Layer-B
-----------
Field 1: INI_LEVEL
Field 2: AREA
Field 3: GROUND_ID
Field 4: INI_LEV
Layer-C
-----------
Field 1: SUB_ID
Field 2: AREA
Field 3: NODE_ID
Associated revisions
ftools: field uniqueness fix (fixes #11523)
History
#1 Updated by Jürgen Fischer about 10 years ago
- Priority changed from High to Normal
#2 Updated by Jürgen Fischer about 10 years ago
- Status changed from Open to Closed
Fixed in changeset f09708004ec701ab511499c96935d8765c8ce0fb.