Ignore:
Timestamp:
2014-03-01T18:57:59+01:00 (11 years ago)
Author:
malcolmh
Message:

save

File:
1 edited

Legend:

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

    r30298 r30314  
    104104                                                git = map.new GeomIterator(feature.geom);
    105105                                                while (git.hasComp()) {
    106                                                         long way = git.nextComp();
    107                                                         out.format("  <way id='%d' version='1'>%n", -way);
     106                                                        long edge = git.nextComp();
     107                                                        out.format("  <way id='%d' version='1'>%n", -edge);
    108108                                                        while (git.hasEdge()) {
    109109                                                                git.nextEdge();
     
    112112                                                                        out.format("    <nd ref='%d'/>%n", -ref);
    113113                                                                }
    114                                                                 out.format("    <tag k='seamark:type' v=\"%s\"/>%n", type);
    115                                                                 writeAtts(feature, type);
    116114                                                        }
     115                                                        out.format("    <tag k='seamark:type' v=\"%s\"/>%n", type);
     116                                                        writeAtts(feature, type);
    117117                                                        out.format("  </way>%n");
    118                                                         done.add(way);
    119118                                                }
    120119                                        } else if (feature.geom.prim == Pflag.AREA) {
     
    136135                                                git = map.new GeomIterator(feature.geom);
    137136                                                while (git.hasComp()) {
    138                                                         git.nextComp();
     137                                                        long ref = git.nextComp();
     138                                                        out.format("  <way id='%d' version='1'>%n", -ref);
    139139                                                        while (git.hasEdge()) {
    140                                                                 long way = git.nextEdge();
    141                                                                 if (!done.contains(way)) {
    142                                                                         out.format("  <way id='%d' version='1'>%n", -way);
    143                                                                         while (git.hasNode()) {
    144                                                                                 long ref = git.nextRef(true);
    145                                                                                 out.format("    <nd ref='%d'/>%n", -ref);
    146                                                                         }
    147                                                                         out.format("  </way>%n");
    148                                                                         done.add(way);
     140                                                                git.nextEdge();
     141                                                                while (git.hasNode()) {
     142                                                                        ref = git.nextRef();
     143                                                                        out.format("    <nd ref='%d'/>%n", -ref);
    149144                                                                }
    150145                                                        }
     146                                                        out.format("  </way>%n");
    151147                                                }
    152148                                                out.format("  <relation id='%d' version='1'>%n", -map.ref++);
    153149                                                out.format("    <tag k='type' v='multipolygon'/>%n");
    154150                                                git = map.new GeomIterator(feature.geom);
    155                                                 int outers = feature.geom.refs.get(0).size;
     151                                                int outers = feature.geom.outers;
    156152                                                while (git.hasComp()) {
    157                                                         git.nextComp();
    158                                                         while (git.hasEdge()) {
    159                                                                 long way = git.nextEdge();
    160                                                                 if (outers-- > 0) {
    161                                                                         out.format("    <member type='way' ref='%d' role='outer'/>%n", -way);
    162                                                                 } else {
    163                                                                         out.format("    <member type='way' ref='%d' role='inner'/>%n", -way);
    164                                                                 }
     153                                                        long ref = git.nextComp();
     154                                                        if (outers-- > 0) {
     155                                                                out.format("    <member type='way' ref='%d' role='outer'/>%n", -ref);
     156                                                        } else {
     157                                                                out.format("    <member type='way' ref='%d' role='inner'/>%n", -ref);
    165158                                                        }
    166159                                                }
Note: See TracChangeset for help on using the changeset viewer.