Select to view content in your preferred language

Is the Contour Line with the Zero value attribute in the Surface Contour tool's output the first contour elevation e.g. 5 Ft. or is it a base line i.e = to zero elevation?

8090
15
Jump to solution
07-29-2015 11:09 AM
JamesLabate
Emerging Contributor

Hi,

Can someone tell me if in the contour layer output of the Surface Contour tool (being run on a terrain) - is the line with the attribute zero in the Contour Field (output file) literally equal to a zero elevation? Or is the line with the attribute zero in the Contour Field the first contour in your interval, for example the 5 ft. line in a contour file with 5 ft. intervals?.

I am uncertain if I should consider this "0 contour" a shoreline and the "1 Contour" the the first (3Ft) contour in my interval or is the line with the 0 value in the Contour Field actually the first elevation contour - the 3 ft. line.

I don't see an input in the surface contour tool that actually creates / populates an elevation value field for the line segment. Am I missing something there?

When I spot check elevations on the terrain with the output contours laid over it - it appears (in some areas) the zero attribute contour line is the shoreline, but it does not align very well with a high resolution, well referenced aerial image and the 12 ft contour a little higher up does agree with a contour layer from another source. Simply can't afford to mislabel these lines.

Thanks,

Jim

0 Kudos
1 Solution

Accepted Solutions
IanMurray
Honored Contributor

I'm at my other GIS job today and do have 3D analyst.

SurfaceContourPrecision.png

There is a parameter when you run the tool where you can control precision of the output Contour Field.  That should fix the truncation issue that it is currently outputting

View solution in original post

0 Kudos
15 Replies
IanMurray
Honored Contributor

When I use the Contour Tool (Spatial Analyst) it creates the field Contour populated with the elevation of each contour.  None of mine are near a shore line, but the minimum value is ~1350.  I believe the values in your field are the actual elevation values of the contour.

In Surface Contour, there is a parameter to which you can assign the contour value to a field name, I believe if you don't name a field name for it to create then it makes the "Contour" field and populates it with the contour elevation.

Also shorelines are highly variable depending on time of day in aerial imagery due to tides, so it would be expected for there to be some margin of error with the contours lining up with the "shoreline"

0 Kudos
JamesLabate
Emerging Contributor

Hi Ian,

Thanks for response. Yes, I assumed that the Contour Field (optional) input would just name the field and that the attribute values for the line segments would be the elevation value, but it's not.

My terrain's unit of measure is meters and I want a a 3 ft. contour interval so I just plug .9144 into the Contour Interval input. That part is fine - I do get a 3 ft. contour interval output.

The problem is the Contour field values in the output are not elevation values such as 3, 6, 9 etc. but are more like an index 0, 1, 2, 3.

This is why there is confusion as to what is the definition of the of the zero value: does. Is it = 0 elevation or is it actually the 3ft. contour (with zero being the first number in an index)?

The fact that there is not great alignment with an image is not my real concern. It's when i go back and use the identify tool on the terrain itself and compare that spot check to what the value of a nearby contour from the output that I'm interpreting a certain way - i.e. the 0 value equals the 3 ft. line - that I start to feel as if I'm looking at my contours as being 3 feet ahead of themselves in the interval.

Again, there would be no ambiguity if the "Contour" field had elevation values, but it doesn't - they a re just a sequential index. Simply renaming the field in the tools input yields the same index-like output.

What do you or anyone else think I'm missing here?

Again to recap, I'm getting more of an index in the Contour field - not specific elevation values - and I'm unsure about where my contour interval starts - or what the definition of the zero line is.

Best,

Jim

0 Kudos
IanMurray
Honored Contributor

I wonder if the issue is that you made your contour interval to be .914.  While it is technically 3ft, it will still populate the attribute table contour values based on the contour interval(.914).  So depending on how many significant digits are showing, it might show a 0 for the contour elevation, even if it is 0.914(m) or 3ft.  For 6ft it might show 1 based on the number of significant digits showing for the field.  If your contour field is still storing elevation in meters, I'd make a new field and then multiply your first contour field by 3.28084 to have it storing the values in feet in the new field.

Mind posting a screenshot of the attribute table?

0 Kudos
JamesLabate
Emerging Contributor

