This is great! Did you consider writing a little plug-on for one of the VTK viewers, like ParaView or VisIt, to allow direct access to GRASS data from there?
Cheers, Ben Soeren Gebbert wrote: > Hi, > JFYI i have implemented a small demo library which connects parts of the > grass gis library > with the Visual-Tool-Kit VTK. > It is called vtkGRASSBridge. > > Additionally the VTK Python and Java wrapping mechanism have been > enabled. So the user can use the > library from C++, Python and Java. > > Features: > * The library can read and write raster maps row by row, as well as > regions and the raster history. > * It can list files of the grass database. > * It can convert grass raster maps into the vtkImageData format and the > other way round. > Missing Features: > * Full raster support (categories, colors, ..) > * Imagery support (groups, ...) > * Full vector support .... > * .... > > You can use every vtkDataSet processing algorithm available in VTK (more > than 50 i think) > to process the converted raster map and write it back to the grass > raster database. > > You can use the VTK render functionality to display the raster map. > > There are examples and tests in the library showing this functionality > in Python. > > The documentation of the library can be found here: > http://www-pool.math.tu-berlin.de/~soeren/grass/files/vtkGRASSBridge/doc/html/index.html > > The GPL source code is located here: > > http://www-pool.math.tu-berlin.de/~soeren/grass/files/vtkGRASSBridge/vtkGRASSBridge_0.1.tar.gz > > Here is a small Python code example to read and write grass raster maps > in Python (within a grass session): > > ############################################## > #include the VTK and vtkGRASSBridge Python libraries > from libvtkCommonPython import * > from libvtkFilteringPython import * > from libvtkGraphicsPython import * > from libvtkRenderingPython import * > from libvtkIOPython import * > from libvtkImagingPython import * > from libvtkGRASSBridgeIOPython import * > from libvtkGRASSBridgeCommonPython import * > > #Initiate grass > init = vtkGRASSInit() > > #The region settings > region = vtkGRASSRegion() > region.ReadCurrentRegion() > region.SetCols(10) > region.SetRows(10) > region.AdjustRegion() > > #Create a new map and write some data into it > writer = vtkGRASSRasterMapWriter() > writer.SetMapTypeToCELL() > writer.SetRegion(region) > writer.UseUserDefinedRegion() > writer.OpenMap("test_cell") > > #this is the row buffer > data = vtkIntArray() > data.SetNumberOfTuples(writer.GetNumberOfCols()) > > #iterate over each raster cell > for i in range(writer.GetNumberOfRows()): > for j in range(writer.GetNumberOfCols()): > data.SetTuple1(j, i + j + 100) > writer.PutNextRow(data) > > #close the map > writer.CloseMap() > > #now reopen the map for reading > reader = vtkGRASSRasterMapReader() > reader.OpenMap("test_cell") > > #print the cells to stdout > print " " > for i in range(reader.GetNumberOfRows()): > data = reader.GetRow(i) > for j in range(reader.GetNumberOfCols()): > print data.GetTuple1(j), > print " " > > #print the range of the raster map > val = [0,0] > reader.GetRange(val); > print "Range ", val > > #print the history > print reader.GetHistory() > reader.CloseMap() > > ############################################# > > > Have fun > Soeren > > > ------------------------------------------------------------------------ > > _______________________________________________ > grass-dev mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/grass-dev -- Benjamin Ducke Senior Applications Support and Development Officer Oxford Archaeological Unit Limited Janus House Osney Mead OX2 0ES Oxford, U.K. Tel: +44 (0)1865 263 800 (switchboard) Tel: +44 (0)1865 980 758 (direct) Fax :+44 (0)1865 793 496 [email protected] ------ Files attached to this email may be in ISO 26300 format (OASIS Open Document Format). If you have difficulty opening them, please visit http://iso26300.info for more information. _______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
