Wow, yes, a lot on your plate there!
I did not realize that vtkGeo was still alive. Good to know.
Good luck with all this!
Ben
Soeren Gebbert wrote:
Hi Benjamin,
2009/8/28 Benjamin Ducke <benjamin.ducke@oxfordarch.co.uk
<mailto:benjamin.ducke@oxfordarch.co.uk>>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?No.I do not consider to implement plug-ins for ParaView or Visit for now.
This may change in the far future.
First i need to validate the library concept and then i will implement
full raster,
vector, volume and grass sql database support .. and this will take a
while.Then i need to understand the vtkGeo and projection concept in VTK 5.4+ .
So the plugin development does not have a high priority on my todo list.
Cheers
SoerenCheers,
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
<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
<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
> grass-dev@lists.osgeo.org <mailto:grass-dev@lists.osgeo.org>
> http://lists.osgeo.org/mailman/listinfo/grass-dev--
Benjamin Ducke
Senior Applications Support and Development OfficerOxford 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
benjamin.ducke@oxfordarch.co.uk <mailto:benjamin.ducke@oxfordarch.co.uk>------
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.
--
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
benjamin.ducke@oxfordarch.co.uk
------
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.