Санкт-Петербург и область

Для “нормальных” метров конечно надо трансверсальным меркатором
пользоваться, но josm тайлы (пока?) не поворачивает. Я поправил слегка Mercator.java для соответствия epsg:3857, никаких побочных эффектов не вижу:


Index: src/org/openstreetmap/josm/data/projection/Mercator.java
===================================================================
--- src/org/openstreetmap/josm/data/projection/Mercator.java    (revision 3852)
+++ src/org/openstreetmap/josm/data/projection/Mercator.java    (working copy)
@@ -23,14 +23,14 @@
 
     public EastNorth latlon2eastNorth(LatLon p) {
         return new EastNorth(
-                p.lon()*Math.PI/180,
-                Math.log(Math.tan(Math.PI/4+p.lat()*Math.PI/360)));
+                p.lon()*Math.PI/180*6378137,
+                Math.log(Math.tan(Math.PI/4+p.lat()*Math.PI/360))*6378137);
     }
 
     public LatLon eastNorth2latlon(EastNorth p) {
         return new LatLon(
-                Math.atan(Math.sinh(p.north()))*180/Math.PI,
-                p.east()*180/Math.PI);
+                Math.atan(Math.sinh(p.north()/6378137))*180/Math.PI,
+                p.east()/6378137*180/Math.PI);
     }
 
     @Override public String toString() {
@@ -59,6 +59,6 @@
 
     public double getDefaultZoomInPPD() {
         // This will set the scale bar to about 100 km
-        return 0.000158;
+        return 1000.;
     }
 }