1. 12 Nov, 2016 1 commit
    • Daniel Scheffler's avatar
      some further developments and bug fixes · 82509a5a
      Daniel Scheffler authored
      io.raster.gdal:
      - catched empty dataset exception
      
      io.raster.GeoArray.GeoArray:
      - added property 'xygrid_specs'
      - save(): edited docstring; catched missing driver exception
      - _get_plottable_image(): now supports requesting a geographic area (added keywords 'boundsMap', 'boundsMapPrj')
      - show(): implemented keywords 'boundsMap', 'boundsMapPrj'; edited docstring
      - show_map(): implemented keywords 'boundsMap', 'boundsMapPrj'; edited docstring
      - get_mapPos(): refactored keyword bandslist to band2get; edited docstring
      
      numeric.vector:
      - find_nearest(): bugfix for wrong return value in case of exact hit if roundAlg=='off'
      
      similarity.raster:
      - calc_ssim(): added data type adjustment; refactored match to image0 and other to image1; added keyword 'gaussian_weights'
      
      - updated __version__
      82509a5a
  2. 08 Nov, 2016 4 commits
    • Daniel Scheffler's avatar
      updated __version__ · 44ce3f7a
      Daniel Scheffler authored
      44ce3f7a
    • Daniel Scheffler's avatar
      Bugfix for footprint_poly; revised progress bar handling; bugfix for not... · bcd35c46
      Daniel Scheffler authored
      Bugfix for footprint_poly; revised progress bar handling; bugfix for not resetting timeout start time; some further developments
      
      compatibility.python.exceptions:
      - FileNotFoundError: revised docstring
      
      compatibility.gdal:
      - refactored TranslateOptions to Translate
      
      geo.raster.conversion:
      - raster2polygon(): updated calls for progress bar and timeout
      
      geo.raster.reproject:
      - warp_ndarray(): updated calls for progress bar and timeout
      
      geo.vector.topology:
      - added fill_holes_within_poly()
      
      io.raster.gdal:
      - get_GDAL_ds_inmem(): implemented keyword 'nodata'
      
      io.raster.GeoArray:
      - GeoArray:
          - added many docstrings
          - projection.setter: revised assertion
          - footprint_poly(): bugfix for not consequently returning shapely.geometry.Polygon instances
          - save(): implemented keyword 'creationOptions': allows to pass creation options to GDAL writer
      
      processing.progress_mon:
      - replaced function is_timed_out() with new class 'Timer'
      - replaced function printProgress() with new class 'ProgressBar'
      bcd35c46
    • Daniel Scheffler's avatar
      edited some assertion messages and docstrings, updated __version__ · 7f161116
      Daniel Scheffler authored
      geo.raster.coversion:
      - raster2polygon(): now raises RunTimeError if no polygons have been found; edited docstring
      
      io.raster.GeoArray:
      - footprint_poly: edited warning message; added assertion message
      
      updated __version__
      7f161116
    • Daniel Scheffler's avatar
      bugfix for raster2polygon · 6df976a1
      Daniel Scheffler authored
      compatibility.python.exceptions:
      - added FileNotFoundError
      
      geo.raster.conversion:
      - raster2polygon:
          - added keywords 'DN2extract' and 'maxfeatCount'
          - added dissolving of multiple little polygons within result vector layer to one multipart polygon
      
      geo.vector.topology:
      - added polyVertices_outside_poly()
      
      io.raster.GeoArray:
      - footprint_poly: added assertion and modified call of raster2polygon
      - added footprint_poly setter
      
      processing.process_mon:
      - revised is_timed_out()
      6df976a1
  3. 04 Nov, 2016 4 commits
    • Daniel Scheffler's avatar
      bugfix for missing 'progress' attribute of GeoArray, bugfix for note resetting... · 750f15f0
      Daniel Scheffler authored
      bugfix for missing 'progress' attribute of GeoArray, bugfix for note resetting start time in raster2polygon
      
      io.raster.GeoArray:
      - GeoArray:
          - added missing attribute 'progress'
      
      processing-progress_mon:
      - added missing _time_start reset
      750f15f0
    • Daniel Scheffler's avatar
      bugfix for running raster2polygon without timeout · 9cda6ac5
      Daniel Scheffler authored
      compatibility:
      - added subpackage 'python' for handling compatibility issues between python versions
      
      geo.raster.conversion:
      - revised raster2polygon(): added timeout, progress bar, quiet mode
      
      io.raster.GeoArray:
      - added progress keyword
      - nodata: bugfix
      - footprint_poly: now returns outer box if raster2polygon timed out
      - show(): bugfix for crash in case input image has only one value
      - show_map(): bugfix for crash in case input image has only one value
      
      processing.progress_mon:
      - added function is_timed_out()
      - printProgress(): added timeout keyword
      9cda6ac5
    • Daniel Scheffler's avatar
      bugfix for overwriting user defined nodata value within GeoArray · 43a9e95f
      Daniel Scheffler authored
      io.raster.GeoArray():
      - GeoArray:
          - __init__() / set_gdalDataset_meta(): bugfix for overwriting user defined nodata value within GeoArray
      43a9e95f
    • Daniel Scheffler's avatar
      added warning if automatic nodata value detection returns unreliable value;... · fb111d01
      Daniel Scheffler authored
      added warning if automatic nodata value detection returns unreliable value; bugfix for overwriting user defined attributes of GeoArray
      
      io.raster.GeoArray:
      - GeoArray:
          - added quiet mode
          - added attribute _gdalDataset_meta_already_set
          - added print output if nodata value had to be detected automatically
          - set_gdalDataset_meta(): added docstring; method is now only called from __init__
      
      numeric.array:
      - revised find_noDataVal()
      
      - added new package similarity
      fb111d01
  4. 03 Nov, 2016 2 commits
    • Daniel Scheffler's avatar
      bugfix for error in warp_ndarray assertion; bugfix for wrong array slicing · 697f30b4
      Daniel Scheffler authored
      geo.raster.reporject:
      - warp_ndarray(): bugfix for error in assertion
      
      geo.raster.GeoArray:
      - GeoArray.calc_mask_nodata(): added docstring; bugfix for wrong array slicing
      697f30b4
    • Daniel Scheffler's avatar
      some bugfixes and further developments · 8ef57667
      Daniel Scheffler authored
      geo.raster.reproject:
      - warp_ndarray(): added output assertion
      
      geo.projection:
      - prj_equal(): added better docstring
      
      io.raster.GeoArray:
      - GeoArray:
          - revised mask_nodata property
          - added assertion to footprint_poly
          - revised calc_mask_nodata()
      -_clip_array_at_mapPos(): bugfix for missing fillVal in case nodata value could not be derived
      8ef57667
  5. 02 Nov, 2016 3 commits
  6. 01 Nov, 2016 2 commits
    • Daniel Scheffler's avatar
      fixed a circular import issue · b4a998ca
      Daniel Scheffler authored
      b4a998ca
    • Daniel Scheffler's avatar
      added a lot of feature improvements and further developments · ac00904e
      Daniel Scheffler authored
      geo.raster
      - __init__.py: added __all__
      - added module conversion containing new function raster2polygon for polygonizing raster arrays
      
      io.raster:
      - gdal:
          - get_GDAL_ds_inmem(): gt and prj are now optional keywords
      - GeoArray:
          - added function _alias_property()
          - GeoArray:
              - added attribute basename
              - __init__(): added FileNotFoundError for Python 3
              - added 'nodata' property that return nodata value
              - refactored cols attribute to 'columns'
              - added alias attributes 'cols', 'gt', 'prj'
              - added 'mask_nodata' property that returns a no data mask (uint8)
              - added 'footprint_poly' property that returns a shapely polygon with the corresponding footprint
              - added nodata value derival to set_gdalDataset_meta()
              - save(): added automatic creation of output directory
              - _get_plottable_image(): now respects nodata value
              - show(): now respects nodata value
              - show_map(): now respects nodata value
              - added show_footprint() function that shows a zoomable map containing the footprint polygon as overlay (Jupyter Notebook internal)
      
      io.temp_io => refactored to 'pathgen':
      - added function get_generic_outpath()
      
      numeric.array:
      - added function find_noDataVal() to derive nodata value from a given numpy array
      
      ptds.__init__:
      - updated __version__
      ac00904e
  7. 29 Oct, 2016 2 commits
    • Daniel Scheffler's avatar
      updated GDAL version check, __version__ · 6e31fc27
      Daniel Scheffler authored
      ptds.__init__: updated GDAL version check
      6e31fc27
    • Daniel Scheffler's avatar
      Bugfix for returning wrong array shape when warping a 3D array · bea75bf5
      Daniel Scheffler authored
      compatibility.gdalnumeric:
      - OpenNumPyArray(): Bugfix for expecting (rows,columns,bands) instead of GDAL-like (bands,rows,columns)
      - edited docstring
      - added datatype assertion
      
      geo.raster.reproject:
      - moved availability check for resampling algorithm 'average' here
      
      io.raster.gdal:
      - get_GDAL_ds_inmem(): added docstring
      - added get_GDAL_driverList()
      
      io.raster.GeoArray:
      - save(): bugfix for writing wrong array dimensions in case of 3D array
      - show(): nodataVal is now excluded from vmin/vmax calculation when showing image
      
      processing.progress_mon:
      - printProgress(): changed bar symbol due to incompatibility to csh shell output stream
      bea75bf5
  8. 27 Oct, 2016 2 commits
    • Daniel Scheffler's avatar
      Bugfix for raising a warning although everything is fine · 113d3c9d
      Daniel Scheffler authored
      __init__:
      - fixed a wrong module reference
      113d3c9d
    • Daniel Scheffler's avatar
      added Python 2.7 compatibilty; added GDAL downwards compatibility · b00ca185
      Daniel Scheffler authored
      - added new package 'compatibility'  that ensures that the code also works with older versions of Python and GDAL
      - added __init__.py to package level
      
      geo.raster.reproject:
      - warp_ndarray(): some modifications to ensure compatibility
      
      geo.coord_trafo:
      - lonlat_to_pixel(): fixed a Python 2.7 incompatibility
      
      io.raster.gdal:
      get_GDAL_ds_inmem(): some modifications to ensure compatibility
      
      io.raster.GeoArray:
      - fixed some Python 2.7 incompatibilies
      
      io.temp_io: added new module temp_io for managing temporary files
      
      processing.shell:
      - subcall_with_output(): added verbose mode
      
      ptds.__init__:
      - added validation of GDAL version
      b00ca185
  9. 21 Oct, 2016 3 commits
    • Daniel Scheffler's avatar
      added warpMemoryLimit to warp_ndarray · 00152cf0
      Daniel Scheffler authored
      geo.reproject:
      - warp_ndarray: added warpMemoryLimit, updated defaults for warpOptions, transformerOptions
      
      io.raster.GeoArray:
      - _get_plottable_image(): bugfix for never reprojecting input image to desired projection if image size <1000x1000 px
      00152cf0
    • Daniel Scheffler's avatar
      fixed missing function transform_any_prj() that was caused by a copy paste error · 7066ee0b
      Daniel Scheffler authored
      geo.coord_trafo:
      - transform_any_prj(): bugfix for wring function name -> renamed from 'c' to 'transform_any_prj'
      
      geo.raster.reproject:
      - warp_ndarray:  added documentation for some keywords
      7066ee0b
    • Daniel Scheffler's avatar
      added functions to visualize GeoArray as map; improved GeoArray.show(); some new functions · f85fd326
      Daniel Scheffler authored
      geo.raster.reproject:
      - warp_ndarray():
          - added keywords polynomialOrder,  transformerOptions, warpOptions
      
      geo.vector.geometry:
      - boxObj:
          - added get_coordArray_MapXY(): a function to quickly get a geolocation array
      
      geo.coord_trafo:
      - transform_any_prj(): added docstring
      - added transform_coordArray()
      - added reproject_shapelyGeometry()
      - reproject_shapelyPoly() is now deprecated
      
      geo.projection:
      - get_proj4info() now also accepts EPSG codes
      
      io.raster.GeoArray:
      - GeoArray:
          - revised default values of geotransform and projection properties
          - added some validation to geotransform.setter
          - added property epsg
          - revised __getattr__
          - added _get_plottable_image()
          - revised show(): much faster, better colormap
          - added show_map(): a function for quickly showing a map of the GeoArray
          - added show_map_utm() - not yet working
      f85fd326
  10. 18 Oct, 2016 1 commit
    • Daniel Scheffler's avatar
      implemented multiprocessing and GCP based warping into warp_ndarray · 12889c79
      Daniel Scheffler authored
      geo.raster.reproject:
      - warp_ndarray:
          - implemented multiprocessing (new keyword CPUs)
          - added progress bar for GDAL translate and GDAL warp
          - added error threshold to GDAL warp
          - added custom options for GDAL warp
          - added quiet mode
      
      io.raster.GeoArray:
      - GeoArray:
          - added dummy version of method 'show_map'
      
      processing:
      - added new module progress_mon containing functions to view progress bars
      12889c79
  11. 14 Oct, 2016 1 commit
  12. 12 Oct, 2016 1 commit
    • Daniel Scheffler's avatar
      some bugfixes and improvements · 222d8f50
      Daniel Scheffler authored
      geo.raster.reproject:
      - moved get_GDAL_ds_inmem() to new module 'gdal'
      
      geo.vector.geometry:
      - boxObj.boxMapYX:  added docstring
      
      geo.vector.topology:
      - get_footprint_polygon(): added suppression of shapely self intersection warnings (not yet working) and implemented new keyword 'fix_invalid'
      
      geo.coord_calc:
      - calc_FullDataset_corner_positions(): added suppression of shapely self intersection warnings (not yet working)
      
      io.raster.GeoArray:
      GeoArray:
          - added property ndim
          - revised __getitem__()
          - from_path(): added docstring and support for negative slices
          - added method save()
          - added method dump()
          - show(): added xlim/ylim parameters for viewing array subsets
      - added get_GeoArray_from_GDAL_ds()
      
      new module:
      - io.raster.gdal
      222d8f50
  13. 07 Oct, 2016 2 commits
    • Daniel Scheffler's avatar
      Bugfix within GeoArray; added functions · 2c88efe8
      Daniel Scheffler authored
      geo.coord_trafo:
      - added functions lonlat_to_pixel(), reproject_shapelyPoly()
      
      geo.projection:
      - added function get_prjLonLat()
      
      io.raster.GeoArray:
      - GeoArray.get_mapPos(): bugfix for returning the wrong target pixel size
      - get_array_at_mapPos():  bugfix for returning the wrong target pixel size
      2c88efe8
    • Daniel Scheffler's avatar
      geo.raster.reproject: · 903d411c
      Daniel Scheffler authored
      - added a new version of warp_ndarray and renamed the old one to warp_ndarray_OLD: much faster than the old version and no issues when warping 3D arrays
      - some modifications to warp_ndarray_OLD
      - added get_GDAL_ds_inmem()
      - added get_GeoArray_from_GDAL_ds()
      - added warp_GeoArray(): a function to warp GeoArray objects
      
      geo.vector.coord_trafo:
      - added transform_GCPlist()
      
       geo.vector.projection:
       - WKT2EPSG() now returns an integer instead of a string
      
      io.raster.GeoArray:
      - GeoArray:
          - added whitespace assertion to __init__()
          - added properties 'rows', 'cols', 'bands', 'xgsd', 'ygsd', 'box'
          - dtype: bugfix for error when dtype is requested from in_mem-GeoArray
          - __getitem__(): bugfix for returning the wrong array subset when 'given' slice has length 1
          - show(): added interpolation and cmap keywords
          - get_mapPos(): revision
      - _clip_array_at_mapPos:
          - Memory errors due to wrong target dimensions are now catched
      - get_array_at_mapPos(): major revision
      
      numeric.array:
      - added get_outFillZeroSaturated()
      903d411c
  14. 27 Sep, 2016 2 commits