Changeset 12486 in josm for trunk/src/org/openstreetmap/josm/io/session/SessionWriter.java
- Timestamp:
- 2017-07-22T14:25:19+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/io/session/SessionWriter.java
r11795 r12486 11 11 import java.nio.charset.StandardCharsets; 12 12 import java.util.ArrayList; 13 import java.util.Collection; 13 14 import java.util.HashMap; 14 15 import java.util.List; … … 40 41 import org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer; 41 42 import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer; 43 import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference; 42 44 import org.openstreetmap.josm.tools.JosmRuntimeException; 43 45 import org.openstreetmap.josm.tools.MultiMap; … … 213 215 doc.appendChild(root); 214 216 215 Element viewportEl = doc.createElement("viewport"); 216 root.appendChild(viewportEl); 217 Element centerEl = doc.createElement("center"); 218 viewportEl.appendChild(centerEl); 219 EastNorth center = Main.map.mapView.getCenter(); 220 LatLon centerLL = Projections.inverseProject(center); 221 centerEl.setAttribute("lat", Double.toString(centerLL.lat())); 222 centerEl.setAttribute("lon", Double.toString(centerLL.lon())); 223 Element scale = doc.createElement("scale"); 224 viewportEl.appendChild(scale); 225 double dist100px = Main.map.mapView.getDist100Pixel(); 226 scale.setAttribute("meter-per-pixel", Double.toString(dist100px / 100)); 217 writeViewPort(root); 218 writeProjection(root); 227 219 228 220 Element layersEl = doc.createElement("layers"); … … 263 255 } 264 256 257 private void writeViewPort(Element root) { 258 Document doc = root.getOwnerDocument(); 259 Element viewportEl = doc.createElement("viewport"); 260 root.appendChild(viewportEl); 261 Element centerEl = doc.createElement("center"); 262 viewportEl.appendChild(centerEl); 263 EastNorth center = Main.map.mapView.getCenter(); 264 LatLon centerLL = Projections.inverseProject(center); 265 centerEl.setAttribute("lat", Double.toString(centerLL.lat())); 266 centerEl.setAttribute("lon", Double.toString(centerLL.lon())); 267 Element scale = doc.createElement("scale"); 268 viewportEl.appendChild(scale); 269 double dist100px = Main.map.mapView.getDist100Pixel(); 270 scale.setAttribute("meter-per-pixel", Double.toString(dist100px / 100)); 271 } 272 273 private void writeProjection(Element root) { 274 Document doc = root.getOwnerDocument(); 275 Element projectionEl = doc.createElement("projection"); 276 root.appendChild(projectionEl); 277 String pcId = ProjectionPreference.getCurrentProjectionChoiceId(); 278 Element projectionChoiceEl = doc.createElement("projection-choice"); 279 projectionEl.appendChild(projectionChoiceEl); 280 Element idEl = doc.createElement("id"); 281 projectionChoiceEl.appendChild(idEl); 282 idEl.setTextContent(pcId); 283 Collection<String> parameters = ProjectionPreference.getSubprojectionPreference(pcId); 284 Element parametersEl = doc.createElement("parameters"); 285 projectionChoiceEl.appendChild(parametersEl); 286 for (String param : parameters) { 287 Element paramEl = doc.createElement("param"); 288 parametersEl.appendChild(paramEl); 289 paramEl.setTextContent(param); 290 } 291 String code = Main.getProjection().toCode(); 292 Element codeEl = doc.createElement("code"); 293 projectionEl.appendChild(codeEl); 294 codeEl.setTextContent(code); 295 } 296 265 297 /** 266 298 * Writes given .jos document to an output stream.
Note:
See TracChangeset
for help on using the changeset viewer.