code: def lambert_equal_area_projection_cart(x, y, z):
      r"""Lambert Equal Area Projection from cartesian vector to plane
  
      Return positions in $(y_1,y_2)$ plane corresponding to the
      directions of the vectors with cartesian coordinates xyz under the
      Lambert Equal Area Projection mapping (see Mardia and Jupp (2000),
      Directional Statistics, p. 161).
  
      The Lambert EAP maps the upper hemisphere to the planar disc of radius 1
      and the lower hemisphere to the planar annulus between radii 1 and 2,
      The Lambert EAP maps the upper hemisphere to the planar disc of radius 1
      and the lower hemisphere to the planar annulus between radii 1 and 2.
      and *vice versa*.
  
      See doc for ``sphere2cart`` for angle conventions
  
      Parameters
      ----------
      x : array_like
         x coordinate in Cartesian space
      y : array_like
         y coordinate in Cartesian space
      z : array_like
         z coordinate
  
      Returns
      -------
      y : (N,2) array
         planar coordinates of points following mapping by Lambert's EAP.
  
      """
      (r, theta, phi) = cart2sphere(x, y, z)
      return lambert_equal_area_projection_polar(theta, phi)
  
imports: import itertools
  import math
  import numpy
  import numpy.linalg
label_desc: Use image node_id 12 for calling a global function with example usage: lambert_equal_area_projection_cart(x, y, z) and returns: lambert_equal_area_projection_polar