From: Grant Slater Date: Sun, 31 Jan 2016 21:09:42 +0000 (+0000) Subject: Imagery - add root layer support X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/f153bcdc25b7df0778aee101d32487cafa6d292f?ds=sidebyside Imagery - add root layer support --- diff --git a/cookbooks/imagery/recipes/au_agri.rb b/cookbooks/imagery/recipes/au_agri.rb index 0e0362978..17462d0b8 100644 --- a/cookbooks/imagery/recipes/au_agri.rb +++ b/cookbooks/imagery/recipes/au_agri.rb @@ -25,6 +25,7 @@ end imagery_layer "au_ga_agri" do site "agri.openstreetmap.org" + root_layer true text "AGRI: The Australian Geographic Reference Image" copyright "Commonwealth of Australia (Geoscience Australia) - Creative Commons Attribution 4.0 International Licence" projection "EPSG:3857" diff --git a/cookbooks/imagery/recipes/gb_hampshire_aerial.rb b/cookbooks/imagery/recipes/gb_hampshire_aerial.rb index ce46491cb..5a76a0f1e 100644 --- a/cookbooks/imagery/recipes/gb_hampshire_aerial.rb +++ b/cookbooks/imagery/recipes/gb_hampshire_aerial.rb @@ -25,6 +25,7 @@ end imagery_layer "gb_hampshire_aerial_rgb" do site "hampshire.aerial.openstreetmap.org.uk" + root_layer true text "Hampshire Aerial - Summer 2013" source "/data/imagery/gb/hampshire-aerial/hampshire-aerial-RGB.tif" projection "EPSG:27700" diff --git a/cookbooks/imagery/recipes/gb_os_sv.rb b/cookbooks/imagery/recipes/gb_os_sv.rb index 62a610a5b..326a01d0b 100644 --- a/cookbooks/imagery/recipes/gb_os_sv.rb +++ b/cookbooks/imagery/recipes/gb_os_sv.rb @@ -153,6 +153,7 @@ end imagery_layer "gb_os_sv_2015_11" do site "os.openstreetmap.org" + root_layer true projection "EPSG:27700" source "/data/imagery/gb/os-sv/ossv-2015-11-combined.vrt" copyright "Contains Ordnance Survey data © Crown copyright and database right 2015" diff --git a/cookbooks/imagery/recipes/gb_surrey_aerial.rb b/cookbooks/imagery/recipes/gb_surrey_aerial.rb index 86ef3c60c..c3ad9e69f 100644 --- a/cookbooks/imagery/recipes/gb_surrey_aerial.rb +++ b/cookbooks/imagery/recipes/gb_surrey_aerial.rb @@ -25,6 +25,7 @@ end imagery_layer "gb_surrey_aerial" do site "surrey.aerial.openstreetmap.org.uk" + root_layer true projection "EPSG:27700" source "/data/imagery/gb/surrey-aerial/SurreyMosaicECW.tif" end diff --git a/cookbooks/imagery/resources/layer.rb b/cookbooks/imagery/resources/layer.rb index 9b6c82387..6c6c2387f 100644 --- a/cookbooks/imagery/resources/layer.rb +++ b/cookbooks/imagery/resources/layer.rb @@ -22,6 +22,7 @@ default_action :create property :layer, String, :name_property => true property :site, String, :required => true property :source, String, :required => true +property :root_layer, [TrueClass, FalseClass], :default => false property :text, String property :copyright, String, :default => "Copyright" property :projection, String, :default => "EPSG:3857" @@ -34,6 +35,7 @@ property :extension, String, :is => %w(png png8 jpeg), :default => "png" property :max_zoom, Fixnum, :default => 23 +property :url_aliases, [String, Array] action :create do template "/srv/imagery/mapserver/layer-#{layer}.map" do diff --git a/cookbooks/imagery/templates/default/mapserv_fcgi.conf.erb b/cookbooks/imagery/templates/default/mapserv_fcgi.conf.erb index 4e71350fb..5615d3c00 100644 --- a/cookbooks/imagery/templates/default/mapserv_fcgi.conf.erb +++ b/cookbooks/imagery/templates/default/mapserv_fcgi.conf.erb @@ -12,9 +12,9 @@ respawn limit nofile 16384 16384 # https://trac.osgeo.org/mapserver/wiki/EnvironmentVariables -env MS_MAPFILE="/srv/imagery/mapserver/layer-<%= @name %>.map" +env MS_MAPFILE="/srv/imagery/mapserver/layer-<%= @layer %>.map" env MS_MAP_PATTERN="^/srv/imagery/mapserver/" -env MS_ERRORFILE="/tmp/mapserver-layer-<%= @name %>.log" +env MS_ERRORFILE="/tmp/mapserver-layer-<%= @layer %>.log" env MS_DEBUGLEVEL="5" pre-start script @@ -27,7 +27,7 @@ script -n \ -u imagery \ -g imagery \ - -s /var/run/mapserver-fastcgi/layer-<%= @name %>.socket \ + -s /var/run/mapserver-fastcgi/layer-<%= @layer %>.socket \ -M 0666 \ -f /usr/lib/cgi-bin/mapserv end script diff --git a/cookbooks/imagery/templates/default/mapserver.map.erb b/cookbooks/imagery/templates/default/mapserver.map.erb index 248897897..2c271a5fb 100644 --- a/cookbooks/imagery/templates/default/mapserver.map.erb +++ b/cookbooks/imagery/templates/default/mapserver.map.erb @@ -1,6 +1,6 @@ # DO NOT EDIT - This file is being maintained by Chef MAP - NAME "map-<%= @name %>" + NAME "map-<%= @layer %>" STATUS ON SIZE 256 256 UNITS METERS @@ -10,7 +10,7 @@ MAP END LAYER - NAME "<%= @name %>" + NAME "<%= @layer %>" DATA "<%= @source %>" PROJECTION "init=<%= @projection.downcase %>" diff --git a/cookbooks/imagery/templates/default/nginx_imagery_layer_fragment.conf.erb b/cookbooks/imagery/templates/default/nginx_imagery_layer_fragment.conf.erb index d589e0b2f..721867f34 100644 --- a/cookbooks/imagery/templates/default/nginx_imagery_layer_fragment.conf.erb +++ b/cookbooks/imagery/templates/default/nginx_imagery_layer_fragment.conf.erb @@ -1,9 +1,13 @@ # DO NOT EDIT - This file is being maintained by Chef -location ~* "^/layer/<%= @name %>/(\d+)/(\d+)/(\d+)\.(png|jpg|jpeg)$" { +location ~* "^/layer/<%= @layer %>/(\d+)/(\d+)/(\d+)\.(png|jpg|jpeg)$" { # Override QUERY_STRING to force mapserver query parameters - fastcgi_param QUERY_STRING "map=/srv/imagery/mapserver/layer-<%= @name %>.map&mode=tile&layers=<%= @name %>&tilemode=gmap&tile=$2+$3+$1"; - fastcgi_pass "unix:/var/run/mapserver-fastcgi/layer-<%= @name %>.socket"; + fastcgi_param QUERY_STRING "map=/srv/imagery/mapserver/layer-<%= @layer %>.map&mode=tile&layers=<%= @layer %>&tilemode=gmap&tile=$2+$3+$1"; + fastcgi_pass "unix:/var/run/mapserver-fastcgi/layer-<%= @layer %>.socket"; include fastcgi_params; gzip off; } + +<% if @root_layer -%> +rewrite "^/(\d+)/(\d+)/(\d+)\.(png|jpg|jpeg)$" "/layer/<%= @layer %>/$1/$2/$3.$4" last; +<% end -%>