Example #1
0
def write_sql(io):
    from vectordatasource.meta import find_yaml_path

    yaml_path = find_yaml_path()
    for output_fn, make_fn_name, force_type, return_type in (
            (output_kind, make_function_name_props, None, 'JSON'),
            (output_min_zoom, make_function_name_min_zoom, float, 'REAL')):
        layer_result = parse_layers(yaml_path, output_fn, make_fn_name)
        assert isinstance(layer_result, LayerParseResult)
        for function_data in layer_result.layer_data:
            assert isinstance(function_data, FunctionData)
            ast_fn = function_data.ast
            ast_fn = GeomTypeTransformer().visit(ast_fn)
            visitor = SQLVisitor(io, force_type, return_type)
            visitor.visit(ast_fn)

    for layer, tables in LAYER_TABLES.items():
        for table in tables:
            for calc, return_type in [('json', 'JSON'), ('min_zoom', 'REAL')]:
                print_adaptor(io, layer, table, calc, return_type)
Example #2
0
def parse_layers_min_zoom(yaml_path):
    from vectordatasource.meta.python import parse_layers, output_min_zoom, \
        make_function_name_min_zoom
    return parse_layers(yaml_path, output_min_zoom,
                        make_function_name_min_zoom)
Example #3
0
def parse_layers_props(yaml_path):
    from vectordatasource.meta.python import parse_layers, output_kind, \
        make_function_name_props
    return parse_layers(yaml_path, output_kind, make_function_name_props)
Example #4
0
def parse_layers_min_zoom(yaml_path):
    from vectordatasource.meta.python import parse_layers, output_min_zoom, \
        make_function_name_min_zoom
    return parse_layers(
        yaml_path, output_min_zoom, make_function_name_min_zoom)
Example #5
0
def parse_layers_props(yaml_path):
    from vectordatasource.meta.python import parse_layers, output_kind, \
        make_function_name_props
    return parse_layers(yaml_path, output_kind, make_function_name_props)