[gdal-dev] Any more GDAL WMS examples?

Carl Godkin cgodkin at gmail.com
Thu Jan 31 06:41:43 PST 2013


Hi again,

I am still trying to come up to speed on WMS using GDAL 1.9.2 and am
interested in some examples beyond what are
posted at the bottom of http://www.gdal.org/frmt_wms.html .

I can run the various gdal_translate examples and some of them even work.
 (All of them need to be adjusted since the XML file name printed in the
examples actually has "frmt_wms_" prepended, by the way.)

However, I can't get anything BUT those few examples to work.  For example,
the metacarta example says this:

  gdal_translate -of PNG -outsize 500 250 metacarta_wmsc.xml
metacarta_wmsc.png

However, I would like to specify a smaller area than the entire world.  The
provided XML file specifies the whole world:

<GDAL_WMS>
    <Service name="WMS">
        <Version>1</Version>
        <ServerUrl>http://labs.metacarta.com/wms-c/Basic.py?</ServerUrl>
        <Layers>basic</Layers>
    </Service>
    <DataWindow>
        <UpperLeftX>-180.0</UpperLeftX>
        <UpperLeftY>90.0</UpperLeftY>
        <LowerRightX>180.0</LowerRightX>
        <LowerRightY>-90.0</LowerRightY>
        <TileLevel>19</TileLevel>
        <TileCountX>2</TileCountX>
        <TileCountY>1</TileCountY>
    </DataWindow>
    <Projection>EPSG:4326</Projection>
    <BlockSizeX>256</BlockSizeX>
    <BlockSizeY>256</BlockSizeY>
    <BandsCount>3</BandsCount>
</GDAL_WMS>

Merely changing the UpperLeft/LowerRight values in the DataWindow section
does not work, and I think it's because the server only serves data at
specific multiples of 180/256 = 0.703125 step sizes (or something like
that).

For example, I tried to specify the window 24 to 25 degrees E and 60 to 61
degrees N which makes a request to the server like this:

http://labs.metacarta.com/wms-c/Basic.py?service=WMS&request=GetMap&version=1&layers=basic&styles=&srs=EPSG:4326&format=image/jpeg&width=256&height=256&bbox=24,60,25,61

If I paste that URL into my browser, I get this reply:

An error occurred: can't find resolution index for 0.003906. Available
resolutions are:
[0.703125, 0.3515625, 0.17578125, 0.087890625, 0.0439453125,
0.02197265625, 0.010986328125, 0.0054931640625, 0.00274658203125,
0.001373291015625, 0.0006866455078125, 0.00034332275390625,
0.000171661376953125, 8.58306884765625e-05, 4.291534423828125e-05,
2.1457672119140625e-05, 1.0728836059570312e-05,
5.3644180297851562e-06, 2.6822090148925781e-06,
1.3411045074462891e-06]



I have a feeling that I'm making this a lot harder than it should be.
Is there some bit of conditioning code somewhere that I'm overlooking?

Can someone fashion an XML GDAL_WMS request that will retrieve a 1000
x 1000 image from the lat/lon range above?

Thank you very much for any enlightenment,

carl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20130131/ab71251d/attachment.html>


More information about the gdal-dev mailing list