source: osm/applications/editors/josm/plugins/smed2/src/s57/S57obj.java@ 29049

Last change on this file since 29049 was 29049, checked in by malcolmh, 12 years ago

save

File size: 18.3 KB
Line 
1package s57;
2
3import java.util.EnumMap;
4
5public class S57obj {
6
7 public enum Obj {
8 UNKOBJ, ADMARE, AIRARE, ACHBRT, ACHARE, BCNCAR, BCNISD, BCNLAT, BCNSAW, BCNSPP, BERTHS, BRIDGE, BUISGL, BUAARE, BOYCAR, BOYINB,
9 BOYISD, BOYLAT, BOYSAW, BOYSPP, CBLARE, CBLOHD, CBLSUB, CANALS, CANBNK, CTSARE, CAUSWY, CTNARE, CHKPNT, CGUSTA, COALNE, CONZNE,
10 COSARE, CTRPNT, CONVYR, CRANES, CURENT, CUSZNE, DAMCON, DAYMAR, DWRTCL, DWRTPT, DEPARE, DEPCNT, DISMAR, DOCARE, DRGARE, DRYDOC,
11 DMPGRD, DYKCON, EXEZNE, FAIRWY, FNCLNE, FERYRT, FSHZNE, FSHFAC, FSHGRD, FLODOC, FOGSIG, FORSTC, FRPARE, GATCON, GRIDRN, HRBARE,
12 HRBFAC, HULKES, ICEARE, ICNARE, ISTZNE, LAKARE, LAKSHR, LNDARE, LNDELV, LNDRGN, LNDMRK, LIGHTS, LITFLT, LITVES, LOCMAG, LOKBSN,
13 LOGPON, MAGVAR, MARCUL, MIPARE, MORFAC, /*MPAARE,*/ NAVLNE, OBSTRN, OFSPLF, OSPARE, OILBAR, PILPNT, PILBOP, PIPARE, PIPOHD, PIPSOL, PONTON,
14 PRCARE, PRDARE, PYLONS, RADLNE, RADRNG, RADRFL, RADSTA, RTPBCN, RDOCAL, RDOSTA, RAILWY, RAPIDS, RCRTCL, RECTRC, RCTLPT, RSCSTA,
15 RESARE, RETRFL, RIVERS, RIVBNK, ROADWY, RUNWAY, SNDWAV, SEAARE, SPLARE, SBDARE, SLCONS, SISTAT, SISTAW, SILTNK, SLOTOP, SLOGRD,
16 SMCFAC, SOUNDG, SPRING, SQUARE, STSLNE, SUBTLN, SWPARE, TESARE, TS_PRH, TS_PNH, TS_PAD, TS_TIS, T_HMON, T_NHMN, T_TIMS, TIDEWY,
17 TOPMAR, TSELNE, TSSBND, TSSCRS, TSSLPT, TSSRON, TSEZNE, TUNNEL, TWRTPT, UWTROC, UNSARE, VEGATN, WATTUR, WATFAL, WEDKLP, WRECKS,
18 TS_FEB, M_ACCY, M_CSCL, M_COVR, M_HDAT, M_HOPA, M_NPUB, M_NSYS, M_PROD, M_QUAL, M_SDAT, M_SREL, M_UNIT, M_VDAT, C_AGGR, C_ASSO,
19 C_STAC, $AREAS, $LINES, $CSYMB, $COMPS, $TEXTS, NOTMRK, WTWAXS, WTWPRF, BRGARE, BUNSTA, COMARE, HRBBSN, LOKARE, LKBSPT, PRTARE,
20 BCNWTW, BOYWTW, REFDMP, RTPLPT, TERMNL, TRNBSN, WTWARE, WTWGAG, TISDGE, VEHTRF, EXCNST, LG_SDM, LG_VSP, LITMIN, LITMAJ
21 }
22
23 private static final EnumMap<Obj, Integer> ObjS57 = new EnumMap<Obj, Integer>(Obj.class);
24 static {
25 ObjS57.put(Obj.UNKOBJ,0); ObjS57.put(Obj.ADMARE,1); ObjS57.put(Obj.AIRARE,2); ObjS57.put(Obj.ACHBRT,3); ObjS57.put(Obj.ACHARE,4);
26 ObjS57.put(Obj.BCNCAR,5); ObjS57.put(Obj.BCNISD,6); ObjS57.put(Obj.BCNLAT,7); ObjS57.put(Obj.BCNSAW,8); ObjS57.put(Obj.BCNSPP,9);
27 ObjS57.put(Obj.BERTHS,10); ObjS57.put(Obj.BRIDGE,11); ObjS57.put(Obj.BUISGL,12); ObjS57.put(Obj.BUAARE,13); ObjS57.put(Obj.BOYCAR,14);
28 ObjS57.put(Obj.BOYINB,15); ObjS57.put(Obj.BOYISD,16); ObjS57.put(Obj.BOYLAT,17); ObjS57.put(Obj.BOYSAW,18); ObjS57.put(Obj.BOYSPP,19);
29 ObjS57.put(Obj.CBLARE,20); ObjS57.put(Obj.CBLOHD,21); ObjS57.put(Obj.CBLSUB,22); ObjS57.put(Obj.CANALS,23); ObjS57.put(Obj.CANBNK,24);
30 ObjS57.put(Obj.CTSARE,25); ObjS57.put(Obj.CAUSWY,26); ObjS57.put(Obj.CTNARE,27); ObjS57.put(Obj.CHKPNT,28); ObjS57.put(Obj.CGUSTA,29);
31 ObjS57.put(Obj.COALNE,30); ObjS57.put(Obj.CONZNE,31); ObjS57.put(Obj.COSARE,32); ObjS57.put(Obj.CTRPNT,33); ObjS57.put(Obj.CONVYR,34);
32 ObjS57.put(Obj.CRANES,35); ObjS57.put(Obj.CURENT,36); ObjS57.put(Obj.CUSZNE,37); ObjS57.put(Obj.DAMCON,38); ObjS57.put(Obj.DAYMAR,39);
33 ObjS57.put(Obj.DWRTCL,40); ObjS57.put(Obj.DWRTPT,41); ObjS57.put(Obj.DEPARE,42); ObjS57.put(Obj.DEPCNT,43); ObjS57.put(Obj.DISMAR,44);
34 ObjS57.put(Obj.DOCARE,45); ObjS57.put(Obj.DRGARE,46); ObjS57.put(Obj.DRYDOC,47); ObjS57.put(Obj.DMPGRD,48); ObjS57.put(Obj.DYKCON,49);
35 ObjS57.put(Obj.EXEZNE,50); ObjS57.put(Obj.FAIRWY,51); ObjS57.put(Obj.FNCLNE,52); ObjS57.put(Obj.FERYRT,53); ObjS57.put(Obj.FSHZNE,54);
36 ObjS57.put(Obj.FSHFAC,55); ObjS57.put(Obj.FSHGRD,56); ObjS57.put(Obj.FLODOC,57); ObjS57.put(Obj.FOGSIG,58); ObjS57.put(Obj.FORSTC,59);
37 ObjS57.put(Obj.FRPARE,60); ObjS57.put(Obj.GATCON,61); ObjS57.put(Obj.GRIDRN,62); ObjS57.put(Obj.HRBARE,63); ObjS57.put(Obj.HRBFAC,64);
38 ObjS57.put(Obj.HULKES,65); ObjS57.put(Obj.ICEARE,66); ObjS57.put(Obj.ICNARE,67); ObjS57.put(Obj.ISTZNE,68); ObjS57.put(Obj.LAKARE,69);
39 ObjS57.put(Obj.LAKSHR,70); ObjS57.put(Obj.LNDARE,71); ObjS57.put(Obj.LNDELV,72); ObjS57.put(Obj.LNDRGN,73); ObjS57.put(Obj.LNDMRK,74);
40 ObjS57.put(Obj.LIGHTS,75); ObjS57.put(Obj.LITFLT,76); ObjS57.put(Obj.LITVES,77); ObjS57.put(Obj.LOCMAG,78); ObjS57.put(Obj.LOKBSN,79);
41 ObjS57.put(Obj.LOGPON,80); ObjS57.put(Obj.MAGVAR,81); ObjS57.put(Obj.MARCUL,82); ObjS57.put(Obj.MIPARE,83); ObjS57.put(Obj.MORFAC,84);
42// ObjS57.put(Obj.MPAARE,?);
43 ObjS57.put(Obj.NAVLNE,85); ObjS57.put(Obj.OBSTRN,86); ObjS57.put(Obj.OFSPLF,87); ObjS57.put(Obj.OSPARE,88); ObjS57.put(Obj.OILBAR,89);
44 ObjS57.put(Obj.PILPNT,90); ObjS57.put(Obj.PILBOP,91); ObjS57.put(Obj.PIPARE,92); ObjS57.put(Obj.PIPOHD,93); ObjS57.put(Obj.PIPSOL,94);
45 ObjS57.put(Obj.PONTON,95); ObjS57.put(Obj.PRCARE,96); ObjS57.put(Obj.PRDARE,97); ObjS57.put(Obj.PYLONS,98); ObjS57.put(Obj.RADLNE,99);
46 ObjS57.put(Obj.RADRNG,100); ObjS57.put(Obj.RADRFL,101); ObjS57.put(Obj.RADSTA,102); ObjS57.put(Obj.RTPBCN,103); ObjS57.put(Obj.RDOCAL,104);
47 ObjS57.put(Obj.RDOSTA,105); ObjS57.put(Obj.RAILWY,106); ObjS57.put(Obj.RAPIDS,107); ObjS57.put(Obj.RCRTCL,108); ObjS57.put(Obj.RECTRC,109);
48 ObjS57.put(Obj.RCTLPT,110); ObjS57.put(Obj.RSCSTA,111); ObjS57.put(Obj.RESARE,112); ObjS57.put(Obj.RETRFL,113); ObjS57.put(Obj.RIVERS,114);
49 ObjS57.put(Obj.RIVBNK,115); ObjS57.put(Obj.ROADWY,116); ObjS57.put(Obj.RUNWAY,117); ObjS57.put(Obj.SNDWAV,118); ObjS57.put(Obj.SEAARE,119);
50 ObjS57.put(Obj.SPLARE,120); ObjS57.put(Obj.SBDARE,121); ObjS57.put(Obj.SLCONS,122); ObjS57.put(Obj.SISTAT,123); ObjS57.put(Obj.SISTAW,124);
51 ObjS57.put(Obj.SILTNK,125); ObjS57.put(Obj.SLOTOP,126); ObjS57.put(Obj.SLOGRD,127); ObjS57.put(Obj.SMCFAC,128); ObjS57.put(Obj.SOUNDG,129);
52 ObjS57.put(Obj.SPRING,130); ObjS57.put(Obj.SQUARE,131); ObjS57.put(Obj.STSLNE,132); ObjS57.put(Obj.SUBTLN,133); ObjS57.put(Obj.SWPARE,134);
53 ObjS57.put(Obj.TESARE,135); ObjS57.put(Obj.TS_PRH,136); ObjS57.put(Obj.TS_PNH,137); ObjS57.put(Obj.TS_PAD,138); ObjS57.put(Obj.TS_TIS,139);
54 ObjS57.put(Obj.T_HMON,140); ObjS57.put(Obj.T_NHMN,141); ObjS57.put(Obj.T_TIMS,142); ObjS57.put(Obj.TIDEWY,143); ObjS57.put(Obj.TOPMAR,144);
55 ObjS57.put(Obj.TSELNE,145); ObjS57.put(Obj.TSSBND,146); ObjS57.put(Obj.TSSCRS,147); ObjS57.put(Obj.TSSLPT,148); ObjS57.put(Obj.TSSRON,149);
56 ObjS57.put(Obj.TSEZNE,150); ObjS57.put(Obj.TUNNEL,151); ObjS57.put(Obj.TWRTPT,152); ObjS57.put(Obj.UWTROC,153); ObjS57.put(Obj.UNSARE,154);
57 ObjS57.put(Obj.VEGATN,155); ObjS57.put(Obj.WATTUR,156); ObjS57.put(Obj.WATFAL,157); ObjS57.put(Obj.WEDKLP,158); ObjS57.put(Obj.WRECKS,159);
58 ObjS57.put(Obj.TS_FEB,160); ObjS57.put(Obj.M_ACCY,300); ObjS57.put(Obj.M_CSCL,301); ObjS57.put(Obj.M_COVR,302); ObjS57.put(Obj.M_HDAT,303);
59 ObjS57.put(Obj.M_HOPA,304); ObjS57.put(Obj.M_NPUB,305); ObjS57.put(Obj.M_NSYS,306); ObjS57.put(Obj.M_PROD,307); ObjS57.put(Obj.M_QUAL,308);
60 ObjS57.put(Obj.M_SDAT,309); ObjS57.put(Obj.M_SREL,310); ObjS57.put(Obj.M_UNIT,311); ObjS57.put(Obj.M_VDAT,312); ObjS57.put(Obj.C_AGGR,400);
61 ObjS57.put(Obj.C_ASSO,401); ObjS57.put(Obj.C_STAC,402); ObjS57.put(Obj.$AREAS,500); ObjS57.put(Obj.$LINES,501); ObjS57.put(Obj.$CSYMB,502);
62 ObjS57.put(Obj.$COMPS,503); ObjS57.put(Obj.$TEXTS,504);
63 }
64 private static final EnumMap<Obj, Integer> ObjIENC = new EnumMap<Obj, Integer>(Obj.class);
65 static {
66 ObjIENC.put(Obj.UNKOBJ, 0); ObjIENC.put(Obj.ACHBRT, 17000); ObjIENC.put(Obj.ACHARE, 17001); ObjIENC.put(Obj.CANBNK, 17002); ObjIENC.put(Obj.DEPARE, 17003);
67 ObjIENC.put(Obj.DISMAR, 17004); ObjIENC.put(Obj.RESARE, 17005); ObjIENC.put(Obj.RIVBNK, 17006); ObjIENC.put(Obj.SISTAT, 17007); ObjIENC.put(Obj.SISTAW, 17008);
68 ObjIENC.put(Obj.TOPMAR, 17009); ObjIENC.put(Obj.BERTHS, 17010); ObjIENC.put(Obj.BRIDGE, 17011); ObjIENC.put(Obj.CBLOHD, 17012); ObjIENC.put(Obj.FERYRT, 17013);
69 ObjIENC.put(Obj.HRBARE, 17014); ObjIENC.put(Obj.HRBFAC, 17015); ObjIENC.put(Obj.LOKBSN, 17016); ObjIENC.put(Obj.RDOCAL, 17017); ObjIENC.put(Obj.M_NSYS, 17018);
70 ObjIENC.put(Obj.CURENT, 17019); ObjIENC.put(Obj.HULKES, 17020); ObjIENC.put(Obj.PONTON, 17021); ObjIENC.put(Obj.M_SDAT, 17022); ObjIENC.put(Obj.M_VDAT, 17023);
71 ObjIENC.put(Obj.PIPOHD, 17024); ObjIENC.put(Obj.FLODOC, 17025); ObjIENC.put(Obj.CHKPNT, 17027); ObjIENC.put(Obj.BCNLAT, 17028); ObjIENC.put(Obj.BOYLAT, 17029);
72 ObjIENC.put(Obj.CRANES, 17030); ObjIENC.put(Obj.GATCON, 17031); ObjIENC.put(Obj.SLCONS, 17032); ObjIENC.put(Obj.UWTROC, 17033); ObjIENC.put(Obj.CONVYR, 17034);
73 ObjIENC.put(Obj.NOTMRK, 17050); ObjIENC.put(Obj.WTWAXS, 17051); ObjIENC.put(Obj.WTWPRF, 17052); ObjIENC.put(Obj.BRGARE, 17053); ObjIENC.put(Obj.BUNSTA, 17054);
74 ObjIENC.put(Obj.COMARE, 17055); ObjIENC.put(Obj.HRBBSN, 17056); ObjIENC.put(Obj.LOKARE, 17057); ObjIENC.put(Obj.LKBSPT, 17058); ObjIENC.put(Obj.PRTARE, 17059);
75 ObjIENC.put(Obj.BCNWTW, 17060); ObjIENC.put(Obj.BOYWTW, 17061); ObjIENC.put(Obj.REFDMP, 17062); ObjIENC.put(Obj.RTPLPT, 17063); ObjIENC.put(Obj.TERMNL, 17064);
76 ObjIENC.put(Obj.TRNBSN, 17065); ObjIENC.put(Obj.WTWARE, 17066); ObjIENC.put(Obj.WTWGAG, 17067); ObjIENC.put(Obj.TISDGE, 17068); ObjIENC.put(Obj.VEHTRF, 17069);
77 ObjIENC.put(Obj.EXCNST, 17070); ObjIENC.put(Obj.LG_SDM, 18001); ObjIENC.put(Obj.LG_VSP, 18002);
78 }
79
80 private static final EnumMap<Obj, String> ObjSTR = new EnumMap<Obj, String>(Obj.class);
81 static {
82 ObjSTR.put(Obj.UNKOBJ, ""); ObjSTR.put(Obj.ADMARE, "administrative_area"); ObjSTR.put(Obj.AIRARE, "airfield"); ObjSTR.put(Obj.ACHBRT, "anchor_berth");
83 ObjSTR.put(Obj.ACHARE, "anchorage"); ObjSTR.put(Obj.BCNCAR, "beacon_cardinal"); ObjSTR.put(Obj.BCNISD, "beacon_isolated_danger");
84 ObjSTR.put(Obj.BCNLAT, "beacon_lateral"); ObjSTR.put(Obj.BCNSAW, "beacon_safe_water"); ObjSTR.put(Obj.BCNSPP, "beacon_special_purpose");
85 ObjSTR.put(Obj.BERTHS, "berth"); ObjSTR.put(Obj.BRIDGE, "bridge"); ObjSTR.put(Obj.BUISGL, "building"); ObjSTR.put(Obj.BUAARE, "built-up_area");
86 ObjSTR.put(Obj.BOYCAR, "buoy_cardinal"); ObjSTR.put(Obj.BOYINB, "buoy_installation"); ObjSTR.put(Obj.BOYISD, "buoy_isolated_danger");
87 ObjSTR.put(Obj.BOYLAT, "buoy_lateral"); ObjSTR.put(Obj.BOYSAW, "buoy_safe_water"); ObjSTR.put(Obj.BOYSPP, "buoy_special_purpose");
88 ObjSTR.put(Obj.CBLARE, "cable_area"); ObjSTR.put(Obj.CBLOHD, "cable_overhead"); ObjSTR.put(Obj.CBLSUB, "cable_submarine"); ObjSTR.put(Obj.CANALS, "canal");
89 ObjSTR.put(Obj.CANBNK, "canal_bank"); ObjSTR.put(Obj.CTSARE, "cargo_area"); ObjSTR.put(Obj.CAUSWY, "causeway"); ObjSTR.put(Obj.CTNARE, "caution_area");
90 ObjSTR.put(Obj.CHKPNT, "checkpoint"); ObjSTR.put(Obj.CGUSTA, "coastguard_station"); ObjSTR.put(Obj.COALNE, "coastline"); ObjSTR.put(Obj.CONZNE, "contiguous_zone");
91 ObjSTR.put(Obj.COSARE, "continental_shelf"); ObjSTR.put(Obj.CTRPNT, "control_point"); ObjSTR.put(Obj.CONVYR, "conveyor"); ObjSTR.put(Obj.CRANES, "crane");
92 ObjSTR.put(Obj.CURENT, "current"); ObjSTR.put(Obj.CUSZNE, "custom_zone"); ObjSTR.put(Obj.DAMCON, "dam"); ObjSTR.put(Obj.DAYMAR, "daymark");
93 ObjSTR.put(Obj.DWRTCL, "deep_water_route_centreline"); ObjSTR.put(Obj.DWRTPT, "deep_water_route"); ObjSTR.put(Obj.DEPARE, "depth_area");
94 ObjSTR.put(Obj.DEPCNT, "depth_contour"); ObjSTR.put(Obj.DISMAR, "distance_mark"); ObjSTR.put(Obj.DOCARE, "dock"); ObjSTR.put(Obj.DRGARE, "dredged_area");
95 ObjSTR.put(Obj.DRYDOC, "dry_dock"); ObjSTR.put(Obj.DMPGRD, "dumping_ground"); ObjSTR.put(Obj.DYKCON, "dyke"); ObjSTR.put(Obj.EXEZNE, "exclusive_economic_zone");
96 ObjSTR.put(Obj.FAIRWY, "fairway"); ObjSTR.put(Obj.FNCLNE, "wall"); ObjSTR.put(Obj.FERYRT, "ferry_route"); ObjSTR.put(Obj.FSHZNE, "fishery_zone");
97 ObjSTR.put(Obj.FSHFAC, "fishing_facility"); ObjSTR.put(Obj.FSHGRD, "fishing_ground"); ObjSTR.put(Obj.FLODOC, "floating_dock"); ObjSTR.put(Obj.FOGSIG, "fog_signal");
98 ObjSTR.put(Obj.FORSTC, "fortified_structure"); ObjSTR.put(Obj.FRPARE, "free_port_area"); ObjSTR.put(Obj.GATCON, "gate"); ObjSTR.put(Obj.GRIDRN, "gridiron");
99 ObjSTR.put(Obj.HRBARE, "harbour_area"); ObjSTR.put(Obj.HRBFAC, "harbour"); ObjSTR.put(Obj.HULKES, "hulk"); ObjSTR.put(Obj.ICEARE, "ice_area");
100 ObjSTR.put(Obj.ICNARE, "incineration_zone"); ObjSTR.put(Obj.ISTZNE, "inshore_traffic_zone"); ObjSTR.put(Obj.LAKARE, "lake"); ObjSTR.put(Obj.LAKSHR, "lake_shore");
101 ObjSTR.put(Obj.LNDARE, "land_area"); ObjSTR.put(Obj.LNDELV, "land_elevation"); ObjSTR.put(Obj.LNDRGN, "land_region"); ObjSTR.put(Obj.LNDMRK, "landmark");
102 ObjSTR.put(Obj.LIGHTS, "light"); ObjSTR.put(Obj.LITFLT, "light_float"); ObjSTR.put(Obj.LITVES, "light_vessel"); ObjSTR.put(Obj.LOCMAG, "local_magnetic_anomaly");
103 ObjSTR.put(Obj.LOKBSN, "lock_basin"); ObjSTR.put(Obj.LOGPON, "log_pond"); ObjSTR.put(Obj.MAGVAR, "magnetic_variation"); ObjSTR.put(Obj.MARCUL, "marine_farm");
104 ObjSTR.put(Obj.MIPARE, "military_area"); ObjSTR.put(Obj.MORFAC, "mooring"); ObjSTR.put(Obj.NAVLNE, "navigation_line"); ObjSTR.put(Obj.OBSTRN, "obstruction");
105 ObjSTR.put(Obj.OFSPLF, "platform"); ObjSTR.put(Obj.OSPARE, "production_area"); ObjSTR.put(Obj.OILBAR, "oil_barrier"); ObjSTR.put(Obj.PILPNT, "pile");
106 ObjSTR.put(Obj.PILBOP, "pilot_boarding"); ObjSTR.put(Obj.PIPARE, "pipeline_area"); ObjSTR.put(Obj.PIPOHD, "pipeline_overhead"); ObjSTR.put(Obj.PIPSOL, "pipeline_submarine");
107 ObjSTR.put(Obj.PONTON, "pontoon"); ObjSTR.put(Obj.PRCARE, "precautionary_area"); ObjSTR.put(Obj.PRDARE, "land_production_area");ObjSTR.put(Obj.PYLONS, "pylon");
108 ObjSTR.put(Obj.RADLNE, "radar_line"); ObjSTR.put(Obj.RADRNG, "radar_range"); ObjSTR.put(Obj.RADRFL, "radar_reflector"); ObjSTR.put(Obj.RADSTA, "radar_station");
109 ObjSTR.put(Obj.RTPBCN, "radar_transponder"); ObjSTR.put(Obj.RDOCAL, "calling-in_point"); ObjSTR.put(Obj.RDOSTA, "radio_station"); ObjSTR.put(Obj.RAILWY, "railway");
110 ObjSTR.put(Obj.RAPIDS, "rapids"); ObjSTR.put(Obj.RCRTCL, "recommended_route_centreline"); ObjSTR.put(Obj.RECTRC, "recommended_track");
111 ObjSTR.put(Obj.RCTLPT, "recommended_traffic_lane"); ObjSTR.put(Obj.RSCSTA, "rescue_station"); ObjSTR.put(Obj.RESARE, "restricted_area");
112 ObjSTR.put(Obj.RETRFL, "retro_reflector"); ObjSTR.put(Obj.RIVERS, "river"); ObjSTR.put(Obj.RIVBNK, "river_bank"); ObjSTR.put(Obj.ROADWY, "road");
113 ObjSTR.put(Obj.RUNWAY, "runway"); ObjSTR.put(Obj.SNDWAV, "sand_waves"); ObjSTR.put(Obj.SEAARE, "sea_area"); ObjSTR.put(Obj.SPLARE, "seaplane_landing_area");
114 ObjSTR.put(Obj.SBDARE, "seabed_area"); ObjSTR.put(Obj.SLCONS, "shoreline_construction"); ObjSTR.put(Obj.SISTAT, "signal_station_traffic");
115 ObjSTR.put(Obj.SISTAW, "signal_station_warning"); ObjSTR.put(Obj.SILTNK, "tank"); ObjSTR.put(Obj.SLOTOP, "slope_topline"); ObjSTR.put(Obj.SLOGRD, "sloping_ground");
116 ObjSTR.put(Obj.SMCFAC, "small_craft_facility"); ObjSTR.put(Obj.SOUNDG, "sounding"); ObjSTR.put(Obj.SPRING, "spring"); ObjSTR.put(Obj.SQUARE, "square");
117 ObjSTR.put(Obj.STSLNE, "territorial_baseline"); ObjSTR.put(Obj.SUBTLN, "submarine_transit_lane"); ObjSTR.put(Obj.SWPARE, "swept_area");
118 ObjSTR.put(Obj.TESARE, "territorial_area"); ObjSTR.put(Obj.TS_PRH, ""); ObjSTR.put(Obj.TS_PNH, ""); ObjSTR.put(Obj.TS_PAD, ""); ObjSTR.put(Obj.TS_TIS, "");
119 ObjSTR.put(Obj.T_HMON, ""); ObjSTR.put(Obj.T_NHMN, ""); ObjSTR.put(Obj.T_TIMS, ""); ObjSTR.put(Obj.TIDEWY, "tideway"); ObjSTR.put(Obj.TOPMAR, "topmark");
120 ObjSTR.put(Obj.TSELNE, "separation_line"); ObjSTR.put(Obj.TSSBND, "separation_boundary"); ObjSTR.put(Obj.TSSCRS, "separation_crossing");
121 ObjSTR.put(Obj.TSSLPT, "separation_lane"); ObjSTR.put(Obj.TSSRON, "separation_roundabout"); ObjSTR.put(Obj.TSEZNE, "separation_zone"); ObjSTR.put(Obj.TUNNEL, "tunnel");
122 ObjSTR.put(Obj.TWRTPT, "two-way_route"); ObjSTR.put(Obj.UWTROC, "rock"); ObjSTR.put(Obj.UNSARE, "unsurveyed_area"); ObjSTR.put(Obj.VEGATN, "vegetation");
123 ObjSTR.put(Obj.WATTUR, "water_turbulence"); ObjSTR.put(Obj.WATFAL, "waterfall"); ObjSTR.put(Obj.WEDKLP, "weed"); ObjSTR.put(Obj.WRECKS, "wreck");
124 ObjSTR.put(Obj.TS_FEB, "tidal_stream"); ObjSTR.put(Obj.M_ACCY, ""); ObjSTR.put(Obj.M_CSCL, ""); ObjSTR.put(Obj.M_COVR, "coverage"); ObjSTR.put(Obj.M_HDAT, "");
125 ObjSTR.put(Obj.M_HOPA, ""); ObjSTR.put(Obj.M_NPUB, ""); ObjSTR.put(Obj.M_NSYS, ""); ObjSTR.put(Obj.M_PROD, ""); ObjSTR.put(Obj.M_QUAL, "data_quality");
126 ObjSTR.put(Obj.M_SDAT, ""); ObjSTR.put(Obj.M_SREL, ""); ObjSTR.put(Obj.M_UNIT, ""); ObjSTR.put(Obj.M_VDAT, ""); ObjSTR.put(Obj.C_AGGR, ""); ObjSTR.put(Obj.C_ASSO, "");
127 ObjSTR.put(Obj.C_STAC, ""); ObjSTR.put(Obj.$AREAS, ""); ObjSTR.put(Obj.$LINES, ""); ObjSTR.put(Obj.$CSYMB, ""); ObjSTR.put(Obj.$COMPS, ""); ObjSTR.put(Obj.$TEXTS, "");
128 ObjSTR.put(Obj.NOTMRK, "notice"); ObjSTR.put(Obj.WTWAXS, "waterway_axis"); ObjSTR.put(Obj.WTWPRF, "waterway_profile"); ObjSTR.put(Obj.BRGARE, "bridge_area");
129 ObjSTR.put(Obj.BUNSTA, "bunker_station"); ObjSTR.put(Obj.COMARE, "communication_area"); ObjSTR.put(Obj.HRBBSN, "harbour_basin"); ObjSTR.put(Obj.LOKARE, "lock_area");
130 ObjSTR.put(Obj.LKBSPT, "lock_basin_part"); ObjSTR.put(Obj.PRTARE, "port_area"); ObjSTR.put(Obj.BCNWTW, "beacon_waterway"); ObjSTR.put(Obj.BOYWTW, "buoy_waterway");
131 ObjSTR.put(Obj.REFDMP, "refuse_dump"); ObjSTR.put(Obj.RTPLPT, "route_planning_point"); ObjSTR.put(Obj.TERMNL, "terminal"); ObjSTR.put(Obj.TRNBSN, "turning_basin");
132 ObjSTR.put(Obj.WTWARE, "waterway_area"); ObjSTR.put(Obj.WTWGAG, "waterway_gauge"); ObjSTR.put(Obj.TISDGE, "time_schedule"); ObjSTR.put(Obj.VEHTRF, "vehicle_transfer");
133 ObjSTR.put(Obj.EXCNST, "exceptional_structure"); ObjSTR.put(Obj.LG_SDM, ""); ObjSTR.put(Obj.LG_VSP, ""); ObjSTR.put(Obj.LITMAJ, "light_major"); ObjSTR.put(Obj.LITMIN, "light_minor");
134 }
135
136 public static String decodeType(Integer type) { // Convert S57 feature code to OSeaM object string
137 String str = ObjSTR.get(lookupType(type));
138 return str != null ? str : "";
139 }
140
141 public static Integer encodeType(String type) { // Convert OSM object string to S57 feature code
142 if (type != null) {
143 for (Obj obj : ObjSTR.keySet()) {
144 if (ObjSTR.get(obj).equals(type)) {
145 if (ObjS57.get(obj) != null)
146 return ObjS57.get(obj);
147 else if (ObjIENC.get(obj) != null)
148 return ObjIENC.get(obj);
149 else break;
150 }
151 }
152 }
153 return 0;
154 }
155
156 public static Integer encodeType(Obj type) { // Convert OSM object enumeration to S57 feature code
157 if (ObjS57.get(type) != null)
158 return ObjS57.get(type);
159 else if (ObjIENC.get(type) != null)
160 return ObjIENC.get(type);
161 return 0;
162 }
163
164 public static Obj lookupType(Integer type) { // Convert S57 feature code to OSeaM object enumeration
165 if (type < 10000) {
166 for (Obj obj : ObjS57.keySet()) {
167 if (ObjS57.get(obj).equals(type)) {
168 return obj;
169 }
170 }
171 } else {
172 for (Obj obj : ObjIENC.keySet()) {
173 if (ObjIENC.get(obj).equals(type)) {
174 return obj;
175 }
176 }
177 }
178 return Obj.UNKOBJ;
179 }
180
181 public static String stringType(Obj type) { // Convert OSeaM object enumeration to OSeaM object string
182 String str = ObjSTR.get(type);
183 return str != null ? str : "";
184 }
185
186 public static Obj enumType(String type) { // Convert OSeaM object string to OSeaM object enumeration
187 for (Obj obj : ObjSTR.keySet()) {
188 if (ObjSTR.get(obj).equals(type)) {
189 return obj;
190 }
191 }
192 return Obj.UNKOBJ;
193 }
194
195}
Note: See TracBrowser for help on using the repository browser.