Hi Chris,

On 15.11.2012, at 1:15, Chris Barker wrote:

>> I just created index bounding boxes for
>> all the NOAA BSB charts using GDAL
> 
> Exacltly how did you use GDAL for this?

I use GDAL as library. So I have a code which scans all the files and requests 
bounding boxes.

>> for my Android solution, see
>> http://imgur.com/MpADB - as you can see there are quite many wrong
>> locations, Xmin-coordinate is 0.
> 
> you mean the huge pile of boxes on the prime meridian?

Yes, exactly. It is not really 0, but something close it as the x is not 
adjusted to real central meridian.

>> which is interesting also. I do not have the number, but there
>> seems to be significant number (1/4?) of the NOAA files positioned wrong.
> 
> you might look at a few and see if you can see a pattern.
> 
> GDAL asside, there is a lot of info in the *.kap text header -- I
> think the first few GRPs are the bounds of the "actual" map (i.e.
> without the "collar) for instance. You may be abel to get what youwant
> by directly parsing teh header.
> 
> Not that GDAL shouldn't report the correct values.

Right, the KAP has also metadata. My code is actually public 
(http://goo.gl/PKkmr - see function corner() ).

I have two files from same chart, which behave differently. They are both 
rotated, maybe this is important somehow:
gdalinfo 11315_1.KAP -> reports OK
gdalinfo 11315_2.KAP -> reports GCP projection, but not general one. Looking to 
bsbdataset.cpp code I do not see how this can possibly happen. Probably this is 
root for next problems. The Y coordinates will be correct, but Y is not 
adjusted to the prime meridian, as if Yorigin in the transformation matrix 
would be 0. 

        Coordinate System is `'
        Origin = (0.0,0.0)
        Pixel Size = (1.0,1.0)
        GCP Projection = PROJCS["Global Mercator",GEOGCS["WGS 
84",DATUM["WGS_1984",SPHEROID["WGS 
        ...


What is interesting that after I created VRT files for conversion:
gdalwarp -t_srs "EPSG:900913" -of VRT -dstnodata 0 11315_2.KAP 11315_2.vrt

And then query this:
gdalinfo 11315_2.vrt

Then I got correct and functional projection info. VRT files themselves for 
11315_1 and 11315_2 are quite different: first one is based on coordinate 
system and transformation, second one has also copy of all GCP-s. Both files 
are rotated, the one which works is clockwise (SK=35.7611111), the other is 
rotated counter-clockwise (SK=294.1922222 in KAP terms).

The first test file KAP is also shown fine in QGIS (and my client), and second 
KAP is in wrong location. I have not checked QGIS source, but I suspect it uses 
same approach for reading as my app: creates automatically virtual VRT, so it 
has same issues with same files. It has also transparency issue : no data is 
black instead of transparent. When I open VRT file of the problematic data in 
QGIS, then it is also shown in correct location, so gdalwarp "fixes" it somehow.

So - what gdalwarp could do better than plain gdalinfo and 
AutoCreateWarpedVRT() ?

Jaak
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to