Changeset 32082 in osm for applications/editors/josm/plugins/seachart/src/s57/S57osm.java
- Timestamp:
- 2016-02-27T09:09:45+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/seachart/src/s57/S57osm.java
r31955 r32082 35 35 static { 36 36 OSMtags.put("natural=coastline", new KeyVal<>(Obj.COALNE, Att.UNKATT, null, null)); OSMtags.put("natural=water", new KeyVal<>(Obj.LAKARE, Att.UNKATT, null, null)); 37 OSMtags.put("water=river", new KeyVal<>(Obj.RIVERS, Att.UNKATT, null, null)); OSMtags.put("water=canal", new KeyVal<>(Obj.CANALS, Att.UNKATT, null, null)); 37 38 OSMtags.put("waterway=riverbank", new KeyVal<>(Obj.RIVERS, Att.UNKATT, null, null)); OSMtags.put("waterway=dock", new KeyVal<>(Obj.HRBBSN, Att.UNKATT, null, null)); 38 39 OSMtags.put("waterway=lock", new KeyVal<>(Obj.HRBBSN, Att.UNKATT, null, null)); OSMtags.put("landuse=basin", new KeyVal<>(Obj.LAKARE, Att.UNKATT, null, null)); … … 51 52 } 52 53 53 public static KeyVal<?> OSMtag(String key, String val) {54 public static void OSMtag(ArrayList<KeyVal<?>> osm, String key, String val) { 54 55 KeyVal<?> kv = OSMtags.get(key + "=" + val); 55 56 if (kv != null) { … … 57 58 ArrayList<Enum<?>> list = new ArrayList<Enum<?>>(); 58 59 list.add((Enum<?>)kv.val); 59 return new KeyVal<>(kv.obj, kv.att, kv.conv, list); 60 } 61 return kv; 62 } 63 return new KeyVal<>(Obj.UNKOBJ, Att.UNKATT, null, null); 64 } 65 66 public static void OSMmap(BufferedReader in, S57map map) throws Exception { 60 osm.add(new KeyVal<>(kv.obj, kv.att, kv.conv, list)); 61 } else { 62 osm.add(kv); 63 } 64 } 65 KeyVal<?> kvl = null; 66 KeyVal<?> kvd = null; 67 boolean rc = false; 68 boolean rcl = false; 69 for (KeyVal<?> kvx : osm) { 70 if (kvx.obj == Obj.LAKARE) { 71 kvl = kvx; 72 } else if ((kvx.obj == Obj.RIVERS) || (kvx.obj == Obj.CANALS)) { 73 rc = true; 74 } 75 if (kvx.obj == Obj.DEPARE) { 76 kvd = kvx; 77 } else if ((kvx.obj == Obj.RIVERS) || (kvx.obj == Obj.CANALS) || (kvx.obj == Obj.LAKARE)) { 78 rcl = true; 79 } 80 } 81 if (rc && (kvl != null)) { 82 osm.remove(kvl); 83 } 84 if (rcl && (kvd != null)) { 85 osm.remove(kvd); 86 } 87 return; 88 } 89 90 public static void OSMmap(BufferedReader in, S57map map, boolean bb) throws Exception { 67 91 String k = ""; 68 92 String v = ""; … … 84 108 while ((ln = in.readLine()) != null) { 85 109 if (inOsm) { 86 if (ln.contains("<bounds")) { 110 if (ln.contains("<bounds") && !bb) { 87 111 for (String token : ln.split("[ ]+")) { 88 112 if (token.matches("^minlat=.+")) {
Note:
See TracChangeset
for help on using the changeset viewer.
