3D Visualization of Map Data

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

3D Visualization of Map Data

Ron Chapman
I have been trying to get VTK to plot 3D map data, but am running into some problems.
 
Read  x,y,z file into points
Manually create polygons from this and store cells in vtkPolyData
vtkPolyDataNormals
vtkPolyDataMapper
vtkActor
 
This works fine and I can see my map in 3D
 
I then need to overlay this 3D base map with roads, rivers, cut lines, etc. which are stored in ESRI shape files.   I have been these shape files using vtkShapefileReader (this was created by Malcolm Drummond of this group).  Essentially it creates a bunch of vtkPolyLines in 2D. 
 
My problem occurrs when I try and map the 2D vtkPolyLine Data onto the 3D Surface and am not sure how to do this.
 
I've read numerous posts discussing texture mapping and originally was thinking of transforming the 2D data into an image, and then texture mapping onto my 3D surface.  I'm not sure this is the correct approach and was wondering if there is a better way of doing this?
 
Ron
 
 
 
 
 

_______________________________________________
This is the private VTK discussion list.
Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: 3D Visualization of Map Data

Malcolm Drummond
Hi Ron
 
One approach would be to run an elevation filter on your 3D map (to create scalar values) and then a transform with scale set to 1.0,1.0,0.0 which will set all your z values to 0.0. Then probe this dataset with your overlay features (which are at elevation 0.0) and run the output through vtkWarpScalars (to apply the sampled elevations to your overlay). The only problem is that sampling will only take place at points defined in your overlay dataset and the result may not look good due to non-sampled intersections with your 3D map. Adding some extra elevation to your overlay may fix this.
 
Ultimately, for a perfect fit, you need to find all intersections between your overlay features and edges of your 3D triangulation (in 2D projection) and insert these into your overlay features before the sampling process. I don't know if there is a filter to do this in vtk (I'm a bit rusty). If there isn't, this wouldn't be too hard to implement with a sweep algorithm - but the insertions would require a lot of book-keeping.
 
HTH
Malcolm Drummond
----- Original Message -----
Sent: Thursday, February 02, 2006 11:53 PM
Subject: [vtkusers] 3D Visualization of Map Data

I have been trying to get VTK to plot 3D map data, but am running into some problems.
 
Read  x,y,z file into points
Manually create polygons from this and store cells in vtkPolyData
vtkPolyDataNormals
vtkPolyDataMapper
vtkActor
 
This works fine and I can see my map in 3D
 
I then need to overlay this 3D base map with roads, rivers, cut lines, etc. which are stored in ESRI shape files.   I have been these shape files using vtkShapefileReader (this was created by Malcolm Drummond of this group).  Essentially it creates a bunch of vtkPolyLines in 2D. 
 
My problem occurrs when I try and map the 2D vtkPolyLine Data onto the 3D Surface and am not sure how to do this.
 
I've read numerous posts discussing texture mapping and originally was thinking of transforming the 2D data into an image, and then texture mapping onto my 3D surface.  I'm not sure this is the correct approach and was wondering if there is a better way of doing this?
 
Ron
 
 
 
 
 


_______________________________________________
This is the private VTK discussion list.
Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers

_______________________________________________
This is the private VTK discussion list.
Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers