code: def node_to_area_geometry(node):
      
      assert "areaGeometry" in node.tag
      for subnode in node.nodes:
          if "Polygon" in subnode.tag:
              crds = [float(x)
                      for x in subnode.nodes[0].nodes[0].nodes[0].text.split()]
              polygon = Polygon([Point(crds[iloc], crds[iloc + 1])
                                 for iloc in range(0, len(crds), 2)])
          elif "upperSeismoDepth" in subnode.tag:
              upper_depth = float_(subnode.text)
          elif "lowerSeismoDepth" in subnode.tag:
              lower_depth = float_(subnode.text)
          else:
              # Redundent
              pass
      assert lower_depth > upper_depth
      return polygon, upper_depth, lower_depth
docs: Reads an area geometry node and returns the polygon, upper depth and lower
      depth