Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question already has an answer here:

I'm having problem with ArcScene. I'm doing a project on the visual impact of felling areas of forest in locations regularly visited/used by people.

I have viewpoints and have created a TIN model for ArcScene. However when i try to drape my other layers - forests, roads, viewpoints - some become patchy and disappear beneath the surface of the TIN in ArcScene.

I have tried converting these features to 3D, adding layer offsets and extruding features but they just seem to make the imagery worse. I have also set the drawing priority to its lowest for the TIN and all others layers' priority to their highest.

share|improve this question

marked as duplicate by Devdatta Tengshe, Jason Scheirer, Fezter, PolyGeo, whuber Aug 3 '13 at 20:21

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

The link in Devdatta's comment partially addresses how to simply drape the vectors, but despite this you can still experience the issues the OP mentions. I believe (personal hypothesis) that the mismatch is due to the difference in triangulation between your vectors and the underlying TIN. You notice this especially with large polygons where the triangulation can result in long triangles that slice through the terrain - giving that patchy appearance mentioned by the OP because only the vertices appear to be matched to the terrain.

So if a nice visualisation is essential, you must either 'cheat' or use a better package. I long since opted for the latter. But here are some cheats I used with varying success depending on the data and visualisation (warning - all the following fall into the category of art rather than science!):

  1. Very slightly extrude your polygons - this can be good for roads, especially if you set the base height a little below the terrain and extrude until it is just poking through. It helps to hide the places where the road flys over an underlying concave area. The trick is to get the extrusion right - which depends a LOT on the scale of your scene.
  2. Intersect you polygons with a fishnet. This effectively adds vertices to the inside of the polygons and therefore it should sit on top of the terrain better. The downside is a much more complicated vector layer and therefore greater data overhead and polygon count to render... but that's your trade-off quality vs rendering speed.
  3. Hover the layer a tiny amount above the terrain. Do this by adding a tiny amount to your base heights. If you are not zoomed in too close and don't have too much of an oblique camera angle, this can work. Again, the amount to 'float' your polygons by will depend on the scale of your scene and camera angle.
  4. Densify line features (the aim of this is similar to point 2).
  5. Change the resolution of your TIN. Experimentation will help here to decide which way to go. Increasing the resolution of the underlying TIN can actually sometime make matters worse and vice versa, a lot depends on prevalent undulations of your particular TIN and how they align with the orientation of your vector data.
  6. Convert your polygon data to a raster and drape that. Raster on raster drapes works better than vector on raster in ArcScene. Some polygon data and associated rendering are amenable to this. Some data types and visualisations may not be so.

Outside of ArcScene, if you have your 3D data you can use tools like Blender's excellent shrink-wrap modifier (especially together with a subdivision modifier) for instance. MeshLab has many excellent tools as well. Stepping outside of ArcScene, though requires more skills and time so it depends on whether your visualisation warrants it.

Another 'cheat' I forgot which may be best of all: Create a map image in 2D containing all your 'flat' features (roads, fields etc) and render that as a georeferenced raster. Then drape this instead of your vector data, making your TIN invisible altogether but taking your base heights from it. You are then only left with 3D elements which are always a bit more amenable to extrusion etc. to hide flaws. You need a fairly high resolution raster for this to work and it can quickly overload lesser graphics cards, but if your machine is up to it, it works very well.

share|improve this answer

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