docs: def feature2vector(feature, ref, layername=None):
      """
      create a Vector object from ogr features
  
      Parameters
      ----------
      feature: list of :osgeo:class:`ogr.Feature` or :osgeo:class:`ogr.Feature`
          a single feature or a list of features
      ref: Vector
          a reference Vector object to retrieve geo information from
      layername: str or None
          the name of the output layer; retrieved from `ref` if `None`
  
      Returns
      -------
      Vector
          the new Vector object
      """
      features = feature if isinstance(feature, list) else [feature]
      layername = layername if layername is not None else ref.layername
      vec = Vector(driver='Memory')
      vec.addlayer(layername, ref.srs, ref.geomType)
      feat_def = features[0].GetDefnRef()
      fields = [feat_def.GetFieldDefn(x) for x in range(0, feat_def.GetFieldCount())]
      vec.layer.CreateFields(fields)
      for feat in features:
          vec.layer.CreateFeature(feat)
      vec.init_features()
      return vec