Ignore:
Timestamp:
2014-03-14T21:03:15+01:00 (11 years ago)
Author:
malcolmh
Message:

save

Location:
applications/editors/josm/plugins/smed2
Files:
2 edited

Legend:

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

    r30323 r30324  
    167167                out.println("</osm>\n");
    168168                out.close();
    169                 System.out.println("Finished");
     169                System.err.println("Finished");
    170170        }
    171171       
  • applications/editors/josm/plugins/smed2/src/panels/PanelS57.java

    r30323 r30324  
    4141        ArrayList<Obj> types = new ArrayList<Obj>();
    4242        S57map map;
    43         ArrayList<Long> done = new ArrayList<Long>();
     43        HashMap<Long, Long> done = new HashMap<Long, Long>();
    4444       
    4545        public PanelS57() {
     
    8282                                                        Snode snode;
    8383                                                        while ((snode = map.nodes.get(ref)) != null) {
    84                                                                 if (!done.contains(ref)) {
    85                                                                         Node node = new Node(ref, 1);
     84                                                                if (!done.containsKey(ref)) {
     85                                                                        Node node = new Node(0, 1);
    8686                                                                        node.setCoor((new LatLon(Math.toDegrees(snode.lat), Math.toDegrees(snode.lon))));
    8787                                                                        data.addPrimitive(node);
    8888                                                                        addKeys(node, feature, type);
    89                                                                         done.add(ref);
     89                                                                        done.put(ref, node.getUniqueId());
    9090                                                                }
    9191                                                                ref++;
     
    110110                                                                        long ref = git.nextRef();
    111111                                                                        Snode snode = map.nodes.get(ref);
    112                                                                         if (!done.contains(ref)) {
    113                                                                                 Node node = new Node(ref, 1);
     112                                                                        if (!done.containsKey(ref)) {
     113                                                                                Node node = new Node(0, 1);
    114114                                                                                node.setCoor((new LatLon(Math.toDegrees(snode.lat), Math.toDegrees(snode.lon))));
    115115                                                                                data.addPrimitive(node);
    116                                                                                 done.add(ref);
     116                                                                                done.put(ref, node.getUniqueId());
    117117                                                                        }
    118118                                                                }
     
    122122                                                while (git.hasComp()) {
    123123                                                        long edge = git.nextComp();
    124                                                         Way way = new Way(edge, 1);
     124                                                        Way way = new Way(0, 1);
    125125                                                        data.addPrimitive(way);
    126126                                                        while (git.hasEdge()) {
     
    128128                                                                while (git.hasNode()) {
    129129                                                                        long ref = git.nextRef();
    130                                                                         way.addNode((Node)data.getPrimitiveById(ref, OsmPrimitiveType.NODE));
     130                                                                        way.addNode((Node)data.getPrimitiveById(done.get(ref), OsmPrimitiveType.NODE));
    131131                                                                }
    132132                                                        }
     
    142142                                                                        long ref = git.nextRef();
    143143                                                                        Snode snode = map.nodes.get(ref);
    144                                                                         if (!done.contains(ref)) {
    145                                                                                 Node node = new Node(ref, 1);
     144                                                                        if (!done.containsKey(ref)) {
     145                                                                                Node node = new Node(0, 1);
    146146                                                                                node.setCoor((new LatLon(Math.toDegrees(snode.lat), Math.toDegrees(snode.lon))));
    147147                                                                                data.addPrimitive(node);
    148                                                                                 done.add(ref);
     148                                                                                done.put(ref, node.getUniqueId());
    149149                                                                        }
    150150                                                                }
     
    154154                                                while (git.hasComp()) {
    155155                                                        long ref = git.nextComp();
    156                                                         Way way = new Way(ref, 1);
     156                                                        Way way = new Way(0, 1);
     157                                                        done.put(ref, way.getUniqueId());
    157158                                                        data.addPrimitive(way);
    158159                                                        while (git.hasEdge()) {
     
    160161                                                                while (git.hasNode()) {
    161162                                                                        ref = git.nextRef();
    162                                                                         way.addNode((Node) data.getPrimitiveById(ref, OsmPrimitiveType.NODE));
    163                                                                 }
    164                                                         }
    165                                                 }
    166                                                 Relation rel = new Relation(map.ref++, 1);
     163                                                                        way.addNode((Node) data.getPrimitiveById(done.get(ref), OsmPrimitiveType.NODE));
     164                                                                }
     165                                                        }
     166                                                }
     167                                                Relation rel = new Relation(0, 1);
    167168                                                data.addPrimitive(rel);
    168169                                                git = map.new GeomIterator(feature.geom);
     
    171172                                                        long ref = git.nextComp();
    172173                                                        if (outers-- > 0) {
    173                                                                 rel.addMember(new RelationMember("outer", (Way) data.getPrimitiveById(ref, OsmPrimitiveType.WAY)));
     174                                                                rel.addMember(new RelationMember("outer", (Way) data.getPrimitiveById(done.get(ref), OsmPrimitiveType.WAY)));
    174175                                                        } else {
    175                                                                 rel.addMember(new RelationMember("inner", (Way) data.getPrimitiveById(ref, OsmPrimitiveType.WAY)));
     176                                                                rel.addMember(new RelationMember("inner", (Way) data.getPrimitiveById(done.get(ref), OsmPrimitiveType.WAY)));
    176177                                                        }
    177178                                                }
Note: See TracChangeset for help on using the changeset viewer.