kopia lustrzana https://github.com/osm2vectortiles/osm2vectortiles
Table view is no longer needed
rodzic
07d4d8a5a5
commit
3e38938350
|
@ -10,8 +10,6 @@ RUN pip install -r requirements.txt
|
|||
|
||||
ENV SQL_FUNCTIONS_FILE=/usr/src/app/functions.sql \
|
||||
SQL_GENERATED_FILE=/usr/src/app/gen.sql \
|
||||
SQL_TRIGGERS_FILE=/usr/src/app/triggers.sql \
|
||||
SQL_XYZ_EXTENT_FILE=/usr/src/app/xyz_extent.sql \
|
||||
SQL_INDIZES_FILE=/usr/src/app/indizes.sql \
|
||||
SQL_LAYERS_DIR=/usr/src/app/layers/ \
|
||||
SQL_SPLIT_POLYGON_FILE=/usr/src/app/landuse_split_polygon_table.sql \
|
||||
|
@ -26,8 +24,4 @@ RUN ./generate_sql.py class classes/barrier_line.yml >> $SQL_GENERATED_FILE \
|
|||
&& ./generate_sql.py class classes/rail_station.yml >> $SQL_GENERATED_FILE \
|
||||
&& ./generate_sql.py class classes/maki_label.yml >> $SQL_GENERATED_FILE
|
||||
|
||||
# Generate table functions
|
||||
RUN ./generate_sql.py changed_tiles tables.yml >> $SQL_GENERATED_FILE \
|
||||
&& ./generate_sql.py tables tables.yml >> $SQL_GENERATED_FILE
|
||||
|
||||
CMD ["./prepare.sh"]
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
"""Generate SQL functions from custom YAML definitions
|
||||
Usage:
|
||||
generate_sql.py class <yaml-source>
|
||||
generate_sql.py tables <yaml-source>
|
||||
generate_sql.py (-h | --help)
|
||||
Options:
|
||||
-h --help Show this screen.
|
||||
|
@ -46,45 +45,6 @@ def find_classes(config):
|
|||
yield Class(cl_name, mapped_values)
|
||||
|
||||
|
||||
Table = namedtuple('Table', ['name', 'buffer', 'min_zoom', 'max_zoom'])
|
||||
|
||||
|
||||
def generate_static_table_view(tables, view_name='osm_tables'):
|
||||
|
||||
def gen_select_stmt(table):
|
||||
return ("SELECT '{0}' AS table_name,"
|
||||
'{1} AS buffer_size,'
|
||||
'{2} AS min_zoom,'
|
||||
'{3} AS max_zoom').format(table.name, table.buffer,
|
||||
table.min_zoom, table.max_zoom)
|
||||
|
||||
stmts = [SQL_INDENT + gen_select_stmt(t) for t in tables]
|
||||
sep = '\n' + SQL_INDENT + 'UNION\n'
|
||||
return 'CREATE OR REPLACE VIEW {0} AS (\n{1}\n);'.format(view_name,
|
||||
sep.join(stmts))
|
||||
|
||||
|
||||
def find_delete_tables(config, delete_suffix='delete'):
|
||||
for src_table in find_tables(config):
|
||||
yield Table(src_table.name + '_' + delete_suffix,
|
||||
src_table.buffer,
|
||||
src_table.min_zoom, src_table.max_zoom)
|
||||
|
||||
|
||||
def find_tables_with_deletes(config):
|
||||
for src_table in find_tables(config):
|
||||
yield src_table
|
||||
|
||||
for delete_table in find_delete_tables(config):
|
||||
yield delete_table
|
||||
|
||||
|
||||
def find_tables(config, schema_prefix='osm'):
|
||||
for table_name, config_values in config['tables'].items():
|
||||
yield Table(schema_prefix + '_' + table_name,config_values['buffer'],
|
||||
config_values['min_zoom'], config_values['max_zoom'])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
args = docopt(__doc__)
|
||||
|
||||
|
@ -92,5 +52,3 @@ if __name__ == '__main__':
|
|||
source = yaml.load(f)
|
||||
if args['class']:
|
||||
print(generate_sql_class(source))
|
||||
if args['tables']:
|
||||
print(generate_static_table_view(find_tables(source)))
|
||||
|
|
Ładowanie…
Reference in New Issue