Julianne,<br><br>You can use the Memory raster driver just like you would use any other format driver. Use the ReadRaster() function.<br>Refer to <a href="http://www.gdal.org/gdal_tutorial.html">http://www.gdal.org/gdal_tutorial.html</a><br>
<br><div class="gmail_quote">On Thu, May 5, 2011 at 7:59 PM, Juliannerc <span dir="ltr">&lt;<a href="mailto:juliannerc@gmail.com">juliannerc@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Thanks for the response.<br>
<br>
Are the code snippets below what you mean by the memory drivers?<br>
<br>
    #<br>
    # Create a memory raster to rasterize into.<br>
    #<br>
    target_dr = gdal.GetDriverByName (&#39;MEM&#39;)<br>
<br>
    target_ds = target_dr.Create (&#39;&#39;,<br>
                                  1500,<br>
                                  1500,<br>
                                  3,<br>
                                  gdal.GDT_Byte)<br>
...<br>
<br>
    #<br>
    # Create a memory layer to rasterize from.<br>
    #<br>
    rast_dr = ogr.GetDriverByName (&#39;Memory&#39;)<br>
<br>
    rast_ogr_ds = rast_dr.CreateDataSource (&#39;wrk&#39;)<br>
<br>
That part of the example code works fine.  The lines and polygons created in<br>
the ogr layer are rasterized as expected according to the transform<br>
settings:<br>
<br>
    #<br>
    # Run the algorithm.<br>
    #<br>
    err = gdal.RasterizeLayer (target_ds,<br>
                               [2, 3, 1],<br>
                               rast_mem_lyr,<br>
                               burn_values = [240, 80, 200])<br>
<br>
<br>
At this point, I believe that the raster image(s) (per layer) are in the<br>
memory because the write to the disk produces the expected image:<br>
        out_dr = gdal.GetDriverByName (&#39;pnm&#39;)<br>
<br>
        out_dr.CreateCopy (&#39;./rasterize_1.ppm&#39;,<br>
                           target_ds)<br>
<br>
My BIG question is whether or not there is a way to get at the memory<br>
portion of the raster bands.  The ideal way (in Python) would be to get a<br>
numpy array as one does in the ReadAsArray option.  However, I&#39;m not sure<br>
that there is a way, and if so, how to do it.<br>
<br>
I believe that the C interface allows one access to the data store using:<br>
<br>
OGR_Dr_CreateDataSource<br>
<br>
If all else fails, one can create the images, write them to disk (maybe<br>
memory file?) and then read them back as needed.  It seems unnecessary to<br>
have to go through the compression/write step when the object is right<br>
there.<br>
<br>
Further clarification would be very welcome.<br>
<br>
Julianne<br>
<font color="#888888"><br>
--<br>
View this message in context: <a href="http://osgeo-org.1803224.n2.nabble.com/python-memory-driver-tp6332439p6334436.html" target="_blank">http://osgeo-org.1803224.n2.nabble.com/python-memory-driver-tp6332439p6334436.html</a><br>

</font><div><div></div><div class="h5">Sent from the GDAL - Dev mailing list archive at Nabble.com.<br>
_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Best regards,<br>Chaitanya kumar CH.<br>/tʃaɪθənjə/ /kʊmɑr/ <br>+91-9494447584<br>17.2416N 80.1426E<br>