class_docstr: Represents an abstract base class for a WGS84 geometry.
class_docstr_tok: ["Represents","an","abstract","base","class","for","a","WGS84","geometry","."]
docstr: Initialises a Geometry object.
  
  :param coordinates: Coordinates of the Geometry object.
  :type coordinates: tuple or list of tuple
  :param validate: Raise exception if validation errors are present?
  :type validate: boolean
  :param precision: Number of decimal places for lat/lon coords.
  :type precision: integer
docstr_tok: ["Initialises","a","Geometry","object",".",":","param","coordinates",":","Coordinates","of","the","Geometry","object",".",":","type","coordinates",":","tuple","or","list","of","tuple",":","param","validate",":","Raise","exception","if","validation","errors","are","present","?",":","type","validate",":","boolean",":","param","precision",":","Number","of","decimal","places","for","lat\/lon","coords",".",":","type","precision",":","integer"]
code: def __init__(
      self, coordinates=None, validate=False, precision=None, **extra
  ):
      """
      Initialises a Geometry object.
  
      :param coordinates: Coordinates of the Geometry object.
      :type coordinates: tuple or list of tuple
      :param validate: Raise exception if validation errors are present?
      :type validate: boolean
      :param precision: Number of decimal places for lat/lon coords.
      :type precision: integer
      """
      super().__init__(**extra)
      if precision is None:
          precision = DEFAULT_PRECISION
      self["coordinates"] = self.clean_coordinates(
          coordinates or [], precision
      )
  
      if validate:
          errors = self.errors()
          if errors:
              raise ValueError(f"{errors}: {coordinates}")
  
imports: from decimal import Decimal
  from numbers import Number, Real
  from geojson.base import GeoJSON
label_desc: Use image node_id 1 to create a new Geometry object from inherited base classes: GeoJSON with example: obj = Geometry(coordinates, validate, precision)