data-cleaning.spatial-maps

form-binary-layers-for-neighbour-cells

(form-binary-layers-for-neighbour-cells map-vector origin number-of-columns)
Returns binary maps by the specified cell type
 for type of cells in the Moore neighbourhood (8 maps).
    map-vector: A vector of map cell values (filtered).
    origin: A vector of original map cell values.
    number-of-columns: A number of columns in the map.
 returns: Collection of binary maps for types of each neighbour cell.

## Usage

    (require '[data-cleaning.spatial-maps :refer :all])

    (land-use-map [nil nil nil nil nil nil "1" 2 nil nil nil "1" "1" nil nil
                   nil "1" "1" nil nil nil 2 2 3 nil nil "1" nil "1" nil
                   nil nil nil nil nil])
    (origin [2 2 "1" "1" 2 "1" "1" 2 2 nil 2 "1" "1" "1" nil
             3 "1" "1" "1" "1" 4 2 2 3 "1" 5 "1" 2 "1" "1"
             "1" "1" "1" 2 3])

    (form-binary-layers-for-neighbour-cells land-use-map
                                            origin
                                            5)
    => [; left-upper-neighbour
        [nil nil nil nil nil nil 0 0 nil nil nil 1 1 nil nil nil 0 1 nil nil
         nil 0 1 1 nil nil 0 nil 0 nil nil nil nil nil nil]
        ; center-upper-neighbour
        [nil nil nil nil nil nil 0 1 nil nil nil 1 0 nil nil nil 1 1 nil nil
         nil 1 1 1 nil nil 0 nil 0 nil nil nil nil nil nil]
        ; right-upper-neighbour
        [nil nil nil nil nil nil 1 1 nil nil nil 0 0 nil nil nil 1 1 nil nil
         nil 1 1 1 nil nil 0 nil 1 nil nil nil nil nil nil]
        ; left-middle-neighbour
        [nil nil nil nil nil nil 1 1 nil nil nil 0 1 nil nil nil 0 1 nil nil
         nil 0 0 0 nil nil 0 nil 0 nil nil nil nil nil nil]
        ; center-middle-neighbour
        [nil nil nil nil nil nil 1 0 nil nil nil 1 1 nil nil nil 1 1 nil nil
         nil 0 0 0 nil nil 1 nil 1 nil nil nil nil nil nil]
        ; right-middle-neighbour
        [nil nil nil nil nil nil 0 0 nil nil nil 1 1 nil nil nil 1 1 nil nil
         nil 0 0 1 nil nil 0 nil 1 nil nil nil nil nil nil]
        ; left-lower-neighbour
        [nil nil nil nil nil nil 0 1 nil nil nil 0 1 nil nil nil 0 0 nil nil
         nil 0 1 0 nil nil 1 nil 1 nil nil nil nil nil nil]
        ; center-lower-neighbour
        [nil nil nil nil nil nil 1 1 nil nil nil 1 1 nil nil nil 0 0 nil nil
         nil 1 0 1 nil nil 1 nil 0 nil nil nil nil nil nil]
        ; right-lower-neighbour
        [nil nil nil nil nil nil 1 1 nil nil nil 1 1 nil nil nil 0 0 nil nil
         nil 0 1 1 nil nil 1 nil 0 nil nil nil nil nil nil]]

transform

(transform cleaned-map original-map operation-id)
Transforms cell values with the specified operation.

Supported operations:
   - :log (x'=ln(x)),
   - :unit-rescaling (x'=(x-x_min)/(x_max-x_min).

If operation-id is not known, original values are returned
(from the filtered map).

   cleaned-map: A list of cell values in the already filtered map.
   original-map: A list of original cell values.
   operation-id: An identifier of transformation.

returns: A list of transformed values.

## Usage

   (require '[data-cleaning.spatial-maps :refer :all])

   (transform [nil nil nil nil "1" "2"]
              [nil nil nil "3" "1" "2"]
              :unit-rescaling)
   => [nil nil nil nil 0.0 0.5]

   (transform [nil nil nil nil "1" "2"]
              [nil nil nil nil "1" "2"]
              :log)
   => [nil nil nil nil 0.0 0.6931471805599453]

   (transform [nil nil nil nil "1" "2"]
              [nil nil nil nil "1" "2"]
              :unknown)
   => [nil nil nil nil "1" "2"]