Select to view content in your preferred language

Working with a part of a huge terrain dataset

2294
5
Jump to solution
02-14-2014 05:40 AM
HåvardMoe
Deactivated User
Hi all,

I have a little problem when working with a rather large terrain dataset. The terrain dataset is based on LIDAR data and consist of around 860 mill. points. This is working fine when I'm working on the full area, ut not so easy when I want to do Stuff(tm) to smaller parts.

I am now trying to generate detailed (0,5 m) contour lines for a small part of the total area. Using the options the terrain format gives I can display contours on the fly through Layer properties -> Symbology, but I can't find a way to export these. Using the Surface Contour tool I can generate the contours, but that takes the entire terrain area.

Is there a way to generate contours for just a small selected area of a huge terrain? Alternatively, is there a way to copy a part of the big dataset to a new terrain dataset? I've looked around but haven't found any...
Tags (1)
0 Kudos
1 Solution

Accepted Solutions
MarcSwartz
Occasional Contributor
The Surface Contour (3D Analyst) tool will honor the "Extent" geoprocessing environment.  Using this you can limit the area of contour generation to a rectangular area.  The "Extent" can be set programmatically with arcpy, from a Layer, Same as Display, or various other ways.  Terrain to Point (3D Analyst) also will honor the "Extent"

# set the output extent before calling Surface Contour, or Terrain to Point
arcpy.env.extent = arcpy.Extent(XMin, YMin, XMax, YMax)

Thanks,
Marc Swartz

View solution in original post

0 Kudos
5 Replies
TimBarnes
Frequent Contributor
I started having a look at this last week but I don't generally use terrains so didn't have any readily available data to test on. In the absence of other answers try Analysis Tools > Extract > Clip as an outside chance? I agree, there doesn't appear to be a tool for it in the 3D analyst tools though...
0 Kudos
JeffreySwain
Esri Regular Contributor
Based on the size of the terrain, I would consider limiting the area of analysis via a boundary then processing the lidar.  Perhaps using a polygon as a soft clip will allow you to generate for the desired area.  Simply running the Surface Contour tool on the entire terrain dataset may cause problems.
0 Kudos
HåvardMoe
Deactivated User
If I apply a smaller boundary, wouldn't that require me to rebuild the terrain? Not somethng I do lightly with 860 mill. points in a data set...

I'd have to re-building a lot - once to get the smaller subset, then the full model once I'm done - or juggle multiple copies of multi-GB geodatabases. Neither seems very appealing.

The help files describe the terrain dataset as a possible "repository for lidar, photogrammetric, and bathymetric survey data", but it feels rather unfortunate if I can't extract subset data for specific interest area as there are some uses of data I've run into lately that can't handle large terrains (like, say, ArcScene)...
0 Kudos
MarcSwartz
Occasional Contributor
The Surface Contour (3D Analyst) tool will honor the "Extent" geoprocessing environment.  Using this you can limit the area of contour generation to a rectangular area.  The "Extent" can be set programmatically with arcpy, from a Layer, Same as Display, or various other ways.  Terrain to Point (3D Analyst) also will honor the "Extent"

# set the output extent before calling Surface Contour, or Terrain to Point
arcpy.env.extent = arcpy.Extent(XMin, YMin, XMax, YMax)

Thanks,
Marc Swartz
0 Kudos
HåvardMoe
Deactivated User
Thanks - I'll have to try that next time I run into this 🙂
0 Kudos