# Determining map-projected coordinates in custom CRS for Leaflet?

I have some static USA maps in Lambert Conformal projection that I would like to overlay in Leaflet together with geo-reference support. They are centered at 38N, 98W. I have found that the closest CRS equivalent is ESRI:102004 from http://epsg.io/102004

+proj=lcc +lat_1=33 +lat_2=45 +lat_0=39 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs

So I modified this definition to +proj=lcc +lat_1=30 +lat_2=50 +lat_0=38 +lon_0=-98, and was able to set up this custom projection in Leaflet using proj4leaflet. Now, it is time for me to overlay the static USA maps using L.Proj.ImageOverlay. In order to do that, I need to specify the bounds for the overlay using projected map coordinates. I could open up http://epsg.io/transform#s_srs=102004&t_srs=102004 and get the coordinates there. However, those coordinates are valid only for the +lat_0=39 +lon_0=-96. So how should I determine the correct coordinates based on +lat_0=38 +lon_0=-98 instead?

• Are you sure about the lat_1 and lat_2 ? Usually they are symmetrical to lat_0. To calculate coordinates, you may use cs2cs from the proj package on the command line. – AndreJ Aug 9 '17 at 6:13
• Would you mind providing more details, Andre. For example, if I want to get the X, Y for lat=40, long=-98, how should that be done? – kykong Nov 3 '17 at 1:27
• Finally made it work after following fmark stackoverflow.com/questions/2651099/… – kykong Nov 3 '17 at 4:36
• The new projection definition syntax is Proj4js.defs["EPSG:12004"] = "+proj=lcc +lat_1=30 +lat_2=50 +lat_0=38 +lon_0=-98 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"; – kykong Nov 3 '17 at 4:41