#354: v.out.ogr: bad DB read for format=GPX
---------------------+------------------------------------------------------
  Reporter:  hamish  |       Owner:  [email protected]
      Type:  defect  |      Status:  new                      
  Priority:  major   |   Milestone:  6.4.0                    
 Component:  Vector  |     Version:  svn-develbranch6         
Resolution:          |    Keywords:  v.out.ogr GPX            
  Platform:  Linux   |         Cpu:  x86-32                   
---------------------+------------------------------------------------------
Comment (by hamish):

 ----
 rouault wrote:

 Hamish,

 I'm pretty sure that it's a GRASS issue and not a OGR one.

 Disclaimer, I've not read GRASS source code, but the only way to explain
 what happens is that GRASS proceeds that way :

    * first, it uses poLayer->CreateField(poField) where poField in your
 example is something like ("cat", String), then ("OBJECTID", String),
 etc... But for the GPX driver, when you add the first use field, namely
 "cat", it's not put at index 0 of the field definition array, but at field
 10 or so, after all the compulsory GPX fields for the <wpt> tag

    * then, GRASS uses poFeature->SetField(0,
 "the_value_of_the_cat_record_on_that_feature"), which is wrong because
 index 0 is in fact the <ele> field. Instead of using index 0, it should
 use poFeature->GetFieldIndex("cat") to retrieve the good index of the cat
 field when it is set in the GPX layer object.

 I hope I'm clear and that will make sense for the GRASS developers.

 ----

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/354#comment:6>
GRASS GIS <http://grass.osgeo.org>
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to