Exemplo n.º 1
0
    def create_proj_group(filename: str, parent: TextIO, area_def):
        """Create the top level group from projection information."""
        projection_name = (area_def.area_id).replace(" ", "_")
        # if top group alrady made, return.
        if projection_name in parent:
            return projection_name

        # create top group for first time
        group = parent.create_group(projection_name)
        # add attributes from grid_defintion.
        if isinstance(area_def, SwathDefinition):
            group.attrs["height"], group.attrs["width"] = area_def.shape
            group.attrs["description"] = "No projection: native format"
        else:

            group.attrs["proj4_definition"] = area_def.proj4_string
            for a in ["height", "width"]:
                ds_attr = getattr(area_def, a, None)
                if ds_attr is None:
                    pass
                else:
                    group.attrs[a] = ds_attr

            group.attrs["cell_height"] = np.round(-area_def.pixel_size_y, 5)
            group.attrs["cell_width"] = np.round(area_def.pixel_size_x, 5)
            group.attrs["origin_x"] = area_def.pixel_upper_left[0]
            group.attrs["origin_y"] = area_def.pixel_upper_left[1]

        return projection_name