diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/cobrands/bristol/assets.js | 90 |
1 files changed, 77 insertions, 13 deletions
diff --git a/web/cobrands/bristol/assets.js b/web/cobrands/bristol/assets.js index b886c1f2b..77124ce96 100644 --- a/web/cobrands/bristol/assets.js +++ b/web/cobrands/bristol/assets.js @@ -4,26 +4,32 @@ if (!fixmystreet.maps) { return; } -var options = { - wfs_url: "https://maps.bristol.gov.uk/arcgis/services/ext/FixMyStreetSupportData/MapServer/WFSServer", - wfs_feature: "COD_ASSETS_POINT", +// Assets are served from two different WFS feeds; one for lighting and one +// for everything else. They have some options in common: +var common_options = { max_resolution: { 'bristol': 0.33072982812632296, 'fixmystreet': 4.777314267158508 }, min_resolution: 0.00001, - asset_id_field: 'COD_ASSET_ID', asset_type: 'spot', - propertyNames: [ 'COD_ASSET_ID', 'COD_USRN', 'COD_ASSET_TYPE' ], - attributes: { - asset_id: 'COD_ASSET_ID', - usrn: 'COD_USRN' - }, body: "Bristol City Council", srsName: "EPSG:27700", geometryName: 'SHAPE' }; + +var options = $.extend({}, common_options, { + wfs_url: "https://maps.bristol.gov.uk/arcgis/services/ext/FixMyStreetSupportData/MapServer/WFSServer", + wfs_feature: "COD_ASSETS_POINT", + asset_id_field: 'COD_ASSET_ID', + propertyNames: [ 'COD_ASSET_ID', 'COD_USRN', 'COD_ASSET_TYPE' ], + attributes: { + asset_id: 'COD_ASSET_ID', + usrn: 'COD_USRN' + } +}); + fixmystreet.assets.add($.extend({}, options, { wfs_feature: "COD_ASSETS_AREA", asset_type: 'area', @@ -45,11 +51,69 @@ fixmystreet.assets.add($.extend({}, options, { filter_value: 'GRITBIN' })); -fixmystreet.assets.add($.extend({}, options, { - asset_category: "Street Lighting", + +var lighting_options = $.extend({}, common_options, { + wfs_url: "https://maps.bristol.gov.uk/arcgis/services/ext/datagov/MapServer/WFSServer", + wfs_feature: "Streetlights", + asset_id_field: 'Unit_ID', + propertyNames: [ 'USRN', 'Unit_ID', 'Unit_type_description' ], + attributes: { + asset_id: function() { + if (this.attributes && this.attributes.Unit_ID) { + if (this.attributes.Unit_ID.match(/^SL/)) { + // Just in case they ever start prefixing it in the WFS... + return this.attributes.Unit_ID; + } else { + return "SL" + this.attributes.Unit_ID; + } + } else { + return ""; + } + }, + usrn: 'USRN' + }, + filter_key: 'Unit_type_description' +}); + +fixmystreet.assets.add($.extend({}, lighting_options, { + asset_category: "Street Light", asset_item: 'street light', - filter_key: 'COD_ASSET_TYPE', - filter_value: 'SL' + filter_value: [ + 'SL: Street Light', + 'SL: Silverspring CMS', + 'SL: Philips CMS', + 'SL: Feature Fld.Lgt', + 'SL: Gas Light', + 'SL: High Mast', + 'SL: Refuge Column', + 'SL: Subway' + ] +})); + +fixmystreet.assets.add($.extend({}, lighting_options, { + asset_category: "Zebra Crossing Light", + asset_item: 'light', + filter_value: 'SL: Zebra' +})); + +fixmystreet.assets.add($.extend({}, lighting_options, { + asset_category: "Iluminated Bollard", + asset_item: 'bollard', + filter_value: 'SL: Bollard' +})); + +// NB there's a typo in BCC's ‘Iluminated Bollard’ category so this repeats +// the above (without the typo) just in case they fix it. +fixmystreet.assets.add($.extend({}, lighting_options, { + asset_category: "Illuminated Bollard", + asset_item: 'bollard', + filter_value: 'SL: Bollard' +})); + +fixmystreet.assets.add($.extend({}, lighting_options, { + asset_category: "Illuminated Sign", + asset_item: 'sign', + filter_value: 'SL: Sign' })); })(); |