Changeset 33309 in osm for applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetTools.java
- Timestamp:
- 2017-05-13T14:21:55+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetTools.java
r32528 r33309 10 10 import org.openstreetmap.josm.data.coor.EastNorth; 11 11 import org.openstreetmap.josm.data.coor.LatLon; 12 import org.openstreetmap.josm.data.imagery.OffsetBookmark; 12 13 import org.openstreetmap.josm.data.projection.Projection; 13 14 import org.openstreetmap.josm.gui.MapView; 14 import org.openstreetmap.josm.gui.layer. ImageryLayer;15 import org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer; 15 16 16 17 /** … … 34 35 * @return the layer, or null if it hasn't been found. 35 36 */ 36 public static ImageryLayer getTopImageryLayer() {37 public static AbstractTileSourceLayer getTopImageryLayer() { 37 38 if (Main.map == null || Main.map.mapView == null) 38 39 return null; 39 List< ImageryLayer> layers = Main.getLayerManager().getLayersOfType(ImageryLayer.class);40 for ( ImageryLayer layer : layers) {40 List<AbstractTileSourceLayer> layers = Main.getLayerManager().getLayersOfType(AbstractTileSourceLayer.class); 41 for (AbstractTileSourceLayer layer : layers) { 41 42 String url = layer.getInfo().getUrl(); 42 43 if (layer.isVisible() && url != null && !url.contains("gps-")) { … … 64 65 * @see #applyLayerOffset 65 66 */ 66 public static LatLon getLayerOffset( ImageryLayer layer, LatLon center) {67 public static LatLon getLayerOffset(AbstractTileSourceLayer layer, LatLon center) { 67 68 Projection proj = Main.getProjection(); 68 69 EastNorth offsetCenter = Main.map.mapView.getCenter(); 69 EastNorth centerOffset = offsetCenter.add(-layer.getDx(), -layer.getDy()); 70 EastNorth centerOffset = offsetCenter.add(-layer.getDisplaySettings().getDx(), 71 -layer.getDisplaySettings().getDy()); 70 72 LatLon offsetLL = proj.eastNorth2latlon(centerOffset); 71 73 return offsetLL; … … 77 79 * @see #getLayerOffset 78 80 */ 79 public static void applyLayerOffset( ImageryLayer layer, ImageryOffset offset) {80 double[] dxy= calculateOffset(offset);81 layer.setOffset (dxy[0], dxy[1]);81 public static void applyLayerOffset(AbstractTileSourceLayer layer, ImageryOffset offset) { 82 OffsetBookmark bookmark = calculateOffset(offset); 83 layer.getDisplaySettings().setOffsetBookmark(bookmark); 82 84 } 83 85 … … 87 89 * @see #applyLayerOffset 88 90 */ 89 public static double[]calculateOffset(ImageryOffset offset) {91 public static OffsetBookmark calculateOffset(ImageryOffset offset) { 90 92 Projection proj = Main.getProjection(); 91 93 EastNorth center = proj.latlon2eastNorth(offset.getPosition()); 92 94 EastNorth offsetPos = proj.latlon2eastNorth(offset.getImageryPos()); 93 return new double[] {center.getX() - offsetPos.getX(), center.getY() - offsetPos.getY()}; 95 EastNorth offsetXY = new EastNorth(center.getX() - offsetPos.getX(), center.getY() - offsetPos.getY()); 96 OffsetBookmark b = new OffsetBookmark(proj.toCode(), offset.getImagery(), "Autogenerated", 97 offsetXY.getX(), offsetXY.getY(), offset.getPosition().lon(), offset.getPosition().lat()); 98 return b; 94 99 } 95 100 … … 99 104 * @return imagery id. 100 105 */ 101 public static String getImageryID( ImageryLayer layer) {106 public static String getImageryID(AbstractTileSourceLayer layer) { 102 107 return layer == null ? null : 103 108 ImageryIdGenerator.getImageryID(layer.getInfo().getUrl(), layer.getInfo().getImageryType());
Note:
See TracChangeset
for help on using the changeset viewer.
