[gdal-dev] Ignore geometry_columns table in VRT

Stephen Woodbridge woodbri at swoodbridge.com
Mon Dec 31 12:17:30 PST 2012


On 12/31/2012 3:05 PM, Even Rouault wrote:
> Le lundi 31 décembre 2012 20:44:07, Tyler Mitchell a écrit :
>> Hi all,
>> I'm building a VRT that connects to an Ingres db to grab some WKT text from
>> a text column.  I can run ogrinfo against it just fine, though it
>> complains about not finding geometry_columns table (this is a non-spatial
>> db example), it still returns all the detailed records.  But in MapServer
>> when I connect it actually fails and throws a blocking error.  I did find,
>> though, that it worked fine for my point and line layers - but failed on
>> my polygon layers.
>>
>> I'm assuming this is a function of the Ingres driver, but thought I'd ask
>> in case someone could recommend a way to override the driver an NOT
>> automatically look for a geometry_columns table, since it isn't using it
>> anyway.
>
> Just from code looking, I see that the geometry_columns table is queried from
> OGRIngresLayer::FetchSRSId(OGRFeatureDefn *poDefn), which is called by
> OGRIngresTableLayer::ReadTableDefinition(). There's no way (apart changing the
> code of course!) to disable that query. But I'm not clear why a failure of it
> would cause MapServer to misbehave if ogrinfo works.

I think Mapserver checks this to see if it needs to reproject the data. 
You might be able to get around it by adding or removing "using srid 
xxxx" clause from the sql. Basically you want to trick mapserver into 
thinking that it does not need to do a reprojection then it might not 
make the check that is failing. Mind you this is only my intuition, I 
have not looked at the code.

-Steve



More information about the gdal-dev mailing list