Imagery - add root layer support
authorGrant Slater <git@firefishy.com>
Sun, 31 Jan 2016 21:09:42 +0000 (21:09 +0000)
committerGrant Slater <git@firefishy.com>
Sun, 31 Jan 2016 21:11:37 +0000 (21:11 +0000)
cookbooks/imagery/recipes/au_agri.rb
cookbooks/imagery/recipes/gb_hampshire_aerial.rb
cookbooks/imagery/recipes/gb_os_sv.rb
cookbooks/imagery/recipes/gb_surrey_aerial.rb
cookbooks/imagery/resources/layer.rb
cookbooks/imagery/templates/default/mapserv_fcgi.conf.erb
cookbooks/imagery/templates/default/mapserver.map.erb
cookbooks/imagery/templates/default/nginx_imagery_layer_fragment.conf.erb

index 0e0362978dc897af691c26f2ead899c0b5498477..17462d0b8b86c37f84866118909ba2c9e50c5d3d 100644 (file)
@@ -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"
index ce46491cb82dc4b1c617695a52458f3ad856f252..5a76a0f1ef0233ad011bdfa90626552a2625ce52 100644 (file)
@@ -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"
index 62a610a5b2a6b18e51fbfb2afe13f6d4c0afb068..326a01d0bd59e4fd9a75f5909b2a36111cf7bc84 100644 (file)
@@ -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"
index 86ef3c60cb2c6f8f89d62508154503c57b450aea..c3ad9e69f8e9aaf883e2db15b35a3e1ae754e76a 100644 (file)
@@ -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
index 9b6c82387cf99495423e3fb09c0dca005c1825d0..6c6c2387f8b11d105c8beb74ee5b672dd26758d6 100644 (file)
@@ -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
index 4e71350fbeedb5901702e902bddf68b43dc483bd..5615d3c001341fc70992d4a75aa4afa204da0dd3 100644 (file)
@@ -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
index 24889789751e6a971d29d4fcebc4af3a676e2922..2c271a5fb90c8f3047d028c69e4bfe8afa997433 100644 (file)
@@ -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 %>"
index d589e0b2f770d130bfccaf4212a9480f667a22f1..721867f34c7025d79e30859a11ee286f60fed28b 100644 (file)
@@ -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 -%>