public Proj parseProjection(Map<String, String> parameters, Ellipsoid ellps) throws ProjectionConfigurationException {
String id = parameters.get(Param.proj.key);
if (id == null) throw new ProjectionConfigurationException(tr("Projection required (+proj=*)"));
Proj proj = Projections.getBaseProjection(id);
if (proj == null) throw new ProjectionConfigurationException(tr("Unknown projection identifier: ''{0}''", id));
ProjParameters projParams = new ProjParameters();
projParams.ellps = ellps;
String s;
s = parameters.get(Param.lat_0.key);
if (s != null) {
projParams.lat_0 = parseAngle(s, Param.lat_0.key);
}
s = parameters.get(Param.lat_1.key);
if (s != null) {
projParams.lat_1 = parseAngle(s, Param.lat_1.key);
}
s = parameters.get(Param.lat_2.key);
if (s != null) {
projParams.lat_2 = parseAngle(s, Param.lat_2.key);
}
proj.initialize(projParams);
return proj;
}