I added a field and multiplied the contour field by 3.28084 but the result is just as if I multiplied and index field by 3.28084. In other words the Contour field value is really just 1 or zero - the table is not displaying .9144 as 0.

So you are saying if I put my contour interval in meters  say 3 meters I would get values of 3, 6, 9 etc in the contour field - only in the wrong units from what I need?

Again, I feel confident I am getting a 3 foot contour interval - that the output is producing that - I just don't know for certain what the 0 value stands for - the first contour in the interval e.g. the 3ft. line - or a zero elevation baseline - meaning the lines classed 1 in my contour field are the 3 foot line.

I've attached a screen grab. Thanks for help. Will have to continue tomorrow.

Much appreciated.

JimContour Field Issues.JPG

0 Kudos
JeffreyStevens
Occasional Contributor

I believe the Base contour is for reference only.  ie. (for now ignore the fact that you want to convert to meters), the Base contour is where the contours start intervals in the positive and negative.  So, if you have a terrain that ranges from 5 ft to 20 feet, and you choose 10 feet as your base, the contours generated will start from the terrain 10ft elevation and count out from there.  If your base is 0 (default) then your generated contours will be in sync with your terrain as long as they are in the same vertical datum (NGVD or NAVD).

Having said that, I would suggest you resample your DEM or terrain from meters to feet first, then generate contours.

0 Kudos
IanMurray
Honored Contributor

Can you try running the Surface Contour Tool again, but this time up the field precision?  The default precision value for the field if you don't change it is 0, which means it return an integer, not a float.  ArcGIS handles the values by truncation, not rounding.  I still believe this is a precision issue, so if you could please run the tool again with the field precision changed, I think we would get the correct values.

0 Kudos
JamesLabate
Emerging Contributor

Jeffry,

My terrain contains an estuary shoreline (Hudson River) so it ranges from zero up. The Base Contour input is not so much my concern as is the knowing for certain what the values in the output layer's Contour field mean.

Since I am in a way doing a unit conversion - meters to feet - by using an input of .9114 for the Contour Interval (again, terrain is in meters) I am not getting Feet values in the output layer's Contour field.

I've inherited this terrain and would prefer not to regenerate from scratch a new terrain in State Plane Feet. When you say "resample" the terrain, do you mean there is a way to in effect re-project the existing terrain - or do I have to go from scratch?

-------------------------------------------------------------------------------------------------

Ian,

I ran the Surface Contour (SC) tool with a whole number Contour Interval (3) and got a Contour Field populated with nice meter values at the input value - but of course I need it in feet.

I see where you're going with the precision discussion - but I am not seeing a way to manipulate the output layer's Contour field's properties before running the SC tool. I thought perhaps in the SC tool's Environment Settings but nothing there (unless I missed it) allowed me to get at the Contour field output - let alone tweek it's precision as a Float.

Here's what i did /found:

1) SC outputs the Contour field as a Numeric field with no decimal places.

2) Change the decimal places (through field properties) of Contour output field and no

   ADDITIONAL INFO APPEARS I.E. 2 IS STILL 2 - Therefore, there is no additional 'precision" to be got at  after the tools been run?

3) Change the precision before the tool has been run. Where? Nothing in the tools environment settings appears to let you manipulate the properties of the output field

4) ESRI Resource lists the Interval input data type / output field(?) as Double. Clearly it accepts decimal places.

Thanks to both of you -

This is getting a bit frustrating though - to me the SC tool's ability to accept the unit conversion (analogous to buffering in another unit by adjusting buffering value) should mean that's it's output Contour field should be able to complete the conversion by populating the field with intelligible values - even if it outputs in the terrain's native unit's. So - then the 6 foot contour lines would have a value of 1.8228. Anything that definitively identifies what contour I'm looking at.

Jim

0 Kudos
IanMurray
Honored Contributor

I'm at my other GIS job today and do have 3D analyst.

SurfaceContourPrecision.png

There is a parameter when you run the tool where you can control precision of the output Contour Field.  That should fix the truncation issue that it is currently outputting

0 Kudos
JamesLabate
Emerging Contributor

That's it!

I got bogged down in the weeds with the Environment Settings. Thanks very much Ian. Give yourself a raise. I owe you one.

Best Regards,

Jim Labate

0 Kudos