Changeset 30314 in osm for applications/editors/josm/plugins/smed2/src/panels/PanelS57.java
- Timestamp:
- 2014-03-01T18:57:59+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/smed2/src/panels/PanelS57.java
r30298 r30314 50 50 51 51 public void startImport(File inf) throws IOException { 52 JFileChooser ifc = new JFileChooser(Main.pref.get("smed2plugin.file"));53 52 FileInputStream in = new FileInputStream(inf); 54 53 PanelMain.setStatus("Select OSM types file", Color.yellow); 55 ifc.setCurrentDirectory(inf);54 JFileChooser ifc = new JFileChooser(Main.pref.get("smed2plugin.typesfile")); 56 55 int returnVal = ifc.showOpenDialog(Main.parent); 57 56 if (returnVal == JFileChooser.APPROVE_OPTION) { 58 Main.pref.put("smed2plugin.file", ifc.getSelectedFile().getPath()); 57 Main.pref.put("smed2plugin.typesfile", ifc.getSelectedFile().getPath()); 59 58 Scanner tin = new Scanner(new FileInputStream(ifc.getSelectedFile())); 60 59 while (tin.hasNext()) { … … 82 81 while ((snode = map.nodes.get(ref)) != null) { 83 82 if (!done.contains(ref)) { 84 Node node = new Node( new LatLon(Math.toDegrees(snode.lat), Math.toDegrees(snode.lon)));85 node.set OsmId(ref, 1);83 Node node = new Node(ref, 1); 84 node.setCoor((new LatLon(Math.toDegrees(snode.lat), Math.toDegrees(snode.lon)))); 86 85 data.addPrimitive(node); 87 86 addKeys(node, feature, type); … … 110 109 Snode snode = map.nodes.get(ref); 111 110 if (!done.contains(ref)) { 112 Node node = new Node( new LatLon(Math.toDegrees(snode.lat), Math.toDegrees(snode.lon)));113 node.set OsmId(ref, 1);111 Node node = new Node(ref, 1); 112 node.setCoor((new LatLon(Math.toDegrees(snode.lat), Math.toDegrees(snode.lon)))); 114 113 data.addPrimitive(node); 115 114 done.add(ref); … … 129 128 way.addNode((Node)data.getPrimitiveById(ref, OsmPrimitiveType.NODE)); 130 129 } 131 addKeys(way, feature, type); 132 } 133 done.add(edge); 130 } 131 addKeys(way, feature, type); 134 132 } 135 133 } else if (feature.geom.prim == Pflag.AREA) { … … 143 141 Snode snode = map.nodes.get(ref); 144 142 if (!done.contains(ref)) { 145 Node node = new Node( new LatLon(Math.toDegrees(snode.lat), Math.toDegrees(snode.lon)));146 node.set OsmId(ref, 1);143 Node node = new Node(ref, 1); 144 node.setCoor((new LatLon(Math.toDegrees(snode.lat), Math.toDegrees(snode.lon)))); 147 145 data.addPrimitive(node); 148 146 done.add(ref); … … 153 151 git = map.new GeomIterator(feature.geom); 154 152 while (git.hasComp()) { 155 git.nextComp(); 156 while (git.hasEdge()) { 157 long edge = git.nextEdge(); 158 if (!done.contains(edge)) { 159 Way way = new Way(edge, 1); 160 data.addPrimitive(way); 161 while (git.hasNode()) { 162 long ref = git.nextRef(true); 163 way.addNode((Node)data.getPrimitiveById(ref, OsmPrimitiveType.NODE)); 164 } 165 done.add(edge); 153 long ref = git.nextComp(); 154 Way way = new Way(ref, 1); 155 data.addPrimitive(way); 156 while (git.hasEdge()) { 157 git.nextEdge(); 158 while (git.hasNode()) { 159 ref = git.nextRef(); 160 way.addNode((Node) data.getPrimitiveById(ref, OsmPrimitiveType.NODE)); 166 161 } 167 162 } … … 170 165 data.addPrimitive(rel); 171 166 git = map.new GeomIterator(feature.geom); 172 int outers = feature.geom.refs.get(0).size; 173 while (git.hasComp()) { 174 git.nextComp(); 175 while (git.hasEdge()) { 176 long way = git.nextEdge(); 177 if (outers-- > 0) { 178 rel.addMember(new RelationMember("outer", (Way)data.getPrimitiveById(way, OsmPrimitiveType.WAY))); 179 } else { 180 rel.addMember(new RelationMember("inner", (Way)data.getPrimitiveById(way, OsmPrimitiveType.WAY))); 181 } 167 int outers = feature.geom.outers; 168 while (git.hasComp()) { 169 long ref = git.nextComp(); 170 if (outers-- > 0) { 171 rel.addMember(new RelationMember("outer", (Way) data.getPrimitiveById(ref, OsmPrimitiveType.WAY))); 172 } else { 173 rel.addMember(new RelationMember("inner", (Way) data.getPrimitiveById(ref, OsmPrimitiveType.WAY))); 182 174 } 183 175 }
Note:
See TracChangeset
for help on using the changeset viewer.
