├── CONTRIBUTING.md
├── CustomPresentationLibrary
├── symbols
│ ├── pattern
│ │ └── ThisFolderIsEmpty.txt
│ ├── point
│ │ ├── F20_Dolphin.svg
│ │ ├── Q9_Square.svg
│ │ ├── S1_Ra_transponder_wLight.svg
│ │ ├── Q101_Mark.svg
│ │ ├── F11_3_Yacht_club.svg
│ │ ├── Q130_3_topmark_W.svg
│ │ ├── Q9_Arrow_filled.svg
│ │ ├── Q9_Cylinder_filled.svg
│ │ ├── Q90_Stake_pole.svg
│ │ ├── Q130_3_topmark_E.svg
│ │ ├── Q9_Rhombus.svg
│ │ ├── Q9_Arrow.svg
│ │ ├── K13a_Dangerous_underwater_rk.svg
│ │ ├── F22_Post.svg
│ │ ├── Q130_3_topmark_S.svg
│ │ ├── Q130_3_topmark_N.svg
│ │ ├── Light_Flare.svg
│ │ ├── Q9_Cylinder.svg
│ │ ├── Light_Flare_green.svg
│ │ ├── Light_Flare_red.svg
│ │ ├── Q9_Cross.svg
│ │ ├── Q9_Arrow_DownOpen.svg
│ │ ├── Q9_Arrow_DownFilled.svg
│ │ ├── Light_Flare_white.svg
│ │ ├── T1_pilot_boarding_place.svg
│ │ ├── Q130_6_Special_mark.svg
│ │ ├── L10_Offshore_platform.svg
│ │ ├── Q91_Lateral_hand_perch.svg
│ │ ├── Q91_Port_hand_perch.svg
│ │ ├── F53_Crane.svg
│ │ ├── Q83_Beacon_submerged_rock.svg
│ │ ├── D22_Vert_clr.svg
│ │ ├── B20_Triangulation_point.svg
│ │ ├── P1_Light-fixed.svg
│ │ ├── E36_Mine.svg
│ │ ├── F21_Deviation_dolphin.svg
│ │ ├── P1_Light.svg
│ │ ├── M40_1b_Radio_calling_in.svg
│ │ ├── P1_Light_green.svg
│ │ ├── P1_Light_red.svg
│ │ ├── P1_Light_white.svg
│ │ ├── K29_Wreck_notdangerous.svg
│ │ ├── K31_Foul_ground.svg
│ │ ├── C32_Mangrove.svg
│ │ ├── B22a_Fixed_point.svg
│ │ ├── B22_Fixed_point.svg
│ │ ├── E25_Windmill.svg
│ │ ├── M40_1a_Radio_calling_in.svg
│ │ ├── P4_Lighted_beacon.svg
│ │ ├── Q26_Super_buoy.svg
│ │ ├── F20b_Dolphin.svg
│ │ ├── S1_Ra_transponder_bn.svg
│ │ ├── Q110a_Beacon_tower.svg
│ │ ├── Q80_Beacon.svg
│ │ ├── Q21a_Can_buoy.svg
│ │ ├── D26_2_SafeVertClearance.svg
│ │ ├── Q24_Spar_buoy.svg
│ │ ├── Q23a_Pillar_buoy.svg
│ │ ├── K11b_Rock_uncovers.svg
│ │ ├── Q130_4_Isolated_danger_mark.svg
│ │ ├── Q20a_Conical_buoy.svg
│ │ ├── E27_Flagpole.svg
│ │ ├── E20_Tower.svg
│ │ ├── E17_Mosque.svg
│ │ ├── N2_2_EntryProhibitedPoint.svg
│ │ ├── S5_Radar_conspicuous.svg
│ │ ├── R1_Fog_signal.svg
│ │ ├── Q110b_Beacon_tower.svg
│ │ ├── Q23b_Pillar_buoy.svg
│ │ ├── L16_Tanker_mooring.svg
│ │ ├── E22_Chimney.svg
│ │ ├── F10_Fishing_harbor.svg
│ │ ├── Q21b_Can_buoy.svg
│ │ ├── F11_2_Yacht_berths.svg
│ │ ├── E23_Flare_stack.svg
│ │ ├── K1_Obstruction4mm_InDepthRange.svg
│ │ ├── Q25a_Barrel_buoy.svg
│ │ ├── Q130_5_Safe_water_mark.svg
│ │ ├── Q23c_Pillar_buoy.svg
│ │ ├── E26_1_Wind_turbine.svg
│ │ ├── Q92_Withy_port.svg
│ │ ├── Q92_Withy_starboard.svg
│ │ ├── Q20b_Conical_buoy.svg
│ │ ├── Q30_Light_float.svg
│ │ ├── Q31_Light_float.svg
│ │ ├── E31_Dish_aerial.svg
│ │ ├── K12a_Rock_awash.svg
│ │ ├── C31_5_Nipa_palm.svg
│ │ ├── Q111_Lattice_beacon.svg
│ │ ├── Q130_5_Closed_safe_water_mark.svg
│ │ ├── F11_1_Boat_harbor.svg
│ │ ├── K12a_Rock_awash2mm.svg
│ │ ├── K1_Obstruction4mm_shoal.svg
│ │ ├── N21_1_Fishing_ProhibitedPoint.svg
│ │ ├── K1_Obstruction6mm_InDepthRange.svg
│ │ ├── Q40a_Mooring_buoy.svg
│ │ ├── C31_7_Filao.svg
│ │ ├── Q25b_Barrel_buoy.svg
│ │ ├── E10_Church.svg
│ │ ├── Q32_Light_vessel.svg
│ │ ├── E28_Radio_mast.svg
│ │ ├── K1_Obstruction4mm_InDepthRangeWk.svg
│ │ ├── K1_Obstruction6mm_shoal.svg
│ │ ├── Q22a_Spherical_buoy.svg
│ │ ├── E24_Monument.svg
│ │ ├── P63_Flood_light.svg
│ │ ├── Q22c_Spherical_buoy.svg
│ │ ├── K1_Obstruction4mm_DryWk.svg
│ │ ├── K1_Obstruction4mm_shoalWk.svg
│ │ ├── K10_LandPoint.svg
│ │ ├── K27_SweptDepth.svg
│ │ ├── K30_Wreck_safe_clearance.svg
│ │ ├── K21_Wreck_uncovers.svg
│ │ ├── C31_1_Deciduous_tree.svg
│ │ ├── Q42_Ground_tackle.svg
│ │ ├── N10_Reported_anchorage.svg
│ │ ├── E29_Radio_tower.svg
│ │ ├── Q22b_Spherical_buoy.svg
│ │ ├── K1_Obstruction6mm_shoal_wiredrag.svg
│ │ ├── C31_4_Palm_Tree.svg
│ │ ├── C31_8_Eucalypt.svg
│ │ ├── K13b_Dangerous_underwater_rk.svg
│ │ ├── Q100_cairn.svg
│ │ ├── K25_Wreck_danger_no_depth.svg
│ │ ├── K1_Obstruction4mm_shoal_wiredrag.svg
│ │ ├── C31_3_Conifer_tree.svg
│ │ ├── K11a_Rock_uncovers.svg
│ │ └── P64_Strip_light.svg
│ └── line
│ │ ├── L30_Cable.svg
│ │ ├── CBLS.svg
│ │ ├── N2_1_RestrictedArea.svg
│ │ ├── L32_DisusedCable.svg
│ │ ├── D15_Embankment.svg
│ │ ├── N2_2_EntryProhibitedPoint.svg
│ │ ├── C3_Cliffs.svg
│ │ ├── L31_1_PowerCable.svg
│ │ ├── N21_1_Fishing_ProhibitedPoint.svg
│ │ ├── N1_Limit_general.svg
│ │ ├── N21_NoFishing.svg
│ │ ├── L40_pipeline_supply.svg
│ │ ├── L41_pipeline_outfall_intake.svg
│ │ ├── D11_Roadway.svg
│ │ ├── rock_ledge.svg
│ │ ├── N20_NoAnchor.svg
│ │ └── N21_1_Fishing_Prohibited.svg
└── lua
│ ├── ospare01.lua
│ ├── sounding.lua
│ ├── utilities.lua
│ ├── buaare01.lua
│ ├── obstnare01.lua
│ ├── sbdare01.lua
│ ├── convyr02.lua
│ ├── pipsol01.lua
│ ├── fairwy01.lua
│ ├── roadwy01.lua
│ ├── coalne01.lua
│ ├── navlne01.lua
│ ├── cblohd02.lua
│ ├── dynamic_light_string.lua
│ ├── cblsub02.lua
│ ├── slotop01.lua
│ ├── depare03.lua
│ ├── rectrc01.lua
│ ├── bridge02.lua
│ ├── unit_conversion.lua
│ ├── swpare01.lua
│ ├── quapos01.lua
│ ├── lndare01.lua
│ ├── vertical_clearance.lua
│ ├── lndelv01.lua
│ └── depare01.lua
└── README.md
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing).
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/pattern/ThisFolderIsEmpty.txt:
--------------------------------------------------------------------------------
1 | Pattern folder is empty. If you wish to create a pattern symbol, then the SVG file must be stored in this folder.
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/F20_Dolphin.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q9_Square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/S1_Ra_transponder_wLight.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q101_Mark.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/F11_3_Yacht_club.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q130_3_topmark_W.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q9_Arrow_filled.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q9_Cylinder_filled.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q90_Stake_pole.svg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/L30_Cable.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q130_3_topmark_E.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q9_Rhombus.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q9_Arrow.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K13a_Dangerous_underwater_rk.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/F22_Post.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q130_3_topmark_S.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q130_3_topmark_N.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Light_Flare.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q9_Cylinder.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Light_Flare_green.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Light_Flare_red.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q9_Cross.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q9_Arrow_DownOpen.svg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q9_Arrow_DownFilled.svg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Light_Flare_white.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/T1_pilot_boarding_place.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q130_6_Special_mark.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/L10_Offshore_platform.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q91_Lateral_hand_perch.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q91_Port_hand_perch.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/F53_Crane.svg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q83_Beacon_submerged_rock.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/CBLS.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/D22_Vert_clr.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/B20_Triangulation_point.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/P1_Light-fixed.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E36_Mine.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/F21_Deviation_dolphin.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/P1_Light.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/M40_1b_Radio_calling_in.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/P1_Light_green.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/P1_Light_red.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/P1_Light_white.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/N2_1_RestrictedArea.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K29_Wreck_notdangerous.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K31_Foul_ground.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/C32_Mangrove.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/L32_DisusedCable.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/B22a_Fixed_point.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/B22_Fixed_point.svg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E25_Windmill.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/M40_1a_Radio_calling_in.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/P4_Lighted_beacon.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q26_Super_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/F20b_Dolphin.svg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/S1_Ra_transponder_bn.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q110a_Beacon_tower.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q80_Beacon.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q21a_Can_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/D26_2_SafeVertClearance.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q24_Spar_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/D15_Embankment.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q23a_Pillar_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K11b_Rock_uncovers.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q130_4_Isolated_danger_mark.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/ospare01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | --New function and file at 11.2 (06June2023)
17 | function ospare01(feature, context, symbology)
18 | local collection = symbology.collections[1]
19 | collection:add_symbology_instruction({type='ComplexLine', Name='N1_Limit_general.svg'})
20 |
21 | end
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q20a_Conical_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/sounding.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | require 'symbolize_depth'
17 |
18 | function sounding(feature, context, symbology)
19 | local depth = tonumber(feature.attributes.Depth)
20 |
21 | if(depth == nil) then
22 | return true
23 | end
24 |
25 | pre_symbolize_depth(feature, depth, symbology)
26 |
27 | return true
28 | end
29 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E27_Flagpole.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E20_Tower.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E17_Mosque.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/N2_2_EntryProhibitedPoint.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/N2_2_EntryProhibitedPoint.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/S5_Radar_conspicuous.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/utilities.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | function contains(value, array)
17 | if type(value) == 'table' then
18 | for i = 1, #array do
19 | if value[array[i]] then
20 | return true
21 | end
22 | end
23 | else
24 | for i = 1, #array do
25 | if array[i] == value then
26 | return true
27 | end
28 | end
29 | end
30 |
31 | return false
32 | end
33 |
34 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/R1_Fog_signal.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q110b_Beacon_tower.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q23b_Pillar_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/L16_Tanker_mooring.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/buaare01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | --LANDA;brown;0.3500;0.3900;50.000;244;232;193;0.455222
16 | --LANDF;brown;0.4500;0.4200;15.000;154;111; 55;0.289818
17 | -- runs during scenc build, don't expect to change based on display settings
18 |
19 | function buaare01(feature, context, symbology)
20 | local collection = symbology.collections[1]
21 | collection:add_symbology_instruction({type="AreaFill", color='#efd8a3', transparency=0})
22 | end
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/obstnare01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | --New function and file at 11.2 (06June2023)
17 | function obstnare01(feature, context, symbology)
18 | local collection = symbology.collections[1]
19 | collection:add_symbology_instruction({type="AreaFill", color='#d1deef', transparency=0}) -- fill color matches shallow water tint 1 in depare01.lua
20 | collection:add_symbology_instruction({type="SimpleLine", color='#4B4B4B', style='DOT', width=.32})
21 |
22 | end
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E22_Chimney.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/F10_Fishing_harbor.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q21b_Can_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/F11_2_Yacht_berths.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E23_Flare_stack.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K1_Obstruction4mm_InDepthRange.svg:
--------------------------------------------------------------------------------
1 |
2 |
24 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q25a_Barrel_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q130_5_Safe_water_mark.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q23c_Pillar_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E26_1_Wind_turbine.svg:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/sbdare01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | function sbdare01(feature, context, symbology)
17 | local collection = symbology.collections[1]
18 |
19 | local natsur = feature.attributes:get_list_attribute('NATSUR')
20 | local watlev = tonumber(feature.attributes.WATLEV)
21 | if contains(natsur, {9,11,14}) and watlev == 4 then
22 | collection:add_symbology_instruction({type='ComplexLine', Name='rock_ledge.svg'})
23 | collection.RemoveSymbols = true
24 | collection.DisplayPriority = 5
25 | collection.DisplaySubPriority = 1
26 | end
27 |
28 | return true
29 | end
30 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q92_Withy_port.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q92_Withy_starboard.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/convyr02.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | function convyr02(feature, context, symbology)
16 | local collection = symbology.collections[1]
17 |
18 | local verclr = feature.attributes.VERCLR
19 |
20 | if(verclr == nil) then
21 | return true
22 | end
23 |
24 | local collection = symbology.collections[1]
25 | local arguments = {label='VERCLR', value=verclr, xoffset=1, yoffset=0}
26 | collection:add_symbology_instruction({type="ConditionalSymbologyProcedure", postExecute='vertical_clearance', arguments=arguments})
27 |
28 | collection.RemoveText = true
29 |
30 | return true
31 | end
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/pipsol01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | function set(...)
17 | local ret = {}
18 | for _,k in ipairs({...}) do ret[k] = true end
19 | return ret
20 | end
21 |
22 | function pipsol01(feature, context, symbology)
23 | local collection = symbology.collections[1]
24 |
25 | local catpip = tonumber(feature.attributes.CATPIP)
26 | if set(2,3,4)[catpip] then
27 | collection:add_symbology_instruction({type='ComplexLine', Name='L41_pipeline_outfall_intake.svg'})
28 | else
29 | collection:add_symbology_instruction({type='ComplexLine', Name='L40_pipeline_supply.svg'})
30 | end
31 |
32 | return true
33 | end
34 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/C3_Cliffs.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q20b_Conical_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q30_Light_float.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q31_Light_float.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E31_Dish_aerial.svg:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K12a_Rock_awash.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/fairwy01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | --New at 11.4
16 | function fairwy01(feature, context, symbology)
17 | local collection = symbology.collections[1]
18 | collection:add_symbology_instruction({type = 'ComplexLine', Name = 'N1_1_RecommendedTrack.svg'})
19 |
20 | local params =
21 | {
22 | type='Text',
23 | hjust='center',
24 | vjust='center',
25 | fontSize=7,
26 | xoffset=3,
27 | yoffset=-3,
28 | color='CHBLK',
29 | textGroup=100,
30 | rotateWithFeature = true,
31 | }
32 | params.text = feature.attributes.OBJNAM
33 | collection:add_symbology_instruction(params)
34 |
35 | return true
36 | end
37 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/L31_1_PowerCable.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/C31_5_Nipa_palm.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q111_Lattice_beacon.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q130_5_Closed_safe_water_mark.svg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/F11_1_Boat_harbor.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K12a_Rock_awash2mm.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/roadwy01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | function set(...)
17 | local ret = {}
18 | for _,k in ipairs({...}) do ret[k] = true end
19 | return ret
20 | end
21 |
22 | function roadwy01(feature, context, symbology)
23 | local collection = symbology.collections[1]
24 |
25 | local catrod = tonumber(feature.attributes.CATROD)
26 | if set(1,2,3)[catrod] then
27 | collection:add_symbology_instruction({type='ComplexLine', Name='D11_Roadway.svg'})
28 | elseif catrod == 4 then
29 | collection:add_symbology_instruction({type="SimpleLine", color='black', style='DASH', width=.2})
30 | else
31 | collection:add_symbology_instruction({type="ComplexLine", Name='D11_Roadway.svg'})
32 | end
33 |
34 | return true
35 | end
36 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K1_Obstruction4mm_shoal.svg:
--------------------------------------------------------------------------------
1 |
2 |
25 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/N21_1_Fishing_ProhibitedPoint.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/N21_1_Fishing_ProhibitedPoint.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K1_Obstruction6mm_InDepthRange.svg:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q40a_Mooring_buoy.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/C31_7_Filao.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/coalne01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | require 'quapos01'
16 |
17 | function coalne01(feature, context, symbology)
18 | local prim = feature.prim
19 | local collection = symbology.collections[1]
20 | local catcoa = tonumber(feature.attributes.CATCOA) or 0
21 |
22 | -- if the feature is line
23 | if prim == 2 then
24 | -- if CATCOA value is 6,7,8 or 10, symbolize line segment LS(DASH,1,CSTLN) (see COALNE part in lsymref.dic)
25 | if catcoa == 6 or catcoa == 7 or catcoa == 8 or catcoa == 10 then
26 | collection:add_symbology_instruction({type="SimpleLine", color='CSTLN', style='DASH', width=.32})
27 | -- if CATCOA doesn't euqal to 6,7,8 or 10, call quapos01
28 | else
29 | return quapos01(feature, context, symbology)
30 | end
31 | end
32 |
33 | return true
34 | end
35 |
36 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q25b_Barrel_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E10_Church.svg:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q32_Light_vessel.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E28_Radio_mast.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/navlne01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | --New at 11.4
17 |
18 | function navlne01(feature, context, symbology)
19 | local collection = symbology.collections[1]
20 | local orient = tostring(feature.attributes.ORIENT)
21 | collection:add_symbology_instruction({type="ComplexLine", Name="M1_NavigationLine.svg"})
22 |
23 | collection.RemoveSymbols = true
24 |
25 |
26 | local params =
27 | {
28 | type='Text',
29 | hjust='right',
30 | vjust='baseline',
31 | fontName='Arial',
32 | fontWeight='medium',
33 | fontSize=10,
34 | xoffset=0,
35 | yoffset=-1,
36 | color='CHBLK',
37 | textGroup=20,
38 | rotateWithFeature=true,
39 | }
40 | params.text = orient..'�'
41 |
42 | collection:add_symbology_instruction(params)
43 | collection.RemoveText = true
44 |
45 |
46 | return true
47 | end
48 |
49 |
50 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K1_Obstruction4mm_InDepthRangeWk.svg:
--------------------------------------------------------------------------------
1 |
2 |
24 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/cblohd02.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | local function IsNone(value) -- June2023 add function
16 | return (value == nil or #value == 0)
17 | end
18 |
19 | function cblohd02(feature, context, symbology)
20 | local collection = symbology.collections[1]
21 |
22 | local vercsa = feature.attributes.VERCSA
23 | local verclr = feature.attributes.VERCLR
24 |
25 | local arguments = {}
26 |
27 |
28 |
29 | if not IsNone(verclr) then --June2023 fix nil error message. Only verclr would symbolize.
30 | arguments = {label='VERCLR', value=feature.attributes.VERCLR, xoffset=1, yoffset=0}
31 | elseif vercsa then
32 | arguments = {label='VERCSA', value=feature.attributes.VERCSA, xoffset=1, yoffset=0}
33 | end
34 |
35 | if arguments then
36 | collection:add_symbology_instruction({type="ConditionalSymbologyProcedure", postExecute='vertical_clearance', arguments=arguments})
37 | end
38 |
39 | collection.RemoveText = true
40 |
41 | return true
42 | end
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/dynamic_light_string.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | require 'unit_conversion'
16 |
17 | function dynamic_light_string(arguments, context, symbology)
18 | local params = arguments['params']
19 | local height = tonumber(arguments['height']) or 0
20 |
21 | local collection = symbology.collections[1]
22 |
23 | local units = Units(height, Units.meters)
24 | local format = params.text
25 |
26 | if context.depth_units ~= 1 then
27 | height = math.floor(units:get_value(Units.feet) + .5) -- convert meters to feet
28 | format = '%dft'
29 | else
30 | format = '%dm'
31 | end
32 |
33 | height = math.floor(height + .5)
34 | local height_string = string.format(format, height)
35 | if(height == 0) then
36 | height_string = ''
37 | end
38 |
39 | Debug.log(params.text .. ' ' .. height_string)
40 |
41 | params.text = string.format(params.text, height_string)
42 |
43 | collection:add_symbology_instruction(params)
44 |
45 | return true
46 | end
47 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K1_Obstruction6mm_shoal.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q22a_Spherical_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/cblsub02.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | function cblsub02(feature, context, symbology)
16 | local collection = symbology.collections[1]
17 | local status = feature.attributes:get_list_attribute('STATUS') --list attribute
18 | local catcbl = tonumber(feature.attributes.CATCBL) --enumerated attribute
19 |
20 |
21 | if contains(status,{4}) then --Disused Submerged Cable, Abandoned
22 | collection:add_symbology_instruction({type="ComplexLine", Name='L32_DisusedCable.svg'})
23 |
24 | elseif contains(catcbl, {1}) then -- power cable, comment out these two lines to use L30_Cable.svg
25 | collection:add_symbology_instruction({type="ComplexLine", Name='L31_1_PowerCable.svg'})
26 |
27 | elseif contains(catcbl, {6}) then -- mooring cable
28 | collection:add_symbology_instruction({type="SimpleLine", color='#db4996', style='DASH', width=.16})
29 |
30 | else --Submerged Cable (Default)
31 | collection:add_symbology_instruction({type="ComplexLine", Name='L30_Cable.svg'})
32 |
33 | end
34 |
35 | return true
36 | end
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E24_Monument.svg:
--------------------------------------------------------------------------------
1 |
2 |
13 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/slotop01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | function set(...)
17 | local ret = {}
18 | for _,k in ipairs({...}) do ret[k] = true end
19 | return ret
20 | end
21 |
22 | function slotop01(feature, context, symbology)
23 | local collection = symbology.collections[1]
24 |
25 | --local catslo = feature.attributes:get_list_attribute('CATSLO')
26 | local catslo = tonumber(feature.attributes.CATSLO)
27 | if set(4,5,6)[catslo] then
28 | collection:add_symbology_instruction({type='ComplexLine', Name='C3_Cliffs.svg'})
29 | elseif catslo == 1 then
30 | collection:add_symbology_instruction({type='ComplexLine', Name='D14_Cutting.svg'})
31 | elseif catslo == 2 then
32 | collection:add_symbology_instruction({type='ComplexLine', Name='D15_Embankment.svg'})
33 | elseif catslo == 3 then
34 | collection:add_symbology_instruction({type='ComplexLine', Name='C8_Dunes.svg'})
35 | elseif catslo == 7 then
36 | collection:add_symbology_instruction({type='ComplexLine', Name='Scree.svg'})
37 |
38 | end
39 |
40 | return true
41 | end
42 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/depare03.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | function depare03(feature, context, symbology)
16 | local collection = symbology.collections[1]
17 |
18 | local arguments = {DRVAL1=feature.attributes.DRVAL1, DRVAL2=feature.attributes.DRVAL2}
19 | collection:add_symbology_instruction({type="ConditionalSymbologyProcedure", postExecute='depare01',arguments=arguments})
20 | -- DRGARE script is moved to drgare02.lua, therefore the instruction below is commented out
21 | -- if(feature.acronym == 'DRGARE') then
22 | -- --collection:add_symbology_instruction({type="AreaPattern", PatternName='DRGARE01'})
23 | -- collection:add_symbology_instruction({type="SimpleLine", color='CHBLK', style='DASH', width=.32})
24 | -- end
25 |
26 | if(feature.low_accuracy) then
27 | collection:add_symbology_instruction({type="SimpleLine", color='DEPSC', style='DASH', width=.64, paint='LOWACC,SAFCON'})
28 | end
29 |
30 | collection:add_symbology_instruction({type="SimpleLine", color='DEPSC', style='SOLID', width=.64, paint='HIGHACC,SAFCON'})
31 |
32 | return true
33 | end
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/P63_Flood_light.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/N1_Limit_general.svg:
--------------------------------------------------------------------------------
1 |
2 |
50 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q22c_Spherical_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K1_Obstruction4mm_DryWk.svg:
--------------------------------------------------------------------------------
1 |
2 |
25 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K1_Obstruction4mm_shoalWk.svg:
--------------------------------------------------------------------------------
1 |
2 |
25 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/N21_NoFishing.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K10_LandPoint.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K27_SweptDepth.svg:
--------------------------------------------------------------------------------
1 |
2 |
48 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/L40_pipeline_supply.svg:
--------------------------------------------------------------------------------
1 |
2 |
55 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K30_Wreck_safe_clearance.svg:
--------------------------------------------------------------------------------
1 |
22 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/L41_pipeline_outfall_intake.svg:
--------------------------------------------------------------------------------
1 |
2 |
55 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K21_Wreck_uncovers.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/C31_1_Deciduous_tree.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q42_Ground_tackle.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/N10_Reported_anchorage.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/E29_Radio_tower.svg:
--------------------------------------------------------------------------------
1 |
2 |
13 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q22b_Spherical_buoy.svg:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K1_Obstruction6mm_shoal_wiredrag.svg:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/rectrc01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | --New at 11.4
17 | function rectrc01(feature, context, symbology)
18 | local collection = symbology.collections[1]
19 |
20 | local cattrk = tonumber(feature.attributes.CATTRK)
21 | local trafic = tonumber(feature.attributes.TRAFIC)
22 | local orient = tostring(feature.attributes.ORIENT)
23 |
24 | if(orient == nil) then
25 | return true
26 | end
27 |
28 | if cattrk == 2 and trafic == 4 then
29 | collection:add_symbology_instruction({type = 'ComplexLine', Name = 'M4_RecommendedTrack2.svg'})
30 | elseif cattrk == 2 then
31 | collection:add_symbology_instruction({type = 'ComplexLine', Name = 'M4_RecommendedTrack1.svg'})
32 | else
33 | collection:add_symbology_instruction({type="SimpleLine", color='black', style='SOLID', width=.20})
34 | end
35 |
36 |
37 | local params =
38 | {
39 | type='Text',
40 | hjust='center',
41 | vjust='top',
42 | fontName='Arial',
43 | fontWeight='medium',
44 | fontSize=10,
45 | xoffset=0,
46 | yoffset=-1,
47 | color='black',
48 | textGroup=20,
49 | rotateWithFeature=true,
50 | }
51 | params.text= orient..'�'
52 |
53 | collection:add_symbology_instruction(params)
54 | collection.RemoveText = true
55 |
56 | return true
57 | end
58 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/C31_4_Palm_Tree.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/bridge02.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | function bridge02(feature, context, symbology)
16 | local collection = symbology.collections[1]
17 |
18 | local catbrg = feature.attributes:get_list_attribute('CATBRG')
19 | if contains(catbrg, {2,3,4,5,7,8}) then
20 | local arguments = {label='VERCCL', value=feature.attributes.VERCCL, xoffset=1, yoffset=0}
21 | collection:add_symbology_instruction({type="ConditionalSymbologyProcedure", postExecute='vertical_clearance', arguments=arguments})
22 | local arguments = {label='VERCOP', value=feature.attributes.VERCOP, xoffset=1, yoffset=1}
23 | collection:add_symbology_instruction({type="ConditionalSymbologyProcedure", postExecute='vertical_clearance', arguments=arguments})
24 | else
25 | local params =
26 | {
27 | type='Text',
28 | fontName='HelveticaNeueLT Pro 55 Roman',
29 | fontWeight='medium',
30 | fontSize=10,
31 | color='black',
32 | hjust='left',
33 | vjust='bottom',
34 | xoffset=1,
35 | yoffset=0,
36 | textGroup=21,
37 | text=feature.attributes.OBJNAM
38 | }
39 | collection:add_symbology_instruction(params)
40 |
41 | local arguments = {label='VERCLR', value=feature.attributes.VERCLR, xoffset=1, yoffset=1}
42 | collection:add_symbology_instruction({type="ConditionalSymbologyProcedure", postExecute='vertical_clearance', arguments=arguments})
43 | end
44 |
45 | collection.RemoveText = true
46 |
47 | return true
48 | end
49 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/C31_8_Eucalypt.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K13b_Dangerous_underwater_rk.svg:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/unit_conversion.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | Units =
17 | {
18 | meters = 1,
19 | millimeters = 2,
20 | inches = 3,
21 | feet = 4,
22 | yards = 5,
23 | fathoms = 6,
24 | kilometers = 7,
25 | statute_miles = 8,
26 | nautical_miles = 9,
27 | degrees = 10,
28 | S52_display_units = 11,
29 | points = 12,
30 | pixels = 13,
31 | factors =
32 | {
33 | 1.0, -- meters
34 | 1000.0, -- millimeters
35 | 39.37007874015748031496062992126, -- inches
36 | 3.2808399, -- feet
37 | 1.09361, -- yards
38 | 0.546806649, -- fathoms
39 | 0.001, -- kilometers
40 | 0.000621371, -- statute miles
41 | 0.000539957, -- nautical miles
42 | 8.9831528411952143512750125646572e-6, -- degrees in WGS-84 meters
43 | 100000.0, -- S52 display units (.01 millimeters)
44 | 2834.6438836888921644773767071643, -- points
45 | 3779.5275590551185863971727943456 -- pixels (@ 96 dpi)
46 | }
47 | }
48 |
49 | Units.__index = Units
50 |
51 | setmetatable(Units, {
52 | __call = function (cls, ...)
53 | return cls.new(...)
54 | end,
55 | })
56 |
57 | function Units.new(...)
58 | local self = setmetatable({}, Units)
59 | self:set_value(...)
60 | return self
61 | end
62 |
63 | -- the : syntax here causes a "self" arg to be implicitly added before any other args
64 | function Units:set_value(newval, type)
65 | self.value = 0
66 | if newval then
67 | self.value = newval / Units.factors[type or Units.meters]
68 | end
69 | end
70 |
71 | function Units:get_value(type)
72 | return self.value * Units.factors[type or Units.meters]
73 | end
74 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/Q100_cairn.svg:
--------------------------------------------------------------------------------
1 |
2 |
14 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K25_Wreck_danger_no_depth.svg:
--------------------------------------------------------------------------------
1 |
24 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K1_Obstruction4mm_shoal_wiredrag.svg:
--------------------------------------------------------------------------------
1 |
25 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/C31_3_Conifer_tree.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/swpare01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | require 'unit_conversion'
17 |
18 | function swpare01(feature, context, symbology)
19 | local depth = tonumber(feature.attributes.DRVAL1)
20 |
21 | if(depth == nil) then
22 | return true
23 | end
24 |
25 | local collection = symbology.collections[1]
26 |
27 | local arguments = {depth=depth}
28 |
29 | collection:add_symbology_instruction({type='Symbol', Name='K2_SweptDepth_magenta.svg'})
30 | collection:add_symbology_instruction({type="SimpleLine", color='#db4996', style='DASH', width=.32})
31 | collection:add_symbology_instruction({type="ConditionalSymbologyProcedure", postExecute='swpare01:post_symbolize', arguments=arguments})
32 |
33 | collection.RemoveText = true
34 |
35 | return true
36 |
37 | end
38 |
39 | function post_symbolize(arguments, context, symbology)
40 | local depth = arguments['depth']
41 |
42 | local collection = symbology.collections[1]
43 |
44 | local params =
45 | {
46 | type='Text',
47 | fontSize=9,
48 | fontWeight='italic',
49 | color='#db4996',
50 | hjust='right',
51 | vjust='baseline',
52 | xoffset=1,
53 | yoffset=0,
54 | textGroup=20,
55 | }
56 |
57 | --local text = 'Swept to '
58 | local units = Units(depth, Units.meters)
59 | local format = '%4.1f'
60 |
61 | if context.depth_units == 2 then -- feet
62 | depth = math.floor(units:get_value(Units.feet)) -- convert meters to feet and trucate fractional portion
63 | format = '%d ft'
64 | elseif context.depth_units == 3 then -- fathoms
65 | depth = units:get_value(Units.fathoms)
66 | format = '%4.1f fm'
67 | end
68 |
69 | params.text = string.format('Swept to'..format, depth)
70 |
71 | collection:add_symbology_instruction(params)
72 |
73 | return true
74 | end
75 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/quapos01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | -- Conditional Symbology Procedure QUAPOS01
17 | -- It applies to (1) S-57 Object Class "land area" (LNDARE), as point and line (2) S-57 Object Class coast line” (COALNE), line only
18 | function quapos01(feature, context, symbology)
19 | local collection = symbology.collections[1]
20 |
21 | -- if the feature is point, check if it is low-accuracy feature. If it is, draw the low accuracy symbol 'LOWACC01' in the viewing group 31011 (see QUAPNT02)
22 | if feature.prim == 1 then
23 | if feature.low_accuracy then
24 | local collection2 = symbology:add_symbology_collection({ViewGroup=31011, DisplayPriority=collection.DisplayPriority, DisplayCategory=collection.DisplayCategory})
25 | collection2:add_symbology_instruction({type='Symbol', Name='LOWACC01'})
26 | end
27 | -- if the feature is not point, follow the precedures of QUALIN01
28 | else
29 | -- if it is low-accuracy feature, symbolize line segment LC(LOWACC21)
30 | if feature.low_accuracy then
31 | collection:add_symbology_instruction({type='ComplexLine', Name='LOWACC21', paint='LOWACC'})
32 | end
33 |
34 | -- if it is COALNE object
35 | if feature.acronym == 'COALNE' then
36 | local conrad = tonumber(feature.attributes.CONRAD) or 0
37 | -- if it has CONRAD value and if the value is 1, symbolize line segment LS(SOLD, 3, CHMGF)
38 | if conrad == 1 then
39 | collection:add_symbology_instruction({type="SimpleLine", color='CHMGF', style='SOLID', width=.96, paint='HIGHACC'})
40 | end
41 | end
42 | -- symbolize line segment LS(SOLD, 1, CSTLN)
43 | collection:add_symbology_instruction({type="SimpleLine", color='CSTLN', style='SOLID', width=.32, paint='HIGHACC'})
44 | end
45 | collection.RemoveSymbols = true
46 | collection.RemoveCSPs = true
47 | return true
48 | end
49 |
50 |
51 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/K11a_Rock_uncovers.svg:
--------------------------------------------------------------------------------
1 |
27 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/point/P64_Strip_light.svg:
--------------------------------------------------------------------------------
1 |
2 |
68 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/D11_Roadway.svg:
--------------------------------------------------------------------------------
1 |
2 |
71 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/lndare01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | require 'quapos01'
16 |
17 | function lndare01(feature, context, symbology)
18 | local collection = symbology.collections[1]
19 | -- if the feature is point, SY(LNDARE01) and TX(OBJNAM,1,2,2,'15110',0,1,CHBLK,26); CS(QUAPOS01) (see LNDARE part in psymrefs.dic)
20 | -- here we changed the symbol to K10_LandPoint.svg
21 | if feature.prim == 1 then
22 | collection:add_symbology_instruction({type='Symbol', Name='K10_LandPoint.svg'})
23 | local params =
24 | {
25 | type='Text',
26 | hjust='center',
27 | vjust='center',
28 | fontSize=10,
29 | xoffset=0,
30 | yoffset=1,
31 | color='CHBLK',
32 | textGroup=26,
33 | }
34 | params.text = feature.attributes.OBJNAM
35 | collection:add_symbology_instruction(params)
36 | return quapos01(feature, context, symbology)
37 | -- if the feature is line, CS(QUAPOS01);TX(OBJNAM,1,1,2,'15110',0,1,CHBLK,26) (see LNDARE part in lsymref.dic)
38 | elseif feature.prim == 2 then
39 | quapos01(feature, context, symbology)
40 | local params =
41 | {
42 | type='Text',
43 | hjust='center',
44 | vjust='bottom',
45 | fontSize=10,
46 | xoffset=0,
47 | yoffset=1,
48 | color='CHBLK',
49 | textGroup=26,
50 | }
51 | params.text = feature.attributes.OBJNAM
52 | collection:add_symbology_instruction(params)
53 | -- if the feature is area, AC(LANDA);TX(OBJNAM,1,2,3,'15110',-1,-1,CHBLK,26) (see LNDARE part in asymrefpb.dic)
54 | -- here we changed the color from LANDA to #f4e8c1
55 | else
56 | collection:add_symbology_instruction({type="AreaFill", color='#f4e8c1', transparency=0})
57 | local params =
58 | {
59 | type='Text',
60 | hjust='center',
61 | vjust='center',
62 | fontSize=10,
63 | xoffset=-1,
64 | yoffset=-1,
65 | color='CHBLK',
66 | textGroup=26,
67 | }
68 | params.text = feature.attributes.OBJNAM
69 | collection:add_symbology_instruction(params)
70 | end
71 |
72 | collection.RemoveText = true
73 | collection.RemoveSymbols = true
74 |
75 | return true
76 | end
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/vertical_clearance.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 |
16 | function vertical_clearance(arguments, context, symbology)
17 | local label = arguments['label']
18 | local value = tonumber(arguments['value'])
19 | local xo = arguments['xoffset']
20 | local yo = arguments['yoffset']
21 |
22 | if(value == nil) then
23 | return true
24 | end
25 |
26 | local format = '%4.1f'
27 | if context.depth_units ~= 1 then
28 | value = math.floor(value * 3.2808399) -- convert meters to feet and truncate fractional portion
29 | format = '%d ft'
30 | end
31 |
32 | local params = {type='Text',color='', textGroup=11, xoffset=2, yoffset=1, linked=false}--offsets changed from x and y = 0 linked is false to separate the object name text from the vertical clearance text instruction. Update 11.2 patch1.
33 |
34 | local collection = symbology.collections[1]
35 |
36 | if label == 'VERCLR' then
37 | collection:add_symbology_instruction({type='Symbol', xoffset=2, yoffset=1, Name='D22_Vert_clr.svg'})
38 | params.text = string.format(format,value)
39 | collection:add_symbology_instruction(params)
40 | elseif label == 'VERCOP' then
41 | collection:add_symbology_instruction({type='Symbol', Name='D22_Vert_clr.svg'})
42 | params.text = string.format(format, value)--edit from 'clr op '
43 | collection:add_symbology_instruction(params)
44 | elseif label == 'VERCCL' then
45 | collection:add_symbology_instruction({type='Symbol', Name='D22_Vert_clr.svg'})
46 | params.text = string.format(format, value) --edit from 'clr cl'
47 | collection:add_symbology_instruction(params)
48 | elseif label == 'VERCSA' then
49 | local params = {type='Text',color='#db4996', textGroup=11, xoffset=2, yoffset=1}-- Safe vertical clearance magenta text
50 | collection:add_symbology_instruction({type='Symbol', Name='D26_2_SafeVertClearance.svg'})
51 | params.text = string.format(format, value)
52 | collection:add_symbology_instruction(params)
53 | elseif label == 'HORCLR' then
54 | params.text = string.format('hor clr ' .. format, value)
55 | end
56 |
57 | return true
58 | end
59 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/rock_ledge.svg:
--------------------------------------------------------------------------------
1 |
2 |
67 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/lndelv01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | require 'unit_conversion'
16 |
17 | function lndelv01(feature, context, symbology)
18 | local elevation = tonumber(feature.attributes.ELEVAT)
19 |
20 | if(elevation == nil) then
21 | return true
22 | end
23 |
24 | local collection = symbology.collections[1]
25 |
26 | local arguments = {elevation=elevation}
27 | collection:add_symbology_instruction({type="ConditionalSymbologyProcedure", postExecute='lndelv01:post_symbolize', arguments=arguments})
28 |
29 | collection.RemoveText = true
30 |
31 | return true
32 | end
33 |
34 | function post_symbolize(arguments, context, symbology)
35 | local elevation = arguments['elevation']
36 |
37 | local collection = symbology.collections[1]
38 |
39 | local params = --Modifed hjust, vjust, xoffset, yoffset at 11.2
40 | {
41 | type='Text',
42 | fontSize=7,
43 | color='CHBLK',
44 | hjust='right',
45 | vjust='center',
46 | xoffset=-1,
47 | yoffset=0,
48 | textGroup=28,
49 | }
50 |
51 | local units = Units(elevation, Units.meters)
52 | local format = '%4.1f m'
53 |
54 | if context.depth_units ~= 1 then
55 | elevation = math.ceil(units:get_value(Units.feet)) -- convert meters to feet rounded to next higher foot and trucate fractional portion
56 | format = '%d ft'
57 | end
58 |
59 | params.text = string.format(format, elevation)
60 |
61 | collection:add_symbology_instruction(params)
62 |
63 | return true
64 | end
65 | --New function at 11.2 for land elevation contours from s-52 brown to black
66 | --New at 11.4 land contour elevation label with text rotation.
67 | function lndelv02(feature, context, symbology)
68 | local elevat = feature.attributes.ELEVAT
69 | local collection = symbology.collections[1]
70 | collection:add_symbology_instruction({type="SimpleLine", color='black', style='SOLID', width=.2})
71 |
72 | if (elevat == nil) then return true end
73 |
74 | local label = {
75 | type = 'Text',
76 | hjust = 'center',
77 | vjust = 'center',
78 | xoffset = 0,
79 | yoffset = 0,
80 | linked = true,
81 | fontSize = 7,
82 | haloColor = '#f4e8c1',
83 | rotateWithFeature=true,
84 | }
85 | label.text = elevat
86 |
87 | collection:add_symbology_instruction(label)
88 |
89 | return true
90 | end
--------------------------------------------------------------------------------
/CustomPresentationLibrary/lua/depare01.lua:
--------------------------------------------------------------------------------
1 | --[[ * Copyright 2023 Esri
2 | *
3 | * Licensed under the Apache License Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | * ]]
15 | -- DEPDW;white;0.2800;0.3100;80.000;255;255;255;0.292854
16 | -- DEPMD;pale_blue;0.2600;0.2900;65.000;255;255;255;0.287164
17 | -- DEPMS;light_blue;0.2300;0.2500;55.000;221;235;247;0.664280
18 | -- DEPVS;medium_blue;0.2100;0.2200;45.000;209;222;239;1.191311
19 | -- DEPIT;yellow-green;0.2600;0.3600;35.000;214;219;201;0.378606
20 |
21 |
22 | function depare01(arguments, context, symbology)
23 | local drval1 = tonumber(arguments['DRVAL1']) or -1.0
24 | local drval2 = tonumber(arguments['DRVAL2']) or drval1 + .01
25 |
26 |
27 | local two_shades = context.two_shades
28 | local shallow = true
29 |
30 | if two_shades then
31 | if drval1 < 0 then
32 | color = '#d6dbc9'
33 | elseif drval1 >= 0 and drval2 > 0 then
34 | color = '#d1deef' --'DEPVS' shallow water tint 1
35 | end
36 |
37 | local safety_contour = context.safety_contour
38 | if drval1 >= safety_contour and drval2 > safety_contour then
39 | color = '#ffffff' --'DEPDW' white background
40 | shallow = false
41 | end
42 | else
43 | if drval1 < 0 then
44 | color = '#d6dbc9' -- DEPIT Green foreshore
45 | elseif drval1 >= 0 and drval2 > 0 then
46 | color = '#d1deef' --'DEPVS' shallow water tint 1
47 | end
48 |
49 | local shallow_contour = context.shallow_contour
50 | if drval1 >= shallow_contour and drval2 > shallow_contour then
51 | color = '#ddebf7' --'DEPMS' shallow water tint 2
52 | end
53 |
54 | local safety_contour = context.safety_contour
55 | if drval1 >= safety_contour and drval2 > safety_contour then
56 | color = '#f5f5f5' -- white smoke
57 | shallow = false
58 | end
59 |
60 | deep_contour = context.deep_contour
61 | if drval1 >= deep_contour and drval2 > deep_contour then
62 | color = '#ffffff' --'DEPDW' white background
63 | shallow = false
64 | end
65 | end
66 |
67 | local collection = symbology.collections[1]
68 | collection:add_symbology_instruction({type="AreaFill", color=color, transparency=0})
69 |
70 | if shallow and context:getViewingGroupDisplay(23010) then
71 | collection = symbology:add_symbology_collection({ViewGroup=23010, DisplayPriority=3, DisplayCategory='STANDARD'})
72 | collection:add_symbology_instruction({type='AreaPattern', PatternName='DIAMOND1'})
73 | end
74 |
75 | return true
76 |
77 | end
78 |
79 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/N20_NoAnchor.svg:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/CustomPresentationLibrary/symbols/line/N21_1_Fishing_Prohibited.svg:
--------------------------------------------------------------------------------
1 |
30 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # nautical-chart-symbols
2 | Here are a set of simple samples that show you how to symbolize S-57 data with an INT1 chart-like view. Learn more [here](https://enterprise.arcgis.com/en/maritime/).
3 |
4 | Examples can be found at [Esri Hydrographic Office](https://esriho.maps.arcgis.com/home/index.html).
5 |
6 | ## Features
7 | Lua in Maritime Chart Service can do the following:
8 | * Reference SVG files to override point symbols or line patterns (simple and complex)
9 | * Override symbol instructions such as color, fill pattern, or transparency
10 | * Access view groups or display properties
11 | * Provide instructions to modify a text group's font name, size, weight, color, and offset
12 |
13 | ## Instructions
14 | The ServerConfiguration.xml file contains a CustomSymbology boolean to enable or disable display of custom symbology that overrides the default S-52 presentation library. When available, Maritime Chart Service references rules in the CustomSymbolMap.xml, Scalable Vector Graphic (SVG) symbols, and Lua scripts to provide a paper chart-like display of the S-57 data..
15 | 1. Fork and then clone the repo.
16 | 2. Configure your ArcGIS Maritime Chart Service. See online help.
17 | 3. Follow directions to enable Custom Symbology. See online help.
18 | 4. After setting custom symbology to true, you must rebuild the .senc files for the symbols to appear in your service.
19 |
20 | ## Requirements
21 |
22 | * ArcGIS Server for Windows
23 | * ArcGIS Maritime Chart Service extension 11.4 or newer.
24 | * Web browser with access to the Internet
25 |
26 | ## Resources
27 |
28 | * [ArcGIS Maritime server web help](https://enterprise.arcgis.com/en/maritime/)
29 | * [Esri Hydrographic Office](https://esriho.maps.arcgis.com/home/index.html)
30 | * [ArcGIS Maritime Community](https://community.esri.com/t5/arcgis-maritime/ct-p/arcgis-maritime)
31 | * [Maritime email](maritime@esri.com)
32 | * [twitter@esri](http://twitter.com/esri)
33 |
34 | ## Issues
35 |
36 | Find a bug or want to request a new feature? Please let us know by submitting an issue.
37 |
38 | ## Contributing
39 |
40 | Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing).
41 |
42 | ## Licensing
43 | Copyright 2023 Esri
44 |
45 | Licensed under the Apache License, Version 2.0 (the "License");
46 | you may not use this file except in compliance with the License.
47 | You may obtain a copy of the License at
48 |
49 | http://www.apache.org/licenses/LICENSE-2.0
50 |
51 | Unless required by applicable law or agreed to in writing, software
52 | distributed under the License is distributed on an "AS IS" BASIS,
53 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
54 | See the License for the specific language governing permissions and
55 | limitations under the License.
56 |
57 | A copy of the license is available in the repository's [license.txt](https://github.com/ArcGIS/nautical-chart-symbols/blob/main/license.txt)
58 |
--------------------------------------------------------------------------------