Dear developers and users,
the GUI discussion is getting more and more interesting. I didnt read every mail, but i agree with Syd.
Why not using an external library like VTK for visualisation?
Im working with VTK for almost a year and this pice of software is awesome!
VTK has almost all the functionality to display every kind of data from GRASS.
It supports any kind of vector (2D, 3D), image (2D pixel and 3D voxel), polygonal and unstructered grid data,
that can be produced by GRASS and much more (vectors and tensors). Nviz is a great pice of software, but VTK provide much more
possibilities to present the data. And you can analyse the data with VTK too!
VTK supports multiple render windows for 2D or 3D data, or mixed. It supports picking for points and cells,
it provide widgets for cutplanes, scalarbars, it has a rastercalculator, sophisticated colortables, delauny triangulation in 2D and 3D, marching cubes
algortihm for 3D Imagedata (Voxeldata in GRASS) and so on, it has more than 100 filters. You can parallelize it with MPI,
it is "demand driven" and has a great pipeline concept. It is already in use within a GIS (MapInfo).
VTK is availible for almost every Unix-system, Windows and MacOS, dont matter if hardware or software opengl!
And the BEST, it is very well documented, easy to extend , has a huge community and its open source (BSD like license)!
I have written two modules in GRASS 6.1 cvs to export 2D and 3D rasterdata into the VTK dataformat (r.out.vtk and r3.out.vtk).
To try out the capacity of VTK you can export your GRASS data and visualize it with Paraview or Mayavi.
VTK provides a interface to QT and it works very well. This means, there are possibilities to extend qgis with VTK features.
I think the best approach for a sophisticated GIS/visualisation system is to combine GRASS with VTK and QT/qgis.
And im absolutely sure nobody will regret the decision to develop the new visualisation system for grass with VTK and QT/qgis.
(my company is very happy with this coice :D) Mixing of 2D and 3D data in the same window are no Problem at all with VTK.
I will definitely support the development of the new GRASS-GUI/Visualisation concept if the developers choose VTK/QT.
I can design the visualisation pipelines, the grass-vtk interfaces, i can give support in VTK issues and so on.
In my company im developing a visualisation system for higher order FEM with VTK and QT, so i have some kind of experience.
But i have no time to be a full time developer, because i need to finish my studies too.
Best regards
Soeren Gebbert
On Wednesday 16 November 2005 19:30, Syd Visser wrote:
Grass is one of the few GIS systems that is 3D not only 3D raster but
also 3D vector yet almost all of the interfaces being discussed or
available such as Qgis, Thuban, Openve, Udig etc appear to be totally 2D
(some people like to think 2.5D is 3D). The only one that is actually 3D
is NVIZ and the last time tried to use it it was very good at 2.5D but
the 3D part was lacking.Although a display is not really a part of a true GIS it is likely the
most important part of a GIS in our line of work (geophysics). We have
to be able to display our end product graphically to the client and
almost all of our work is now in 3D since as a geophysicist we usually
try and determine what is below the ground.We are now using Paraview (paraview.org)and Mayavi
(mayavi.sourgeforge.net) for our display and again moving away from
grass. Both of these programs are based on the VTK graphics libraries.
We are also looking at TVTK from enthough
(https://www.enthought.com/enthought/wiki/TVTK) mabey a Python wrapper
for grass using packages such as these. This could also greatly extend
the scientific part of grass.So my main points are
1) Why is a 3D GIS even looking at 2D graphics (usually 3D packages can
aslo do 2D or it can easily be added)2.
There are 3D graphics libraries available like VTK, OpenDX can
they not be used. What does NVIZ use is it totally based on
OpenGL?
3.
A GUI appears to me to be jest a wrapper around good libraries so
is what GUI to use that important with the exception that it
should be myltiplatform.?To me a big mistake I often see programmers make is they write software
to work with todays or even yesterdays hardware/software. Remember you
will never get your software working till tomorrows hardware is
available.
In other words, unless there is something new out there, i do not see
how to do 3D graphics without OpenGL. I have not seen a graphics card
for years that does not a support it. Even most cheap cards with onboard
video support OpenGL now.The people at Grass are doing a great job and it has a real unique
chance to get ahead of most major GIS systems think 3D all of the way
don't stop half way. I think Nviz is doing a great job but we can do our
work in linux which I prefer but we require a viewer on the windows
platforms sorry but that is where our clients are.Most of our clients do no care how we get there they only want a pretty
picture or now 3D movie of the end product. So without good graphics and
a GUI grass will forever linger in academia well mabey that is what the
majority of people want?Syd