The Radar Range method applies the SCAMIN values dynamically by taking the compilation scale of the S-57 product, or the M_CSCL feature within the product, and derives a feature's SCAMIN value based on a combination of rules and the two tables (Standard Radar Range and SCAMIN value) contained in the XML file.
Consider the following when configuring rules in the SCAMIN.xml file:
- Compilation scale value of the S-57 cell, or the M_CSCL feature
- Standard Radar Scale table and SCAMIN Value table
- Rule type
- Syntax for the rules
- M_CSCL features
Compilation Scale of S-57 Cell or M_CSCL features
With the Radar Range method of calculation, the calculation is based on the compilation scale value of either the S-57 cell or the M_CSCL feature contained within the cell.
Standard Radar Scale and SCAMIN Value tables
The compilation scale value of the S-57 cell, or the M_CSCL feature within the S-57 cell, is referenced to the nearest larger standard radar range value based on a table of radar scales. If an object falls between two of the radar scales below, the next larger scale is selected. For example, if the Compilation Scale of the S-57 cell or M_CSCL feature is 1:25000, the radar scale used to determine the SCAMIN value is 1:22,000.
Standard Radar Scale (rounded) |
---|
1:3,000,000 |
1:1,500,000 |
1:700,000 |
1:350,000 |
1:180,000 |
1:90,000 |
1:45,000 |
1:22,000 |
1:12,000 |
1:8000 |
1:4000 |
The standard radar scale is used as the starting point in the SCAMIN Value table to determine the value set on a given feature. The table lists 22 specific SCAMIN scale values that are used in conjunction with rules/step values specified in the SCAMIN XML. The step values are used as a counter within the SCAMIN Value table to determine how many scale values smaller than that particular object should be displayed.
SCAMIN Value |
---|
1:19,999,999 |
1:9,999,999 |
1:4,999,999 |
1:2,999,999 |
1:1,499,999 |
1:699,999 |
1:499,999 |
1:349,999 |
1:259,999 |
1:179,999 |
1:119,999 |
1:89,999 (Step 4) |
1:59,999 (Step 3) |
1:44,999 (Step 2) |
1:29,999 (Step 1) |
1:21,999 |
1:17,999 |
1:11,999 |
1:7,999 |
1:3,999 |
1:1,999 |
1:999 |
For example, if a radar scale value is 1:22,000, then the SCAMIN scale value starting position is 1:21,999. If a rule in the SCAMIN XML states that a feature receives a step value of 4, then the SCAMIN value for that feature will move four places to a smaller scale, which in this example is 1:89,999.
Rules types
The following table describes the rule types supported by the Radar Range method. Listed are the S-57 objects, the primitive/geometry type the rule applies to, the condition that the feature needs to meet, and the number of steps being used to determine the SCAMIN value.
Rule type | S-57 object | Primitive | Condition | SCAMIN steps |
---|---|---|---|---|
By feature—Specific S-57 object | ADMARE | Area | No Condition | 3 |
By feature/attribute—Specific S-57 object with an attribute condition | AIRARE | Point/Area | If CONVIS = 1 (visually conspicuous) | 3 |
By spatial location—S-57 object is spatially associated with another feature | PIPSOL | Point | Covered by an area LNDARE | 1 |
PIPSOL | Point/Line | Covered by an area DEPARE, DRGARE, or UNSARE | 3 | |
By both spatial location and attribute condition | BRIDGE | Point/Line/Area | Attribute CONVIS = 1 and covered by an area LNDARE | 3 |
BRIDGE | Point/Line/Area | Attribute CONRAD = 1 and covered by an area LNDARE | 3 | |
By feature relationship (Structure-Equipment) | TOPMAR | Point | Relationship Rule Condition: Equipment features will reflect the Structure feature's SCAMIN value. | 3 |
BOYISD | Point | Structure Feature Relationship Rule will contain the overriding SCAMIN value for both features. | 4 |
Rule syntax
The following are syntax examples for the rule types supported by the Radar Range method.
When defining a rule with attribute conditions, the attribute conditions should be listed based on ascending step values. For example, conditional step value = 1 should be followed by conditional step value = 2, 3, 4, and so on. This ensures that features meeting more than one attribute condition will be calculated based on the greatest number of steps.
The spatial rule sets contain operators such as share and cover. These operators are used to spatially evaluate a feature to determine if it meets the criteria for a given rule condition.
- Share—This operator is used to determine if the S-57 object being evaluated by the rule shares a common boundary (edge) with the object listed in the rule's spatial condition
- Cover—This operator is used to determine if the S-57 object being evaluated by the rule is completely covered by the object listed in the rule's spatial condition
In the following example, if DAMCON_Dam Line or Area has a common boundary with "NaturalFeaturesA|LNDARE_LandArea" or "DepthsA|DEPARE_DepthArea," then the share spatial operator is placed in the spatial rule.
<Object Name="DAMCON_Dam" PrimitiveType="Line|Area" HasCondition="true" DefaultStepValue="1">
<Conditions>
<Condition StepValue="NULL">
<Rules>
<Rule Type="S" Object="NaturalFeaturesA|LNDARE_LandArea" Operator="share" />
<Rule Type="S" Object="DepthsA|DEPARE_DepthArea" Operator="share" />
</Rules>
</Condition>
In the following example, if "LOGPON_LogPond" Point or Area is completely covered by a "DepthsA|DEPARE_DepthArea", a "DepthsA|DRGARE_DredgedArea", or a "DepthsA|UNSARE_UnsurveyedArea," then the Cover spatial operator is placed in the spatial rule.
<Object Name="LOGPON_LogPond" PrimitiveType="Point|Area" HasCondition="true" DefaultStepValue="1">
<Conditions>
<Condition StepValue="4">
<Rules>
<Rule Type="S" Object="DepthsA|DEPARE_DepthArea" Operator="Cover" />
</Rules>
</Condition>
Feature-based rule set
Rule: Evaluates whether the feature is encoded as a specific S-57 object
In the following rule example, "ADMARE_AdministrativeAreaNamed" receives three steps.
<Object Name = "ADMARE_AdministrationAreaNamed" PrimitiveType = "Area" HasCondition = "false" DefaultStepValue = "3" />
Feature/Attribute-based rule set
Rule: Evaluates whether the feature is encoded as a specific S-57 object and meets the attribute condition
In the following rule example, "AIRARE_AirportAirfield" receives three steps if it meets the attribute condition of CONVIS = 1, or one step if it does not meet the condition.
<Object Name = "AIRARE_AirportAirfield" PrimitiveType = "Point|Area" HasCondition = "true" DefaultStepValue = "1">
<Conditions>
<Condition StepValue ="3">
<Rules>
<Rule Type ="A" Field ="CONVIS" Operator ="equal" Value ="1" />
</Rules>
</Condition>
</Conditions>
</Object>
Spatial location-based rule set
Rule: Evaluates whether the feature is encoded as a specific S-57 object and is spatially associated with another feature
In the following rule example, a "PIPSOL_PipelineSubmarineOnLand" point feature receives one step if it is covered by LNDARE, or three steps if it is covered by DEPARE, DRGARE, or UNSARE.
<Object Name = "PIPSOL_PipelineSubmarineOnLand" PrimitiveType = "Point" HasCondition = "true" DefaultStepValue = "0">
<Conditions>
<Condition StepValue = "1">
<Rules>
<Rule Type = "S" Object = "NaturalFeaturesA|LNDARE_LandArea" Operator = "Cover"/>
</Rules>
</Condition>
<Condition StepValue = "3">
<Rules>
<Rule Type = "S" Object = "DepthsA|DEPARE_DepthArea" Operator = "Cover"/>
</Rules>
</Condition>
<Condition StepValue = "3">
<Rules>
<Rule Type = "S" Object = "DepthsA|DRGARE_DredgedArea" Operator = "Cover"/>
</Rules>
</Condition>
<Condition StepValue = "3">
<Rules>
<Rule Type = "S" Object = "DepthsA|UNSARE_UnsurveyedArea" Operator = "Cover"/>
</Rules>
</Condition>
</Conditions>
</Object>
Spatial location and attribute-based rule set
Rule: Evaluates whether the feature is encoded as a specific S-57 object, is spatially associated with another feature, and meets the attribute condition
In the following rule example, "BRIDGE_Bridge" receives three steps if it meets the attribute condition of CONVIS = 1 or CONRAD = 1 AND is covered by LNDARE.
<ObjectMap>
<Object Name = "BRIDGE_Bridge" PrimitiveType = "Point|Line|Area" HasCondition = "true" DefaultStepValue = "0" >
<Condition StepValue = "3">
<Rules>
<Rule Type = "A" Field = "CONVIS" Operator = "equal" Value = "1" />
<Rule Type = "S" Object = "NaturalFeaturesA|LNDARE_LandArea" Operator = "Cover"/>
</Rules>
</Condition>
<Condition StepValue = "3">
<Rules>
<Rule Type = "A" Field = "CONRAD" Operator = "equal" Value = "1" />
<Rule Type = "S" Object = "NaturalFeaturesA|LNDARE_LandArea" Operator = "Cover"/>
</Rules>
</Condition>
</Object>
Feature relationship-based rule set
Rule: An equipment feature's SCAMIN value will match that of the structure feature.
In the following rule example, "TOPMAR_Topmark" receives three steps if it is a stand-alone feature, or it will receive the number of steps of its associated structure feature (four steps).
<Object Name = "TOPMAR_Topmark" PrimitiveType = "Point" HasCondition = "true" DefaultStepValue = "3">
<Conditions>
<Condition StepValue ="3">
<Rules>
<Rule Type ="R" />
</Rules>
</Condition>
</Conditions>
This is the structure feature for the above TOPMAR_Topmark.
<Object Name = "BOYISD_BuoyIsolatedDanger" PrimitiveType = "Point" HasCondition = "false" DefaultStepValue = "4" />
SCAMIN and unit conversion
The Radar Range method is based on S-65 guidance and introduces rule conditions that evaluate features based on two Depth Units (DUNI) attribute fields: VALSOU and VALDCO. Since the S-57 specification requires that depth and height attribute fields be encoded with metric values, it can be assumed that the values listed in the S-65 recommendations are metric.
When unit conversion is used, you need to update the Radar Range method rule set to ensure that VALSOU and VALDCO are evaluated based on the proper unit of measure. This also applies for any custom attribute conditions you create.
For example, the VALDCO attribute was updated in the following XML excerpt from the Radar Range method rule set to the derived attribute VALDCO_M. The underscore M identifies the attribute units as meters.
<Object Name="DEPCNT_DepthContour" PrimitiveType="Line" HasCondition="true" DefaultStepValue="2">
<Conditions>
<Condition StepValue="4">
<Rules>
<Rule Type="A" Field="VALDCO_M" Operator="equal" Value="0" />
</Rules>
</Condition>
<Condition StepValue="4">
<Rules>
<Rule Type="A" Field="VALDCO_M" Operator="equal" Value="30" />
</Rules>
</Condition>
</Conditions>
</Object>
Default step value
There are two situations that result in the default step value being applied to a given S-57 object.
- A feature rule (no conditions) is used to encode SCAMIN for the S-57 object.
- The encoding or spatial disposition of a given S-57 object fails to meet the listed conditions for the defined rule.
Based on the step values used within the S-65 rule set, it is recommended that a value of 1, 2, 3, or 4 is used when defining rules for the Radar Range method. In addition, a value of 0 or Null can be used to meet special situations. Features meeting the conditions for a rule with a step value equal to 0 or <NULL> will be exported without a SCAMIN attribute.
M_CSCL features
M_CSCL features are used to indicate that a subset of features within the S-57 cell have a different compilation scale than the main portion of the dataset. Features spatially within these areas are evaluated based on the M_CSCL compilation scale, and this is the compilation scale that the SCAMIN tool will use for basing the Radar Range method of calculations. To support this, all features should be split along M_CSCL boundaries; those that are not are flagged in the SCAMIN log file.
The SCAMIN_STEP attribute
The SCAMIN_STEP attribute is a coded value domain at the feature level used to override the SCAMIN values calculated on an export.
SCAMIN_STEP | Description |
---|---|
NULL | By setting the SCAMIN_STEP equal to <Null>, the feature will be processed, and the SCAMIN will be set according to the selected SCAMIN.xml configuration. |
0 | By setting the SCAMIN_STEP equal to (0), the SCAMIN process will not set a SCAMIN value on the feature. |
1, 2, 3, or 4 | By setting the SCAMIN_STEP equal to (1), (2), (3), or (4) the feature will be processed, and the SCAMIN value will be set1, 2, 3, or 4 steps beyond the default radar range. |