daylight/workflow.js (437 lines of code) (raw):
/**
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License
is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied. See the License for the specific language governing permissions and limitations under
the License.
**/
import config from "./config.js";
export default {
"steps": [
{
"id": "daylight-data",
"needs": [],
"tasks": [
{
"type": "DownloadUrl",
"source": `https://daylight-map-distribution.s3.us-west-1.amazonaws.com/release/${config.daylightVersion}/planet-${config.daylightVersion}.osm.pbf`,
"target": "data/data.osm.pbf"
},
{
"type": "ImportOsmPbf",
"file": "data/data.osm.pbf",
"database": config.database,
"databaseSrid": 3857,
"replaceExisting": true,
},
{
"type": "DownloadUrl",
"source": `https://daylight-map-distribution.s3.us-west-1.amazonaws.com/release/${config.daylightVersion}/ml-buildings-${config.daylightVersion}.osm.pbf`,
"target": "data/buildings.osm.pbf"
},
{
"type": "ImportOsmPbf",
"file": "data/buildings.osm.pbf",
"database": config.database,
"databaseSrid": 3857,
"replaceExisting": false,
},
{
"type": "DownloadUrl",
"source": `https://daylight-map-distribution.s3.us-west-1.amazonaws.com/release/${config.daylightVersion}/fb-ml-roads-${config.daylightVersion}.osc.gz`,
"target": "data/roads.osc.gz"
},
{
"type": "ImportOsmOsc",
"file": "data/roads.osc.gz",
"compression": "gzip",
"database": config.database,
"databaseSrid": 3857
},
{
"type": "DownloadUrl",
"source": `https://daylight-map-distribution.s3.us-west-1.amazonaws.com/release/${config.daylightVersion}/admin-${config.daylightVersion}.osc.gz`,
"target": "data/admin.osc.gz"
},
{
"type": "ImportOsmOsc",
"file": "data/admin.osc.gz",
"compression": "gzip",
"database": config.database,
"databaseSrid": 3857
},
{
"type": "DownloadUrl",
"source": `https://daylight-map-distribution.s3.us-west-1.amazonaws.com/release/${config.daylightVersion}/coastlines-${config.daylightVersion}.tgz`,
"target": "data/coastlines.tgz"
},
{
"type": "DecompressFile",
"compression": "targz",
"source": "data/coastlines.tgz",
"target": "data/coastlines"
},
{
"type": "ImportShapefile",
"file": "data/coastlines/water_polygons.shp",
"database": config.database,
"fileSrid": 4326,
"databaseSrid": 3857
},
{
"type": "ExecuteSql",
"file": "./layers/coastline/prepare.sql",
"database": config.database,
},
{
"type": "DownloadUrl",
"source": `https://daylight-map-distribution.s3.us-west-1.amazonaws.com/release/${config.daylightVersion}/preferred-localization-${config.daylightVersion}.tsv`,
"target": "data/preferred-localization.tsv"
},
{
"type": "ImportDaylightTranslations",
"file": "data/preferred-localization.tsv",
"database": config.database,
},
{
"type": "DownloadUrl",
"source": `https://daylight-map-distribution.s3.us-west-1.amazonaws.com/release/${config.daylightVersion}/important-features-${config.daylightVersion}.json`,
"target": "data/important-features.json"
},
{
"type": "ImportDaylightFeatures",
"file": "data/important-features.json",
"database": config.database,
},
{
"type": "DownloadUrl",
"source": "https://daylight-openstreetmap.s3.us-west-2.amazonaws.com/landcover/low.shp",
"target": "data/landcover/low.shp"
},
{
"type": "DownloadUrl",
"source": "https://daylight-openstreetmap.s3.us-west-2.amazonaws.com/landcover/low.dbf",
"target": "data/landcover/low.dbf"
},
{
"type": "DownloadUrl",
"source": "https://daylight-openstreetmap.s3.us-west-2.amazonaws.com/landcover/low.prj",
"target": "data/landcover/low.prj"
},
{
"type": "DownloadUrl",
"source": "https://daylight-openstreetmap.s3.us-west-2.amazonaws.com/landcover/low.shx",
"target": "data/landcover/low.shx"
},
{
"type": "ImportShapefile",
"file": "data/landcover/low.shp",
"database": config.database,
"fileSrid": 4326,
"databaseSrid": 3857
},
]
},
{
"id": "daylight-nodes",
"needs": ["daylight-data"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/queries/osm_node.sql",
"database": config.database,
"parallel": true,
},
]
},
{
"id": "daylight-ways",
"needs": ["daylight-data"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/queries/osm_way.sql",
"database": config.database,
"parallel": true,
},
]
},
{
"id": "daylight-relations",
"needs": ["daylight-data"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/queries/osm_relation.sql",
"database": config.database,
"parallel": true,
},
]
},
{
"id": "daylight-member",
"needs": ["daylight-data"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/member/prepare.sql",
"database": config.database,
},
]
},
{
"id": "daylight-point",
"needs": ["daylight-nodes"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/point/clean.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/point/simplify.sql",
"database": config.database,
"parallel": true,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/point/index.sql",
"database": config.database,
"parallel": true,
},
]
},
{
"id": "daylight-linestring",
"needs": ["daylight-member"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/linestring/clean.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/linestring/prepare.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/linestring/index.sql",
"database": config.database,
},
]
},
{
"id": "daylight-highway",
"needs": ["daylight-linestring"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/highway/clean.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/highway/prepare.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/highway/simplify.sql",
"database": config.database,
"parallel": true,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/highway/index.sql",
"database": config.database,
"parallel": true,
},
]
},
{
"id": "daylight-railway",
"needs": ["daylight-linestring"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/railway/clean.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/railway/prepare.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/railway/simplify.sql",
"database": config.database,
"parallel": true,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/railway/index.sql",
"database": config.database,
"parallel": true,
},
]
},
{
"id": "daylight-route",
"needs": ["daylight-linestring"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/route/clean.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/route/prepare.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/route/simplify.sql",
"database": config.database,
"parallel": true,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/route/index.sql",
"database": config.database,
"parallel": true,
},
]
},
{
"id": "daylight-waterway",
"needs": ["daylight-linestring"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/waterway/clean.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/waterway/prepare.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/waterway/simplify.sql",
"database": config.database,
"parallel": true,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/waterway/index.sql",
"database": config.database,
"parallel": true
},
]
},
{
"id": "daylight-polygon",
"needs": ["daylight-member"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/polygon/clean.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/polygon/prepare.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/polygon/index.sql",
"database": config.database,
},
]
},
{
"id": "daylight-natural",
"needs": ["daylight-polygon"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/natural/clean.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/natural/prepare.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/natural/simplify.sql",
"database": config.database,
"parallel": true,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/natural/index.sql",
"database": config.database,
"parallel": true
},
]
},
{
"id": "daylight-landuse",
"needs": ["daylight-polygon"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/landuse/clean.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/landuse/prepare.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/landuse/simplify.sql",
"database": config.database,
"parallel": true,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/landuse/index.sql",
"database": config.database,
"parallel": true
},
]
},
{
"id": "daylight-leisure",
"needs": ["daylight-polygon"],
"tasks": [
{
"type": "ExecuteSql",
"file": "../basemap/layers/leisure/clean.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/leisure/prepare.sql",
"database": config.database,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/leisure/simplify.sql",
"database": config.database,
"parallel": true,
},
{
"type": "ExecuteSql",
"file": "../basemap/layers/leisure/index.sql",
"database": config.database,
"parallel": true
},
]
},
]
}