Index: trunk/data/projection/epsg
===================================================================
--- trunk/data/projection/epsg	(revision 7935)
+++ trunk/data/projection/epsg	(revision 7936)
@@ -59,4 +59,26 @@
 # HD72 / EOV (Hungary)
 <23700> +proj=somerc +lat_0=47.14439372222222 +lon_0=19.04857177777778 +k_0=0.99993 +x_0=650000 +y_0=200000 +ellps=GRS67 +towgs84=52.17,-71.82,-14.9 +units=m +bounds=16.1200,45.7800,22.9100,48.6000  <>
+# ETRS89 / UTM zone 28N
+<25828> +proj=tmerc +lon_0=-15 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=-20,-5,-10,85 <>
+# ETRS89 / UTM zone 29N
+<25829> +proj=tmerc +lon_0=-9 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=-14,-5,-4,85  <>
+# ETRS89 / UTM zone 30N
+<25830> +proj=tmerc +lon_0=-3 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=-8,-5,2,85  <>
+# ETRS89 / UTM zone 31N
+<25831> +proj=tmerc +lon_0=3 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=-2,-5,8,85  <>
+# ETRS89 / UTM zone 32N
+<25832> +proj=tmerc +lon_0=9 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=4,-5,14,85  <>
+# ETRS89 / UTM zone 33N
+<25833> +proj=tmerc +lon_0=15 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=10,-5,20,85  <>
+# ETRS89 / UTM zone 34N
+<25834> +proj=tmerc +lon_0=21 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=16,-5,26,85  <>
+# ETRS89 / UTM zone 35N
+<25835> +proj=tmerc +lon_0=27 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=22,-5,32,85  <>
+# ETRS89 / UTM zone 36N
+<25836> +proj=tmerc +lon_0=33 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=28,-5,38,85  <>
+# ETRS89 / UTM zone 37N
+<25837> +proj=tmerc +lon_0=39 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=34,-5,44,85  <>
+# ETRS89 / UTM zone 38N
+<25838> +proj=tmerc +lon_0=45 +k_0=0.9996 +x_0=500000 +ellps=GRS80 +datum=GRS80 +bounds=40,-5,50,85  <>
 # Lambert 4 Zones France (Nord)
 <27561> +proj=lcc +lat_0=49.5 +lat_1=48d35'54.682" +lat_2=50d23'45.282" +lon_0=2d20'14.025" +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +nadgrids=ntf_r93_b.gsb +bounds=-4.416666666666665,46.65,9.18,51.300000000000004  <>
Index: trunk/src/org/openstreetmap/josm/data/projection/Projections.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 7935)
+++ trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 7936)
@@ -20,4 +20,5 @@
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.projection.datum.Datum;
+import org.openstreetmap.josm.data.projection.datum.GRS80Datum;
 import org.openstreetmap.josm.data.projection.datum.NTV2GridShiftFileWrapper;
 import org.openstreetmap.josm.data.projection.datum.WGS84Datum;
@@ -81,4 +82,5 @@
 
         datums.put("WGS84", WGS84Datum.INSTANCE);
+        datums.put("GRS80", GRS80Datum.INSTANCE);
 
         nadgrids.put("BETA2007.gsb", NTV2GridShiftFileWrapper.BETA2007);
@@ -123,6 +125,14 @@
     }
 
+    /**
+     * Get the projection definition string for the given id.
+     * @param id the id
+     * @return the string that can be processed by #{link CustomProjection}.
+     * Null, if the id isn't supported.
+     */
     public static String getInit(String id) {
-        return inits.get(id.toUpperCase()).b;
+        Pair<String, String> r = inits.get(id.toUpperCase());
+        if (r == null) return null;
+        return r.b;
     }
 
Index: trunk/taginfoextract.groovy
===================================================================
--- trunk/taginfoextract.groovy	(revision 7935)
+++ trunk/taginfoextract.groovy	(revision 7936)
@@ -87,5 +87,5 @@
             f = new File("${base_dir}/images/${path}")
             if (f.exists()) {
-                return "https://josm.openstreetmap.de/export/${josm_svn_revision}/josm/trunk/images/${path}"
+                return "http://josm.openstreetmap.de/export/${josm_svn_revision}/josm/trunk/images/${path}"
             }
             assert false, "Cannot find image url for ${path}"
@@ -199,7 +199,7 @@
         def cli = new CliBuilder(usage:'taginfoextract.groovy [options] [inputfile]',
             header:"Options:",
-            footer:"[inputfile]  the file to process (optional, default is 'resource://styles/standard/elemstyles.mapcss')")
-        cli.o(args:1, argName: "file", "output file, - prints to stdout (default: -)")
-        cli._(longOpt:'svnrev', args:1, argName:"revision", "corresponding revision of the repository http://svn.openstreetmap.org/ (optional, current revision is fetched from the web if not given)")
+            footer:"[inputfile]           the file to process (optional, default is 'resource://styles/standard/elemstyles.mapcss')")
+        cli.o(args:1, argName: "file", "output file (json), - prints to stdout (default: -)")
+        cli._(longOpt:'svnrev', args:1, argName:"revision", "corresponding revision of the repository http://svn.openstreetmap.org/ (optional, current revision is read from the local checkout or from the web if not given, see --svnweb)")
         cli._(longOpt:'imgdir', args:1, argName:"directory", "directory to put the generated images in (default: ./taginfo-img)")
         cli._(longOpt:'svnweb', 'fetch revision of the repository http://svn.openstreetmap.org/ from web and not from the local repository')
