Calculate Max Elevation Figures (Production Mapping)

许可等级:BasicStandardAdvanced

摘要

Calculates Maximum Elevation Figures (MEF) for each polygon cell or quadrangle in the MEF Feature Layer. MEF values are the elevation of the highest natural or manufactured obstruction plus a vertical error and allowance. This sum is rounded to the next higher hundred-foot level. You use these values as labels for the MEF Feature Layer.

To derive the highest obstruction value, the tool uses terrain data from a digital elevation model (DEM) and vertical obstruction data from a point feature class. You can calculate MEF values for Joint Operations Graphic (JOG), Operational Navigation Chart (ONC), Tactical Pilotage Chart (TPC) grid cells, or any other polygon grid features.

用法

语法

CalculateMaxElevationFigures_production (in_mef_feat_layer, in_mef_val_field, in_max_vo_val_field, in_max_dem_val_field, in_mef_allowance, in_terrain_layer, in_point_field, in_terrain_accuracy, in_vo_feat_layer, in_vo_elev_field, in_vo_accuracy)
参数说明数据类型
in_mef_feat_layer

A polygon layer that contains the MEF grid and the three fields that will be updated by the tool.

Feature Layer
in_mef_val_field

The in_mef_feat_layer field in which the tool writes MEF values.

Field
in_max_vo_val_field

The in_mef_feat_layer field in which the tool writes maximum vertical obstruction values from in_vo_feat_layer.

Field
in_max_dem_val_field

The in_mef_feat_layer field in which the tool writes maximum elevation values from in_terrain_layer.

Field
in_mef_allowance

A vertical allowance value added to each calculated MEF value. The value accounts for nonrepresented natural or manufactured features. The default is 200 feet.

Linear unit
in_terrain_layer

A point feature layer or DEM raster layer used to determine the terrain elevation.

Feature Layer;Mosaic Layer;Raster Layer
in_point_field

The field that contains elevation values in in_point_layer. Use this parameter if in_point_layer is a feature layer.

Field
in_terrain_accuracy

A value that represents the accuracy of the terrain layer within a specified number of units. The default is 20 meters.

Linear unit
in_vo_feat_layer

The point layer that contains all the obstructions for the cells for which the MEF values are being calculated; this is generated from a Digital Vertical Obstruction File (DVOF).

Feature Layer
in_vo_elev_field

The field in the vertical obstruction feature layer that contains the elevation values for each obstruction, which is usually the Height Above Mean Sea Level (HEIGHTAMSL).

Field
in_vo_accuracy

A value that represents the accuracy of the vertical obstruction feature layer within a specified number of units. The default is 20 meters.

Linear unit

代码实例

CalculateMaxElevationFigures example (Python window)

The following Python window script demonstrates how to use the CalculateMaxElevationFigures tool.

# function to add mef fields
def addField(layer,fieldname):
    # loop through all fields that match input fieldname of type LONG
    fieldNames = [f.name for f in arcpy.ListFields(layer,fieldname,"LONG")]
    if fieldNames.count(fieldname) < 1:
        # field does not exist - create it
        arcpy.AddField_management(layer,fieldname,"LONG")


import arcpy
		
# set the current workspace
arcpy.env.workspace = "C:/data/Austin.gdb"
arcpy.env.addOutputsToMap=True

# local variables
elevations="TopographicMap/ElevationP"
mef = "AOI"
mefLayer="mefLayer"
terrainLayer = "terrainLayer"
allowance="200 Feet"
accuracy="20 Feet"

# field names
mefval = "mefvalue"
mefvo = "mefMaxVoValue"
mefter = "mefTerrain"
pointfld ="Elevation"

# make the mef feature layer
arcpy.MakeFeatureLayer_management(mef, mefLayer)

# make the terrain feature layer
arcpy.MakeFeatureLayer_management(elevations, terrainLayer)

# check for mef fields in mefLayer
addField(mefLayer,mefval)
addField(mefLayer,mefvo)
addField(mefLayer,mefter)

# exec Calculate Max Elevation Figures
arcpy.CalculateMaxElevationFigures_production(mefLayer,mefval,mefvo,mefter,allowance,terrainLayer,pointfld,accuracy,terrainLayer,pointfld)
print arcpy.GetMessages()

The following ArcGIS label expression can be used to label your maximum elevation figures in the MEF feature layer. To use this label expression:

  1. Execute the Calculate MEF tool on your MEF feature layer.
  2. Right-click the MEF feature layer in the ArcMap table of contents and click Properties.

    The Layer Properties dialog box appears.

  3. Click the Labels tab.
  4. Click Expression.
  5. Load the expression listed below into the Expression window. Make sure you change all [MEF_VALUE] occurrences to the name of your in_mef_val_field.
  6. Click Verify to validate the label expression.
  7. Click OK to close the Label Expression dialog box.
  8. Check on the Label features in this layer check box in the Labels tab of the Layer Properties dialog box.
  9. Click OK to close the Layer Properties dialog box.
Function FindLabel ( [MEF_VALUE] )
Dim l, h, s, f, z, j, len2, lenfin
s = [MEF_VALUE]
len2 = len(s)
if len2 < 4 then
l = mid(s, 1, 1)
z = "<FNT name='Arial' size='30'>" & "0" & "</FNT>"
j = "<SUP><FNT name='Arial' size='30'>" & l & "</FNT></SUP>"
Findlabel = z & j
elseif len2 = 4 then
l = mid(s, 1, 1)
h = mid(s, 2, 1)
z = "<FNT name='Arial' size='30'>" & l & "</FNT>"
j = "<SUP><FNT name='Arial' size='30'>" & h & "</FNT></SUP>"
Findlabel = Z & j
else
l = mid(s, 1, 2)
h = mid(s, 3, 1)
z = "<FNT name='Arial' size='30'>" & l & "</FNT>"
j = "<SUP><FNT name='Arial' size='30'>" & h & "</FNT></SUP>"
Findlabel = Z & j
end if
End Function

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 否
ArcGIS for Desktop Standard: 需要 Production Mapping
ArcGIS for Desktop Advanced: 需要 Production Mapping
4/27/2014