class_docstr: A collection of one or more Points.
  
  A MultiPoint has zero area and zero length.
  
  Parameters
  ----------
  points : sequence
      A sequence of Points, or a sequence of (x, y [,z]) numeric coordinate
      pairs or triples, or an array-like of shape (N, 2) or (N, 3).
  
  Attributes
  ----------
  geoms : sequence
      A sequence of Points
  
  Examples
  --------
  Construct a MultiPoint containing two Points
  
  >>> from shapely import Point
  >>> ob = MultiPoint([[0.0, 0.0], [1.0, 2.0]])
  >>> len(ob.geoms)
  2
  >>> type(ob.geoms[0]) == Point
  True
code: def __new__(self, points=None):
      if points is None:
          # allow creation of empty multipoints, to support unpickling
          # TODO better empty constructor
          return shapely.from_wkt("MULTIPOINT EMPTY")
      elif isinstance(points, MultiPoint):
          return points
  
      m = len(points)
      subs = []
      for i in range(m):
          p = point.Point(points[i])
          if p.is_empty:
              raise EmptyPartError(
                  "Can't create MultiPoint with empty component"
              )
          subs.append(p)
  
      if len(points) == 0:
          return shapely.from_wkt("MULTIPOINT EMPTY")
  
      return shapely.multipoints(subs)
  
file_path: shapely/shapely/geometry/multipoint.py
imports: import shapely
  from shapely.errors import EmptyPartError
  from shapely.geometry import point
  from shapely.geometry.base import BaseMultipartGeometry
label_desc: Use image node_id 1 for calling the MultiPoint obj's underlying member method code with example usage: obj.__new__(points) and returns: shapely, shapely, shapely, points