Index: /trunk/src/org/openstreetmap/josm/data/projection/AbstractProjection.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/AbstractProjection.java	(revision 5021)
+++ /trunk/src/org/openstreetmap/josm/data/projection/AbstractProjection.java	(revision 5022)
@@ -81,3 +81,10 @@
     }
     
+    protected static final double convertMinuteSecond(double minute, double second) {
+        return (minute/60.0) + (second/3600.0);
+    }
+    
+    protected static final double convertDegreeMinuteSecond(double degree, double minute, double second) {
+        return degree + convertMinuteSecond(minute, second);
+    }
 }
Index: /trunk/src/org/openstreetmap/josm/data/projection/BelgianLambert1972.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/BelgianLambert1972.java	(revision 5022)
+++ /trunk/src/org/openstreetmap/josm/data/projection/BelgianLambert1972.java	(revision 5022)
@@ -0,0 +1,53 @@
+package org.openstreetmap.josm.data.projection;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.projection.datum.SevenParameterDatum;
+import org.openstreetmap.josm.data.projection.proj.LambertConformalConic;
+
+/**
+ * Belgian Lambert 72 projection as specified by the Belgian IGN
+ * in this document: http://www.ngi.be/Common/Lambert2008/Transformation_Geographic_Lambert_FR.pdf
+ * @author Don-vip 
+ *
+ */
+public class BelgianLambert1972 extends AbstractProjection {
+
+    public BelgianLambert1972() {
+        ellps = Ellipsoid.hayford;
+        // 7 parameters transformation: http://www.eye4software.com/resources/datum/4313/
+        datum = new SevenParameterDatum("Belgium Datum 72", null, Ellipsoid.hayford, -99.06, 53.32, -112.49, 0.419, -0.830, 1.885, -1);
+        x_0 =  150000.013;
+        y_0 = 5400088.438;
+        lon_0 = convertDegreeMinuteSecond(4, 22, 2.952);
+        double lat_0 = 90.0;
+        double lat_1 = 49 + convertMinuteSecond(50, 0.00204);
+        double lat_2 = 51 + convertMinuteSecond(10, 0.00204);
+        proj = new LambertConformalConic();
+        ((LambertConformalConic)proj).updateParameters2SP(ellps, lat_0, lat_1, lat_2);
+    }
+    
+    @Override
+    public String getCacheDirectoryName() {
+        return "belgianLambert1972";
+    }
+
+    @Override
+    public Bounds getWorldBoundsLatLon() {
+        return new Bounds(
+                new LatLon(49.51, 2.54),
+                new LatLon(51.50, 6.40));
+    }
+
+    @Override
+    public Integer getEpsgCode() {
+        return 31370;
+    }
+    
+    @Override
+    public String toString() {
+        return tr("Belgian Lambert 1972");
+    }
+}
Index: /trunk/src/org/openstreetmap/josm/data/projection/BelgianLambert2008.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/BelgianLambert2008.java	(revision 5022)
+++ /trunk/src/org/openstreetmap/josm/data/projection/BelgianLambert2008.java	(revision 5022)
@@ -0,0 +1,52 @@
+package org.openstreetmap.josm.data.projection;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.projection.datum.GRS80Datum;
+import org.openstreetmap.josm.data.projection.proj.LambertConformalConic;
+
+/**
+ * Belgian Lambert 2008 projection as specified by the Belgian IGN
+ * in this document: http://www.ngi.be/Common/Lambert2008/Transformation_Geographic_Lambert_FR.pdf
+ * @author Don-vip 
+ *
+ */
+public class BelgianLambert2008 extends AbstractProjection {
+
+    public BelgianLambert2008() {
+        ellps = Ellipsoid.GRS80;
+        datum = GRS80Datum.INSTANCE;
+        x_0 =  649328.0;
+        y_0 = 665262.0;
+        lon_0 = convertDegreeMinuteSecond(4, 21, 33.177);
+        double lat_0 = convertDegreeMinuteSecond(50, 47, 52.134);
+        double lat_1 = convertDegreeMinuteSecond(49, 50,  0);
+        double lat_2 = convertDegreeMinuteSecond(51, 10,  0);
+        proj = new LambertConformalConic();
+        ((LambertConformalConic)proj).updateParameters2SP(ellps, lat_0, lat_1, lat_2);
+    }
+    
+    @Override
+    public String getCacheDirectoryName() {
+        return "belgianLambert2008";
+    }
+
+    @Override
+    public Bounds getWorldBoundsLatLon() {
+        return new Bounds(
+                new LatLon(49.51, 2.54),
+                new LatLon(51.50, 6.40));
+    }
+
+    @Override
+    public Integer getEpsgCode() {
+        return 3812;
+    }
+    
+    @Override
+    public String toString() {
+        return tr("Belgian Lambert 2008");
+    }
+}
Index: /trunk/src/org/openstreetmap/josm/data/projection/Projections.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 5021)
+++ /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 5022)
@@ -25,4 +25,6 @@
                 // regional - alphabetical order by country name
                 new GaussKrueger(),
+                new BelgianLambert1972(),
+                new BelgianLambert2008(),
                 new LambertEST(),
                 new Lambert(),
