• Daniel Scheffler's avatar
    Bugfix for "missing L2B mask files" during continued processing that earlier... · afcb0fa5
    Daniel Scheffler authored
    Bugfix for "missing L2B mask files" during continued processing that earlier stopped in L2B processing; implemented proper MGRS tiling scheme according to project agreements
    GEOP:
    - updated some deprecated 3rd-party-library references
    - added transform_any_prj(): a function fort transforming XY-coordinates from any source to any target projection
    - warp_ndarray():
        - implemented extra option 'outExtent_within' allowing to output arrays with a larger geographical extent than the input image (needed for MGRS tiling scheme)
    - improved some docstrings
    - added prj_equal(): a function to quickly check if two projections are equal
    - added snap_bounds_to_pixGrid(): a function to snap map bounds to a given pixel grid
    - added clip_array_using_mapBounds(): a function for clipping arrays with a map info using a given bounding box
    L0A_P:
    - add_local_availability():
        - replaced a hard coded list of processing levels
        - bugfix for returning an invalid processing level if processing is already done
    L1A_P:
    - fill_from_disk(): bugfix for copying memory addresses  when fill_from_disk() is called in multiprocessing
    - log_for_fullArr_or_firstTile(): bugfix for not handling empty arr_pos
    - added get_subset_obj(), based on older code from helper_functions: a function to generate subsets of GMS objects based on bounding box that can contain image AND map coordinates whereas map coordinates can also have a different projection (needed for proper generation of MGRS tiles)
     - added to_MGRS_tiles(, based on older code from helper_functions: a function for cutting a GMS object into MGRS tiles
     L1B_P:
     - L1B_object.apply_deshift_results():
         - bugfix for not updating geoinformations of 'masks' attribute after having applied spatial shift corrections
    META:
    - added 'data ignore value' to metadata
    IO:
    - refactored module 'gms_io' to 'io'
    ARR:
    - added submodule 'GeoArray' to io:
        - added class 'GeoArray': a class for simplifying array access, regardless to their actual memory location (in memory or on disk)
        - added _clip_array_at_mapPos(): a function for clipping a geocoded array using a given bounding box in the same projection like the array itself
        - added  get_array_at_mapPos(): a function for clipping a geocoded array using a given bounding box that can have any projection
    OUT_W:
    - added 'data ignore value' to enviHdr_keyOrder
    - added 'data ignore value' to mask_to_ENVI_Classification()
    - added set_output_nodataVal(): a function for adding a data ignore value to an already written file
    - Obj2ENVI: bugfix for not handling empty arr_pos
    DB_T:
    - delete_processing_results(), GMS_JOB.__delete_procdata(), GMS_JOB.delete_procdata_of_entire_job(), GMS_JOB.delete_procdata_of_failed_sceneIDs(), added functionality to delete a specific processing level from disk
    HLP_F:
    - revised find_nearest(): it now supports an automatic rounding algorithm that rounds a value to the nearest neighbour
    - replaced a deprecated 3rd-party function reference
    - get_arrSubsetBounds_from_shapelyPolyLonLat(): added flag 'ensure_valid_coords'
    MRGS_tile:
    - added submodule "mgrs_tile" for easily retrieving informations about MGRS tiles (bounding box, projection conversions, buffering, etc.)
    SpatialIndexMediator:
    - replaced wrong host address
    PC:
    - updated calls for MGRS tiling within L2C_map_1()
    afcb0fa5
L0A_P.py 15.3 KB