[gdal-dev] RFC 29: OGR Set Desired Fields

Peter J Halls P.Halls at york.ac.uk
Wed Jul 21 10:31:07 EDT 2010


Jez, Martin,

    I am now convinced that the solution is to store these data in separate 
tables, recording the FID of the parent record in each child record for, eg, 
TopographicArea, along with the TopographicArea data.  Ideally, I think the 
parent record could have a TopographicArea_Counnt column, thus recording that 
there are 2 entries in TopograhicArea for record a, 5 for record b, 1 for record 
c, and so on.  To achieve the latter will require changes to the OGR GML driver 
- for the present I am using my own GML parser instead.

Such an approach overcomes the problem of output formats with limits as to row 
width, column counts, etc, and column naming and leaves the user free to 
recombine these data in whatever manner s/he desires.  It also maintains the 
topological neutrality of GDAL/OGR, which has been an issue for some.

This is predicated on being able to create separate, non-spatial tables (driver 
issue).  To this end I submitted an enhancement to the OCI driver to support the 
creation of tables with a feature geometry type of wkbNone, in which no Geometry 
column is inserted.  Some other drivers are already able to do this, explicitly 
with wkbNone or implictly, as with the dbf driver.  I shall shortly be using 
this approach (coding delayed by meetings!) for a project working with large 
amounts of Mastermap ITN data, in which the problem is significant.

Best wishes,

Peter

Martin Dobias wrote:
> On Wed, Jul 21, 2010 at 3:31 PM, Jez Walters <Jez.Walters at ipl.com> wrote:
>> Martin,
>>
>>
>> I may be misunderstanding how the API works (I'm not actually using it myself), but if someone wants to parse a given layer of the OS MasterMap vector data that is divided into chunks they can't use fixed field numbers, because the field order varies between chunks.
>>
>> For example, suppose I want to only extract the 'physicalPresence' field from the 'TopographicArea' layer. Using your current proposed API I would have to sometimes specify to extract field 10 and sometimes to extract field 11, depending on which chunk I'm reading.
> 
> Well, then this should be probably handled better in the underlying
> GML driver...
> 
>> This CAN be accommodated of course (although it's rather fiddly), but the problem disappears if field names are used, as field names don't change between chunks.
> 
> I think it's rather easy to find out what field index is bound with
> each field name. Passing field indexes makes more sense to me as OGR
> internally works with field indexes, not field names.
> 
> Anyway, if you only use command line tools and do not develop
> applications/libraries with OGR API, the proposed RFC doesn't affect
> you at all.
> 
> Regards
> Martin
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev

-- 
--------------------------------------------------------------------------------
Peter J Halls, GIS Advisor, University of York
Telephone: 01904 433806     Fax: 01904 433740
Snail mail: Computing Service, University of York, Heslington, York YO10 5DD
This message has the status of a private and personal communication
--------------------------------------------------------------------------------


More information about the gdal-dev mailing list