描述
Creates light sector features based on a specified point feature class. Light sectors typically appear on nautical charts and depict the distance a light can be seen from its source. Light sectors are based on light features in the AidsToNavigationP feature class in the ArcGIS Maritime.
使用方法
This tool works with lights found on signal equipment in S-57 data. These features are in the AidsToNavigationP feature class.
The Boundary Length and Sector Arc Radius length values can be derived from the Value of Nominal Range (VALNMR) field in the AidsToNavigationP feature class, or you can type the values.
The Start Angle and End Angle values can be derived from the SECTR1 and SECTR2 fields from the AidsToNavigationP feature class.
Boundary lines and arcs can be created in page units or map units.
To use page units, the data must be projected and the reference scale must be set.
语法
arcpy.nautical.GenerateLightSector(in_features, reference_scale, boundary_length, blength_unit, sector_radius, radius_unit, start_angle, start_angle_unit, end_angle, end_angle_unit, out_features, output_symbol, {where_clause}, {angle_origin}, reference_scale)
参数 | 说明 | 数据类型 |
in_features | The feature class that contains the light features. | Feature Class; Feature Layer |
reference_scale | The scale at which the features are generated when using page units. | Long |
boundary_length | The length of the boundary lines for the light sector. This is the line that appears on the chart. The value for the line length can be populated based on a specified value or from a field.
The length of the line is calculated in nautical miles by default. | Double;Field |
blength_unit | The unit of measurement to use with the length of the light sector boundaries on the chart. When you choose a different unit of measurement, the length is converted from nautical miles to the units you have selected for display on the chart. You can choose from the following page and map units: nautical miles, unknown units, feet, yards, miles, millimeters, centimeters, meters, kilometers, decimal degrees, and decimeters. To use page units, the data needs to be projected and the reference scale set. | String |
sector_radius | The value that represents where the radius for the line sectors is going to be generated in relation to the light. The arc falls between the two boundaries of the light sector. The radius is generated at a distance from the light sector using the units of measurement you select. You can either specify a value for the radius or chose a field in the feature class that contains the radius values.
| Double; Field |
radius_unit | The unit of measurement for the radius arc that extends between the two light sector boundaries. You can choose from the following page and map units: nautical miles, unknown, points, feet, yards, miles, millimeters, centimeters, meters, kilometers, decimal degrees, and decimeters. To use page units, the data needs to be projected and the reference scale set. | String |
start_angle | The field that contains the value that defines the angle at which the light sector begins. This value is interpreted as a bearing from the ship to the light. The angle for the light sector is calculated in decimal degrees, clockwise from the north. The value is in the SECTR1 field for S-57 data. | Field |
start_angle_unit | The unit of measurement for the angle at which the light sector begins. It is converted from nautical miles to the unit of measurement you choose. You can choose one of the following page or map units: decimal degrees, unknown units, points, feet, yards, miles, nautical miles, millimeters, centimeters, meters, kilometers, and decimeters. By default, the value in the SECTR1 field is in decimal degrees. | String |
end_angle | The field that contains the value that defines the angle at which the light sector ends. This value is interpreted as a bearing from the ship to the light. The angle for the light sector is calculated in decimal degrees, clockwise from the north. The value is in the SECTR2 field for S-57 data. | Field |
end_angle_unit | The unit of measurement for the angle at which the light sector ends. It is converted from nautical miles to the unit of measurement you choose. You can choose one of the following page or map units: decimal degrees, unknown units, points, feet, yards, miles, nautical miles, millimeters, centimeters, meters, kilometers, and decimeters. By default, the value in the SECTR2 field is in decimal degrees. | String |
out_features | The feature class to store the light sectors. You can click the browse button to create a new feature class in a specified database or append the new light sectors to an existing feature class. If the feature class exists, light sectors will be appended to the feature class. | Feature Class; Feature Layer |
output_symbol | The name of the field that stores the symbol value for the light sectors. The symbol value is associated with a symbol in the style associated with the data specification. You can click the Output Symbol Field drop-down arrow to choose an existing field or type a new field name in the text box. | String |
where_clause (可选) | An SQL expression that defines which features from the selected feature class should have light sectors generated. | SQL Expression |
angle_origin (可选) | Indicates whether the angle origin is land based or seaward.
| Boolean |
reference_scale | The denominator of the scale fraction corresponding with the intended display scale of the input data. | Long |
代码示例
GenerateLightSector example (Python window)
The following Python window script demonstrates how to use the GenerateLightSector tool.
#Import arcpy module
import arcpy
# Check for Nautical extension
print "Checking out Maritime extension"
arcpy.AddMessage("Checking out Maritime extension")
if arcpy.CheckExtension("Nautical") == "Available":
arcpy.CheckOutExtension("Nautical")
else:
arcpy.AddError("Maritime: Charting license is unavailable.")
# input light features
in_features = "c:/data/nautical.sde/NIS.DBO.Nautical/NIS.DBO.AidsToNavigationP"
# reference scale
reference_scale = 15000
# boundary lenght and unit
boundary_length = 10
boundary_length_unit = "Nautical Miles"
# sector radius and unit
sector_radius = 10
sector_radius_unit = "Nautical Miles"
# start angle field and unit
start_angle = "SECTR1"
start_angle_unit = "Decimal Degrees"
# end angle field and unit
end_angle = "SECTR2"
end_angle_unit = "Decimal Degrees"
# output light sectors and symbols
out_features = "c:/data/outputNauticalData.gdb/lightSectors"
out_symbols = "lightSymbol"
# execute GenerateLightSector tool
res = arcpy.GenerateLightSector_nautical(in_features,boundary_length,boundary_Length_unit,sector_radius,sector_radius_unit,start_angle,start_angle_unit,end_angle,end_angle_unit,out_features,out_symbols)
print "Successfully created light sectors in " + str(res.getOutput(0))
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 需要 ArcGIS Maritime