def METHOD_NAME(vd, p, vs):
    features = []
    for row in Progress(vs.rows, 'saving'):
        copyrow = deepcopy(row)
        copyrow['properties'] = _rowdict(vs.visibleCols, row)
        features.append(copyrow)
    featcoll = {
        'type': 'FeatureCollection',
        'features': features,
    }
    try:
        indent = int(vs.options.json_indent)
    except Exception:
        indent = vs.options.json_indent
    with p.open(mode='w', encoding='utf-8') as fp:
        encoder = json.JSONEncoder(indent=indent, sort_keys=vs.options.json_sort_keys)
        for chunk in encoder.iterencode(featcoll):
            fp.write(chunk)