Ticket #19545: josm-units.patch
| File josm-units.patch, 4.7 KB (added by , 5 years ago) |
|---|
-
src/org/openstreetmap/josm/data/SystemOfMeasurement.java
74 74 * Known systems of measurement. 75 75 * @since 3406 76 76 */ 77 public static final Map<String, SystemOfMeasurement> ALL_SYSTEMS = Collections.unmodifiableMap(77 public static final Map<String, SystemOfMeasurement> ALL_SYSTEMS = 78 78 Stream.of(METRIC, CHINESE, IMPERIAL, NAUTICAL_MILE) 79 .collect(Collectors.toMap(SystemOfMeasurement::getName, Function.identity())) );79 .collect(Collectors.toMap(SystemOfMeasurement::getName, Function.identity())); 80 80 81 81 /** 82 82 * Preferences entry for system of measurement. -
src/org/openstreetmap/josm/data/osm/DataSet.java
333 333 checkModifiable(); 334 334 this.version = version; 335 335 } 336 337 private double scale = 1; 338 339 @Override 340 public double getScale() { 341 return scale; 342 } 343 344 @Override 345 public void setScale(double scale) { 346 if (scale > 0) { 347 this.scale = scale; 348 } 349 } 336 350 337 351 @Override 338 352 public DownloadPolicy getDownloadPolicy() { -
src/org/openstreetmap/josm/data/osm/OsmData.java
35 35 * @return the API version this dataset was created from. May be null. 36 36 */ 37 37 String getVersion(); 38 39 double getScale(); 40 41 void setScale(double scale); 38 42 39 43 /** 40 44 * Returns the name of this data set (optional). -
src/org/openstreetmap/josm/io/AbstractReader.java
390 390 ds.lock(); 391 391 } 392 392 } 393 394 protected final void parseScale(String scale) { 395 if (scale != null) { 396 double sc = 1; 397 try { 398 sc = Double.parseDouble(scale); 399 } catch (NumberFormatException e) { 400 sc = 1; 401 } 402 ds.setScale(sc); 403 } 404 } 393 405 394 406 protected final void parseBounds(String generator, String minlon, String minlat, String maxlon, String maxlat, String origin) 395 407 throws IllegalDataException { -
src/org/openstreetmap/josm/io/OsmReader.java
144 144 parseDownloadPolicy("download", parser.getAttributeValue(null, "download")); 145 145 parseUploadPolicy("upload", parser.getAttributeValue(null, "upload")); 146 146 parseLocked(parser.getAttributeValue(null, "locked")); 147 parseScale(parser.getAttributeValue(null, "scale")); 147 148 } catch (IllegalDataException e) { 148 149 throwException(e); 149 150 } -
src/org/openstreetmap/josm/io/OsmWriter.java
108 108 } 109 109 110 110 private void header(DownloadPolicy download, UploadPolicy upload, boolean locked) { 111 header(download, upload, locked, 1); 112 } 113 114 private void header(DownloadPolicy download, UploadPolicy upload, boolean locked, double scale) { 111 115 out.println("<?xml version='1.0' encoding='UTF-8'?>"); 112 116 out.print("<osm version='"); 113 117 out.print(version); … … 122 126 if (locked) { 123 127 out.print("' locked='true"); 124 128 } 129 if (scale != 1 && scale > 0) { 130 out.print("' scale='"); 131 out.print(Double.toString(scale)); 132 } 125 133 out.println("' generator='JOSM'>"); 126 134 } 127 135 … … 158 166 * @since 12800 159 167 */ 160 168 public void write(DataSet data) { 161 header(data.getDownloadPolicy(), data.getUploadPolicy(), data.isLocked() );169 header(data.getDownloadPolicy(), data.getUploadPolicy(), data.isLocked(), data.getScale()); 162 170 writeDataSources(data); 163 171 writeContent(data); 164 172 footer();
