diff --git a/data.yml b/data.yml index 47b7b0f..8ef8b37 100644 --- a/data.yml +++ b/data.yml @@ -89,6 +89,42 @@ Layer: properties: "buffer-size": 4 srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over + - id: road + Datasource: + dbname: osm + extent: -20037508.34,-20037508.34,20037508.34,20037508.34 + geometry_field: geom + geometry_table: '' + host: db + key_field: '' + key_field_as_attribute: '' + max_size: 512 + password: osm + port: 5432 + srid: '' + table: |- + ( SELECT * + FROM ( + SELECT * FROM road_z4 WHERE z(!scale_denominator!) = 4 + UNION ALL + SELECT * FROM road_z5 WHERE z(!scale_denominator!) = 5 + UNION ALL + SELECT * FROM road_z6 WHERE z(!scale_denominator!) = 6 + UNION ALL + SELECT * FROM road_z7 WHERE z(!scale_denominator!) >= 7 + ) AS road + WHERE geom && !bbox! + ) AS data + type: postgis + user: osm + description: Buildings + fields: + featureclass: String + scalerank: Number + type: String + properties: + "buffer-size": 4 + srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over - id: building Datasource: dbname: osm diff --git a/schema/create_schema.sh b/schema/create_schema.sh index 20b127c..cac0a6e 100755 --- a/schema/create_schema.sh +++ b/schema/create_schema.sh @@ -19,6 +19,7 @@ function main() { exec_psql_file "layers/water.sql" exec_psql_file "layers/building.sql" exec_psql_file "layers/boundary.sql" + exec_psql_file "layers/road.sql" } main diff --git a/schema/layers/road.sql b/schema/layers/road.sql new file mode 100644 index 0000000..28931b1 --- /dev/null +++ b/schema/layers/road.sql @@ -0,0 +1,31 @@ +CREATE OR REPLACE VIEW ne_10m_global_roads AS ( + SELECT geom, scalerank, featurecla as featureclass, type + FROM ne_10m_roads WHERE continent <> 'North America' + UNION ALL + SELECT geom, scalerank, class as featureclass, type + FROM ne_10m_roads_north_america +); + +CREATE OR REPLACE VIEW road_z4 AS ( + SELECT * + FROM ne_10m_global_roads + WHERE scalerank <= 4 +); + +CREATE OR REPLACE VIEW road_z5 AS ( + SELECT * + FROM ne_10m_global_roads + WHERE scalerank <= 5 +); + +CREATE OR REPLACE VIEW road_z6 AS ( + SELECT * + FROM ne_10m_global_roads + WHERE scalerank <= 6 +); + +CREATE OR REPLACE VIEW road_z7 AS ( + SELECT * + FROM ne_10m_global_roads + WHERE scalerank <= 7 +);