Index: trunk/src/org/openstreetmap/josm/data/projection/Ellipsoid.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Ellipsoid.java	(revision 9102)
+++ trunk/src/org/openstreetmap/josm/data/projection/Ellipsoid.java	(revision 9104)
@@ -34,4 +34,9 @@
      */
     public static final Ellipsoid Bessel1841 = Ellipsoid.create_a_rf(6377397.155, 299.1528128);
+    
+    /**
+     * Bessel 1841 (Namibia)
+     */
+    public static final Ellipsoid BesselNamibia = Ellipsoid.create_a_rf(6377483.865, 299.1528128);
 
     /**
@@ -41,8 +46,18 @@
 
     /**
+     * Clarke 1880 (modified)
+     */
+    public static final Ellipsoid Clarke1880 = Ellipsoid.create_a_rf(6378249.145, 293.4663);
+
+    /**
      * Clarke 1880 IGN (French national geographic institute)
      */
     public static final Ellipsoid ClarkeIGN = Ellipsoid.create_a_b(6378249.2, 6356515.0);
 
+    /**
+     * Everest (Sabah & Sarawak)
+     */
+    public static final Ellipsoid EverestSabahSarawak = Ellipsoid.create_a_rf(6377298.556, 300.8017);
+    
     /**
      * GRS67 ellipsoid
@@ -71,4 +86,9 @@
      */
     public static final Ellipsoid Krassowsky = Ellipsoid.create_a_rf(6378245.0, 298.3);
+
+    /**
+     * WGS66 ellipsoid
+     */
+    public static final Ellipsoid WGS66 = Ellipsoid.create_a_rf(6378145.0, 298.25);
 
     /**
Index: trunk/src/org/openstreetmap/josm/data/projection/Projections.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 9102)
+++ trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 9104)
@@ -25,4 +25,6 @@
 import org.openstreetmap.josm.data.projection.datum.GRS80Datum;
 import org.openstreetmap.josm.data.projection.datum.NTV2GridShiftFileWrapper;
+import org.openstreetmap.josm.data.projection.datum.SevenParameterDatum;
+import org.openstreetmap.josm.data.projection.datum.ThreeParameterDatum;
 import org.openstreetmap.josm.data.projection.datum.WGS84Datum;
 import org.openstreetmap.josm.data.projection.proj.ClassProjFactory;
@@ -84,6 +86,9 @@
         ellipsoids.put("aust_SA", Ellipsoid.AustSA);
         ellipsoids.put("bessel", Ellipsoid.Bessel1841);
+        ellipsoids.put("bess_nam", Ellipsoid.BesselNamibia);
         ellipsoids.put("clrk66", Ellipsoid.Clarke1866);
+        ellipsoids.put("clrk80", Ellipsoid.Clarke1880);
         ellipsoids.put("clarkeIGN", Ellipsoid.ClarkeIGN);
+        ellipsoids.put("evrstSS", Ellipsoid.EverestSabahSarawak);
         ellipsoids.put("intl", Ellipsoid.Hayford);
         ellipsoids.put("helmert", Ellipsoid.Helmert);
@@ -91,4 +96,5 @@
         ellipsoids.put("GRS67", Ellipsoid.GRS67);
         ellipsoids.put("GRS80", Ellipsoid.GRS80);
+        ellipsoids.put("WGS66", Ellipsoid.WGS66);
         ellipsoids.put("WGS72", Ellipsoid.WGS72);
         ellipsoids.put("WGS84", Ellipsoid.WGS84);
@@ -96,4 +102,26 @@
         datums.put("WGS84", WGS84Datum.INSTANCE);
         datums.put("GRS80", GRS80Datum.INSTANCE);
+        datums.put("NAD83", GRS80Datum.INSTANCE);
+        datums.put("carthage", new ThreeParameterDatum(
+                "Carthage 1934 Tunisia", "carthage",
+                Ellipsoid.Clarke1880, -263.0, 6.0, 431.0));
+        datums.put("GGRS87", new ThreeParameterDatum(
+                "Greek Geodetic Reference System 1987", "GGRS87", 
+                Ellipsoid.GRS80, -199.87, 74.79, 246.62));
+        datums.put("hermannskogel",new ThreeParameterDatum(
+                "Hermannskogel", "hermannskogel",
+                Ellipsoid.Bessel1841, 653.0, -212.0, 449.0));
+        datums.put("ire65", new SevenParameterDatum(
+                "Ireland 1965", "ire65",
+                Ellipsoid.AiryMod, 482.530, -130.596, 564.557, -1.042, -0.214, -0.631, 8.15));
+        datums.put("nzgd49", new SevenParameterDatum(
+                "New Zealand Geodetic Datum 1949", "nzgd49",
+                Ellipsoid.Hayford, 59.47, -5.04, 187.44, 0.47, -0.1, 1.024, -4.5993));
+        datums.put("OSGB36", new SevenParameterDatum(
+                "Airy 1830", "OSGB36", 
+                Ellipsoid.Airy, 446.448, -125.157, 542.060, 0.1502, 0.2470, 0.8421, -20.4894));
+        datums.put("potsdam", new SevenParameterDatum(
+                "Potsdam Rauenberg 1950 DHDN", "potsdam",
+                Ellipsoid.Bessel1841, 598.1, 73.7, 418.2, 0.202, 0.045, -2.455, 6.7));
 
         nadgrids.put("BETA2007.gsb", NTV2GridShiftFileWrapper.BETA2007);
