Ignore:
Timestamp:
2015-11-08T09:49:14+01:00 (9 years ago)
Author:
malcolmh
Message:

[seachart] update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/seachart/src/s57/S57osm.java

    r31722 r31735  
    1212import java.io.BufferedReader;
    1313import java.io.IOException;
    14 import java.util.ArrayList;
    15 import java.util.HashMap;
     14import java.util.*;
    1615
    1716import s57.S57obj.*;
     
    7776                boolean inWay = false;
    7877                boolean inRel = false;
     78                map.nodes.put(1l, map.new Snode());
     79                map.nodes.put(2l, map.new Snode());
     80                map.nodes.put(3l, map.new Snode());
     81                map.nodes.put(4l, map.new Snode());
    7982
    8083                String ln;
     
    8588                                                if (token.matches("^minlat=.+")) {
    8689                                                        map.bounds.minlat = Math.toRadians(Double.parseDouble(token.split("[\"\']")[1]));
     90                                                        map.nodes.get(2l).lat = map.bounds.minlat;
     91                                                        map.nodes.get(3l).lat = map.bounds.minlat;
    8792                                                } else if (token.matches("^minlon=.+")) {
    8893                                                        map.bounds.minlon = Math.toRadians(Double.parseDouble(token.split("[\"\']")[1]));
     94                                                        map.nodes.get(1l).lon = map.bounds.minlon;
     95                                                        map.nodes.get(2l).lon = map.bounds.minlon;
    8996                                                } else if (token.matches("^maxlat=.+")) {
    9097                                                        map.bounds.maxlat = Math.toRadians(Double.parseDouble(token.split("[\"\']")[1]));
     98                                                        map.nodes.get(1l).lat = map.bounds.maxlat;
     99                                                        map.nodes.get(4l).lat = map.bounds.maxlat;
    91100                                                } else if (token.matches("^maxlon=.+")) {
    92101                                                        map.bounds.maxlon = Math.toRadians(Double.parseDouble(token.split("[\"\']")[1]));
     102                                                        map.nodes.get(3l).lon = map.bounds.maxlon;
     103                                                        map.nodes.get(4l).lon = map.bounds.maxlon;
    93104                                                }
    94105                                        }
     
    199210                return;
    200211        }
     212       
     213        public static void OSMmeta(S57map map) {
     214                map.addEdge(++map.xref);
     215                for (long ref = 0; ref <= 4; ref++) {
     216                        map.addToEdge((ref == 0) ? 4 : ref);
     217                }
     218                map.addTag("seamark:type", "coverage");
     219                map.addTag("seamark:coverage:category", "coverage");
     220                map.tagsDone(map.xref);
     221        }
    201222
    202223}
Note: See TracChangeset for help on using the changeset viewer.