We have a graph in 3D in a PostgreSQL/PostGIS database. It contains something like 50'000 edges and 50'000 vertices, with x-y coordinates and floors.

We would like to visualize this graph with straight lines as edges in 3D and to add on top of this few more time-dependent data related to the graph.

What would be the best technology to do this? Anyone with similar experience? We would prefer this technology to be:

  • open source
  • as easy as possible
  • but still able to manage this graph and time-dependent data

Would Processing be able to manage this? Or would it be better to go for OpenGL? Is there any other technology that would be more appropriate for this? And how long would it take, if you've any experience, to visualize the graph with each technology?

I've hear that processing already reduces the frame rate with 10'000 links. Also, it seems interesting to use a bit of both. OpenGL seems nice since you can program it in any language (c, c++, objective-c, c#, java, etc.) and results could already be obtained in one week.

3 Answers 3


Take a look at ParaView, which is a generic 3D model viewer, with support for time dependency. However, getting data into the program can be difficult, as it has poor GIS file format support. You may need to write a format that the program recognizes, which can be a pain. I suggest a legacy VTK format. X3D would be ideal (since there is a ST_AsX3D PostGIS function), however ParaView does not have a reader for this format (even though it can export it!).

The underlying technology, VTK, has a vtkPostgreSQLDatabase Class, but I don't see it surfacing in ParaView.


Unity 3D could also be a solution. It seems to be more used in gaming, but some people are using it for scientific purpose as well.


We hesitated between Processing and OpenGL. Processing is: - simpler - based on Java - multi-platform (executable) - low frame rate with more than 10'000 links OpenGL is: - multi-platform (library) - more complex - in C So we did the project in C using OpenGL, using the GLUT library. GLUT is a library on top of OpenGL that allows us to do things easier, for example drawing spheres.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.