1. 05 Jan, 2017 1 commit
    • Daniel Scheffler's avatar
      geo,map_info: · af3a9511
      Daniel Scheffler authored
      - geotransform2mapinfo(): bugfix
      
      geo,projection:
      - WKT2EPSG(): added type assertion
      - modified assertion message
      
      io.raster.GeoArray.GeoArray:
      - arr.setter: better assertion message
      - projection.setter: modified assertion (now more robust)
      - mask_nodata(): bugfix for not setting projection properly
      - mask_baddata(): bugfix for not setting projection properly
      - added __setitem__() to overwrite pixel values with a given array
      - __getattr__(): bugfix
      - calc_mask_nodata(): bugfix
      - set_gdalDataset_meta(): read projection is now extra validated
      - from_path: added TODO
      - _get_plottable_image(): bugfix
      - to_disk(): now sets _arr directly
      
      io.raster.GeoArray.BadDataMask:
      - __init__(): bugfix
      
      io.raster.GeoArray.NoDataMask:
      - __init__(): bugfix; added TODO
      
      - added class 'CloudMask'
      
      - updated __version__
      af3a9511
  2. 03 Jan, 2017 1 commit
    • Daniel Scheffler's avatar
      Bugfix · c235e9ca
      Daniel Scheffler authored
      io.raster.gdal:
      - get_GDAL_ds_inmem():
          - modified doxstring
          - bugfix: invalid nodata values are now properly catched
      
      io.raster.GeoArray.GeoArray:
      - save(): added automatic creation out output directory
      
      - updated __version__
      c235e9ca
  3. 02 Dec, 2016 1 commit
  4. 29 Nov, 2016 2 commits
  5. 25 Nov, 2016 1 commit
    • Daniel Scheffler's avatar
      added function for quickly reprojecting GeoArray to a given pixel grid;... · abefb430
      Daniel Scheffler authored
      added function for quickly reprojecting GeoArray to a given pixel grid; mask_nodata is now a subclass of GeoArray
      
      geo.coord_grid:
      - snap_bounds_to_pixGrid(): added docstring
      
      io.raster.GeoArray:
      -GeoArray:
          - bandnames getter: bugfix for not checking if shape of GeoArray.arr changed
          - mask_nodata setter: now sets mask_nodata to a subclass of GeoArray 'NoDataMask'
          - __getattr__(): now also returns results of functions belonging to np.array instances
          - calc_mask_nodata(): changed data type of nodata mask to np.bool
          - save(): bugfix for wrong metadata keys
          - added reproject_to_new_grid(): function for quickly reprojection all array-like attributes to a given target grid
      - BadDataMask:
          - bugfix for not allowing certain pixel value combinations
      added class NoDataMask
      
      updated __version__
      abefb430
  6. 23 Nov, 2016 1 commit
  7. 22 Nov, 2016 1 commit
    • Daniel Scheffler's avatar
      added new property 'mask_baddata' to GeoArray; some bugfixes and further... · 76fe39f0
      Daniel Scheffler authored
      added new property 'mask_baddata' to GeoArray; some bugfixes and further developments; new dtypes package
      
      - added package 'dtypes' with submodule 'conversion' for performing data tyoe conversions
      
      geo.raster.reproject:
      - warp_ndarray(): input data types that are incompatible to GDAL are now automatically transformed to a GDAL compatible data type
      
      io.raster.gdal:
      - get_GDAL_ds_inmem(): added automatic data type conversion if not compatible to GDAL
      
      io.raster.GeoArray:
      - GeoArray:
          - __init__():
              - bugfix for rejecting subclasses of GeoArray
              - added attribute '_mask_baddata'
          - added property 'mask_baddata' + setter
      - added class 'BadDataMask' (subclass of GeoArray)
      
      - updated __version__
      76fe39f0
  8. 18 Nov, 2016 1 commit
    • Daniel Scheffler's avatar
      simplified GeoArray.__init__(); some bugfixes and further developments · 42ae52b1
      Daniel Scheffler authored
      geo.coord_grid:
      - find_nearest_grid_coord(): fixed inconsistency regarding key 'SE' vs. 'SO'
      
      io.raster.GeoArray.GeoArray:
      - __init__():
          - added docstring
          - init parameters are now respected in case GeoArray is instanced from another GeoArray
          - moved some parameter settings to separate properties
      - attributes 'arr' and 'bandnames' are now properties
      - revised propery 'shape'
      - show(): added warning
      - added deepcopy_array()
      42ae52b1
  9. 17 Nov, 2016 2 commits
    • Daniel Scheffler's avatar
      added metadata property to GeoArray · 44f166b7
      Daniel Scheffler authored
      io.raster.GeoArray.GeoArray():
      - added property metadata: returns GeoDataFrame of all available metadata
      - set_gdalDataset_meta(): now also reads metadata for each band from file on disk
      - save(): now also writes metadata to file on disk
      44f166b7
    • Daniel Scheffler's avatar
      added holoviews visualization for exploring bands-axis in GeoArray · 87d8daa3
      Daniel Scheffler authored
      io.raster.GeoArray.GeoArray:
      - __init__(): GeoArray can now be instanced from another GeoArray without exception
      - show(): added interactive mode (new keyword) that visualizes an interactive holoviews graphic for quickly exploring all bands of the current GeoArray
      
      - updated __version__
      87d8daa3
  10. 15 Nov, 2016 2 commits
    • Daniel Scheffler's avatar
      updated __version__ · a1d96f17
      Daniel Scheffler authored
      a1d96f17
    • Daniel Scheffler's avatar
      implemented point-wise read processes in GeoArray · bdf34e8f
      Daniel Scheffler authored
      geo,vector.topology:
      - fill_holes_within_poly(): bugfix for not checking if polygon has holes in case input poly geom_type=='Polygon'
      
      geo.coord_trafo:
      - mapXY2imXY(): now also accepts 2D coordinate pair arrays
      - imXY2mapXY(): now also accepts 2D coordinate pair arrays
      
      io.raster.GeoArray.GeoArray:
      - added function read_pointData(): allows vectorizes point-wise read processes
      - __getitem__(): bugfix for wrong return value in case the elements of 'given' contain lists -> allows vectorizes point-wise read processes
      bdf34e8f
  11. 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
  12. 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
  13. 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
  14. 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
  15. 02 Nov, 2016 3 commits
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 14 Oct, 2016 1 commit
  22. 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
  23. 07 Oct, 2016 1 commit
    • 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