Changeset 30187 in osm for applications/editors


Ignore:
Timestamp:
2014-01-07T01:00:40+01:00 (11 years ago)
Author:
donvip
Message:

[josm-smed2] make the plugin compatible again with Java 6 :)

Location:
applications/editors/josm/plugins/smed2
Files:
1 deleted
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/smed2/src/s57/Js57toosm.java

    r30186 r30187  
    88 */
    99
    10 package js57toosm;
     10package s57;
    1111
    1212import java.io.*;
    1313
    14 import s57.S57map;
    1514import s57.S57map.*;
    16 import s57.S57dat;
    1715import s57.S57dat.*;
    1816
     
    5755                                len = Integer.parseInt(new String(record, idx+mapts, mapfl));
    5856                                pos = Integer.parseInt(new String(record, idx+mapts+mapfl, mapfp));
    59                                 if (!ddr) switch (tag) {
    60                                 case "0001":
    61                                         int i8rn = (int)(long)S57dat.getSubf(record, fields+pos, S57field.I8RI, S57subf.I8RN);
    62                                         if (i8rn != ++rnum) {
    63                                                 out.println("Out of order record ID");
    64                                                 in.close();
    65                                                 System.exit(-1);
    66                                         }
    67                                         break;
    68                                 case "DSID":
    69                                         break;
    70                                 case "DSSI":
    71                                         break;
    72                                 case "DSPM":
    73                                         comf = (double)(long)S57dat.getSubf(record, fields+pos, S57field.DSPM, S57subf.COMF);
    74                                         somf = (double)(long)S57dat.getSubf(S57subf.SOMF);
    75                                         break;
    76                                 case "FRID":
    77                                         break;
    78                                 case "FOID":
    79                                         break;
    80                                 case "ATTF":
    81                                         break;
    82                                 case "NATF":
    83                                         break;
    84                                 case "FFPC":
    85                                         break;
    86                                 case "FFPT":
    87                                         break;
    88                                 case "FSPC":
    89                                         break;
    90                                 case "FSPT":
    91                                         break;
    92                                 case "VRID":
    93                                         name = (long)S57dat.getSubf(record, fields+pos, S57field.VRID, S57subf.RCNM);
    94                                         switch ((int)name) {
    95                                         case 110:
    96                                                 nflag = Nflag.ISOL;
    97                                                 break;
    98                                         case 120:
    99                                                 nflag = Nflag.CONN;
    100                                                 break;
    101                                         default:
    102                                                 nflag = Nflag.ANON;
    103                                                 break;
    104                                         }
    105                                         name <<= 32;
    106                                         name += (long)S57dat.getSubf(record, fields+pos, S57field.VRID, S57subf.RCID);
    107                                         name <<= 16;
    108                                         if (nflag == Nflag.ANON) {
    109                                                 map.newEdge(name);
    110                                         }
    111                                         break;
    112                                 case "ATTV":
    113                                         break;
    114                                 case "VRPC":
    115                                         break;
    116                                 case "VRPT":
    117                                         name = (long)S57dat.getSubf(record, fields+pos, S57field.VRPT, S57subf.NAME) << 16;
    118                                         int topi = (int)((long)S57dat.getSubf(S57subf.TOPI));
    119                                         map.addConn(name, topi);
    120                                         name = (long)S57dat.getSubf(S57subf.NAME) << 16;
    121                                         topi = (int)((long)S57dat.getSubf(S57subf.TOPI));
    122                                         map.addConn(name, topi);
    123                                         break;
    124                                 case "SGCC":
    125                                         break;
    126                                 case "SG2D":
    127                                         S57dat.setField(record, fields + pos, S57field.SG2D, len);
    128                                         while (S57dat.more()) {
    129                                                 double lat = (double) ((long) S57dat.getSubf(S57subf.YCOO)) / comf;
    130                                                 double lon = (double) ((long) S57dat.getSubf(S57subf.XCOO)) / comf;
    131                                                 if (nflag == Nflag.ANON) {
    132                                                         map.newNode(++name, lat, lon, nflag);
    133                                                 } else {
    134                                                         map.newNode(name, lat, lon, nflag);
    135                                                 }
    136                                                 if (lat < minlat) minlat = lat;
    137                                                 if (lat > maxlat) maxlat = lat;
    138                                                 if (lon < minlon) minlon = lon;
    139                                                 if (lon > maxlon) maxlon = lon;
    140                                         }
    141                                         break;
    142                                 case "SG3D":
    143                                         S57dat.setField(record, fields + pos, S57field.SG3D, len);
    144                                         while (S57dat.more()) {
    145                                                 double lat = (double) ((long) S57dat.getSubf(S57subf.YCOO)) / comf;
    146                                                 double lon = (double) ((long) S57dat.getSubf(S57subf.XCOO)) / comf;
    147                                                 double depth = (double) ((long) S57dat.getSubf(S57subf.VE3D)) / somf;
    148                                                 map.newNode(name++, lat, lon, depth);
    149                                                 if (lat < minlat) minlat = lat;
    150                                                 if (lat > maxlat) maxlat = lat;
    151                                                 if (lon < minlon) minlon = lon;
    152                                                 if (lon > maxlon) maxlon = lon;
    153                                         }
    154                                         break;
     57                                if (!ddr) {
     58                                if ("0001".equals(tag)) {
     59                                        int i8rn = ((Long)S57dat.getSubf(record, fields+pos, S57field.I8RI, S57subf.I8RN)).intValue();
     60                                        if (i8rn != ++rnum) {
     61                                                out.println("Out of order record ID");
     62                                                in.close();
     63                                                System.exit(-1);
     64                                        }
     65                                } else if ("DSID".equals(tag)) {
     66                                } else if ("DSSI".equals(tag)) {
     67                                } else if ("DSPM".equals(tag)) {
     68                                        comf = (double)(Long)S57dat.getSubf(record, fields+pos, S57field.DSPM, S57subf.COMF);
     69                                        somf = (double)(Long)S57dat.getSubf(S57subf.SOMF);
     70                                } else if ("FRID".equals(tag)) {
     71                                } else if ("FOID".equals(tag)) {
     72                                } else if ("ATTF".equals(tag)) {
     73                                } else if ("NATF".equals(tag)) {
     74                                } else if ("FFPC".equals(tag)) {
     75                                } else if ("FFPT".equals(tag)) {
     76                                } else if ("FSPC".equals(tag)) {
     77                                } else if ("FSPT".equals(tag)) {
     78                                } else if ("VRID".equals(tag)) {
     79                                        name = (Long)S57dat.getSubf(record, fields+pos, S57field.VRID, S57subf.RCNM);
     80                                        switch ((int)name) {
     81                                        case 110:
     82                                                nflag = Nflag.ISOL;
     83                                                break;
     84                                        case 120:
     85                                                nflag = Nflag.CONN;
     86                                                break;
     87                                        default:
     88                                                nflag = Nflag.ANON;
     89                                                break;
     90                                        }
     91                                        name <<= 32;
     92                                        name += (Long)S57dat.getSubf(record, fields+pos, S57field.VRID, S57subf.RCID);
     93                                        name <<= 16;
     94                                        if (nflag == Nflag.ANON) {
     95                                                map.newEdge(name);
     96                                        }
     97                                } else if ("ATTV".equals(tag)) {
     98                                } else if ("VRPC".equals(tag)) {
     99                                } else if ("VRPT".equals(tag)) {
     100                                        name = (Long)S57dat.getSubf(record, fields+pos, S57field.VRPT, S57subf.NAME) << 16;
     101                                        int topi = ((Long)S57dat.getSubf(S57subf.TOPI)).intValue();
     102                                        map.addConn(name, topi);
     103                                        name = (Long)S57dat.getSubf(S57subf.NAME) << 16;
     104                                        topi = ((Long)S57dat.getSubf(S57subf.TOPI)).intValue();
     105                                        map.addConn(name, topi);
     106                                } else if ("SGCC".equals(tag)) {
     107                                } else if ("SG2D".equals(tag)) {
     108                                        S57dat.setField(record, fields + pos, S57field.SG2D, len);
     109                                        while (S57dat.more()) {
     110                                                double lat = (double) ((Long) S57dat.getSubf(S57subf.YCOO)) / comf;
     111                                                double lon = (double) ((Long) S57dat.getSubf(S57subf.XCOO)) / comf;
     112                                                if (nflag == Nflag.ANON) {
     113                                                        map.newNode(++name, lat, lon, nflag);
     114                                                } else {
     115                                                        map.newNode(name, lat, lon, nflag);
     116                                                }
     117                                                if (lat < minlat) minlat = lat;
     118                                                if (lat > maxlat) maxlat = lat;
     119                                                if (lon < minlon) minlon = lon;
     120                                                if (lon > maxlon) maxlon = lon;
     121                                        }
     122                                } else if ("SG3D".equals(tag)) {
     123                                        S57dat.setField(record, fields + pos, S57field.SG3D, len);
     124                                        while (S57dat.more()) {
     125                                                double lat = (double) ((Long) S57dat.getSubf(S57subf.YCOO)) / comf;
     126                                                double lon = (double) ((Long) S57dat.getSubf(S57subf.XCOO)) / comf;
     127                                                double depth = (double) ((Long) S57dat.getSubf(S57subf.VE3D)) / somf;
     128                                                map.newNode(name++, lat, lon, depth);
     129                                                if (lat < minlat) minlat = lat;
     130                                                if (lat > maxlat) maxlat = lat;
     131                                                if (lon < minlon) minlon = lon;
     132                                                if (lon > maxlon) maxlon = lon;
     133                                        }
     134                                }
    155135                                }
    156136                        }
  • applications/editors/josm/plugins/smed2/src/s57/S57dat.java

    r30186 r30187  
    44import java.util.Arrays;
    55import java.util.EnumMap;
    6 
    7 import js57toosm.Js57toosm;
    86
    97public class S57dat {
Note: See TracChangeset for help on using the changeset viewer.