ee.Kernel.manhattan

  • Generates a distance kernel based on the rectilinear (city-block) distance, also known as the Manhattan distance.

  • The kernel can be customized using parameters such as radius, units (pixels or meters), normalization, and magnitude scaling.

  • By default, the kernel uses pixels as units and is not normalized, with a magnitude of 1.

  • The output is a square matrix of weights representing the distances from the center pixel, as illustrated in the provided examples.

  • This kernel is commonly used in image processing for operations like edge detection and feature extraction, where rectilinear distances are relevant.

Generates a distance kernel based on rectilinear (city-block) distance.

UsageReturns
ee.Kernel.manhattan(radius, units, normalize, magnitude)Kernel
ArgumentTypeDetails
radiusFloatThe radius of the kernel to generate.
unitsString, default: "pixels"The system of measurement for the kernel ('pixels' or 'meters'). If the kernel is specified in meters, it will resize when the zoom-level is changed.
normalizeBoolean, default: falseNormalize the kernel values to sum to 1.
magnitudeFloat, default: 1Scale each value by this amount.

Examples

Code Editor (JavaScript)

print('A Manhattan kernel', ee.Kernel.manhattan({radius: 3}));

/**
 * Output weights matrix
 *
 * [6, 5, 4, 3, 4, 5, 6]
 * [5, 4, 3, 2, 3, 4, 5]
 * [4, 3, 2, 1, 2, 3, 4]
 * [3, 2, 1, 0, 1, 2, 3]
 * [4, 3, 2, 1, 2, 3, 4]
 * [5, 4, 3, 2, 3, 4, 5]
 * [6, 5, 4, 3, 4, 5, 6]
 */

Python setup

See the Python Environment page for information on the Python API and using geemap for interactive development.

import ee
import geemap.core as geemap

Colab (Python)

from pprint import pprint

print('A Manhattan kernel:')
pprint(ee.Kernel.manhattan(**{'radius': 3}).getInfo())

#  Output weights matrix

#  [6, 5, 4, 3, 4, 5, 6]
#  [5, 4, 3, 2, 3, 4, 5]
#  [4, 3, 2, 1, 2, 3, 4]
#  [3, 2, 1, 0, 1, 2, 3]
#  [4, 3, 2, 1, 2, 3, 4]
#  [5, 4, 3, 2, 3, 4, 5]
#  [6, 5, 4, 3, 4, 5, 6]