code: def _parse_raster_info(self, prop=RASTER_INFO):
          
  
          raster_info = {}.fromkeys(_iso_definitions[prop], u'')
  
          # Ensure conversion of lists to newlines is in place
          raster_info['dimensions'] = get_default_for_complex_sub(
              prop=prop,
              subprop='dimensions',
              value=parse_property(self._xml_tree, None, self._data_map, '_ri_num_dims'),
              xpath=self._data_map['_ri_num_dims']
          )
  
          xpath_root = self._get_xroot_for(prop)
          xpath_map = self._data_structures[prop]
  
          for dimension in parse_complex_list(self._xml_tree, xpath_root, xpath_map, RASTER_DIMS):
              dimension_type = dimension['type'].lower()
  
              if dimension_type == 'vertical':
                  raster_info['vertical_count'] = dimension['size']
  
              elif dimension_type == 'column':
                  raster_info['column_count'] = dimension['size']
                  raster_info['x_resolution'] = u' '.join(dimension[k] for k in ['value', 'units']).strip()
  
              elif dimension_type == 'row':
                  raster_info['row_count'] = dimension['size']
                  raster_info['y_resolution'] = u' '.join(dimension[k] for k in ['value', 'units']).strip()
  
          return raster_info if any(raster_info[k] for k in raster_info) else {}
docs: Collapses multiple dimensions into a single raster_info complex struct