aboutsummaryrefslogtreecommitdiff
path: root/app/helpers/sections_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers/sections_helper.rb')
-rw-r--r--app/helpers/sections_helper.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/app/helpers/sections_helper.rb b/app/helpers/sections_helper.rb
new file mode 100644
index 0000000..8180fee
--- /dev/null
+++ b/app/helpers/sections_helper.rb
@@ -0,0 +1,19 @@
+module SectionsHelper
+ # Render a section as a GeoJSON FeatureCollection
+ def geojson_feature_collection(section)
+ out = []
+ class_name = { baseVal: "cat#{section.category_id} sec#{section.id}" }
+ style = { fill: section.category.color }
+
+ section.resources.each do |marker|
+ # Add styling
+ marker = marker.to_geojson
+ marker['className'] = class_name
+ marker['style'] = style
+
+ out << marker.to_json
+ end
+
+ raw("{ \"type\": \"FeatureCollection\", \"features\": [ #{out.join(',')} ] }")
+ end
+end