private void writeGeoCoding(final MapGeoCoding geoCoding) throws IOException { final MapInfo mapInfo = geoCoding.getMapInfo(); final MapProjection mapProjection = mapInfo.getMapProjection(); final int groupID = createH5G(_fileID, "geo_coding"); try { createScalarAttribute(groupID, "java_class_name", MapGeoCoding.class.getName()); createScalarAttribute(groupID, "easting", mapInfo.getEasting()); createScalarAttribute(groupID, "northing", mapInfo.getNorthing()); createScalarAttribute(groupID, "pixel_x", mapInfo.getPixelX()); createScalarAttribute(groupID, "pixel_y", mapInfo.getPixelY()); createScalarAttribute(groupID, "pixel_size_x", mapInfo.getPixelSizeX()); createScalarAttribute(groupID, "pixel_size_y", mapInfo.getPixelSizeY()); createScalarAttribute(groupID, "datum", mapInfo.getDatum().getName()); createScalarAttribute(groupID, "unit", mapProjection.getMapUnit()); createScalarAttribute(groupID, "projection", mapProjection.getName()); final int paramsID = createH5G(groupID, "projection_params"); try { final MapTransform mapTransform = mapProjection.getMapTransform(); final MapTransformDescriptor mapTransformDescriptor = mapTransform.getDescriptor(); final Parameter[] parameters = mapTransformDescriptor.getParameters(); for (int i = 0; i < parameters.length; i++) { createScalarAttribute( paramsID, parameters[i].getName(), mapTransform.getParameterValues()[i]); } } finally { closeH5G(paramsID); } } finally { closeH5G(groupID); } }