Skip to main content

Web Mapping Frameworks Comparison

Find the right solution for your business

There are many options for web mapping technology frameworks in today’s world. The purpose of this site is to showcase what is available, and if any of these solutions can meet your needs.

The Province of British Columbia currently uses four main web mapping frameworks. These frameworks vary from a cloud-based Software as a Service (SaaS) solution, two Government hosted solutions and Do-It-Yourself solutions.

  1. The SaaS solution is the cloud-based ESRI solution commonly known as AGO or ArcGIS Online.
  2. Two Government hosted service offerings:
    • Common Web Mapping Framework CWM which is based on Openlayers 2, and
    • Internet Mapping Framework IMF2 which is based on VertiGIS’s GeoCortex Essentials.
  3. The Simple Map Kit (SMK) is Open Source and can be deployed anywhere. It is Leaflet.js based and and it can be used to rapidly configure web mapping applications that consume BC Gov-hosted data or uploaded files. The code is also extensible allowing for customization to meet business and end user needs.
  4. Also listed are currently popular open source libaries that provide flexibility and options for development of simple to complex applications. These specific libaries are not hosted or maintained by anyone BC Government Organization, but they have been used (and contributed to) by various project teams within the BC Government to build awesome and business specific solutions. See their respective websites - Leaflet and Mapbox GL JS. Examples of the use of these open source libaries, with the BC Government, are listed below.

Look and Feel

Below are examples of similar functionality in the available solutions.

  Complexity Client Example
AGO Medium BC Wildfire Dashboard
CWM High GeoBC Integrated Land and Resource Registry
IMF2 Low BC Ministry of Environment - BC Frogwatch Atlas
IMF2 High DataBC iMapBC
Leaflet Low FLNRORD Range Branch - MyRangeBC
Mapbox GL JS Low BC Ministry of Environment - Groundwater Wells and Aquifers
SMK Low BC Minstry of Health - Assisted Living and Residential Care Locations
SMK High Translink - Truck Route Planner

Framework Comparison

Costs and Skillsets

Costs can be highly variable and are influenced by multiple factors; as such, it is best to first identify the solution that will meet user needs, then collaborate with DataBC or IIT to arrive at a mutually agreeable business arrangement.

As the owner or developer of the application I want to understand…

What IT skills do you need to develop this solution? Familiarity with ESRI ecosystem of applications and APIs Familiarity with javascript and Openlayers/ relationship with IIT Familiarity with GeoCortex Essentials, .NET development for customization, Jenkins for deploying configuration files to DataBC’s environment Familiarity with NodeJS, leaflet, ArcGIS Javascript API. and HTML/CSS development, github
What IT skills do you need to administer this solution once it has been implemented? Familiarity with ESRI ecosystem of applications Familiarity with JSON configuration files, CWM Configuration, IIT deployment pathways DataBC staff are well versed in ArcGIS Server, Geocortex Essentials administration; customizations require .NET and familiarity with DataBC’s IMF2 Dapplication Development and Delivery Standards Familiarity with JSON configuration files, source to hosting deployment pathways, e.g. github to OpenShift
What type of documentation is available and when was it updated? Online updated regularly, see - Website Online, updated by Vivid Solutions, July 17, 2019 see - Website Online, updated by GeoCortex, see - Website Updated by DataBC, ongoing, see - Website
As a developer what do I control? With an ArcGIS Online account I can create maps and feature services and build ESRI/ArcGIS javascript applications - see website here Checkout the showcase here which describes all of the capabilities of CWM. Checkout the developer guide here. Site configuration and custom workflow development using .NET and deployment to DataBC’s Delivery environment using Jenkins Checkout the developer documentation here and fork the open source code here

User Interface

As the end user of the application I want…

Can I print a map with a user-defined scale, paper size or in combination with a report? 7
Can I draw and edit an Area of Interest ? 7
Can data be downloaded that was created on the map ie. Area of Interest AOI 7
Can I import/export data layers that are in different geographic projection as the map? no* available in ESRI Javascript API/desktop tools import CSV supports projection specification as does WFS/WMS; map is Geographic
Can I add markup text or drawings onto my map for printing?
Can I turn on or off specific map layers while viewing the map?
Can I download operational business data from the map/application? yes* webappbuilder csv, snippet of data no redirects to DataBC Distribution for BCGW data Selection/extraction of feature is a configurable feature
Can you import or load data for use in the map? 7
Can you search for geographic locations or a specific feature on the map?
Does the application provide map navigation tools such as mouse wheel zoom, zoom to extent or zoom to a feature?
Can you select different basemaps which are either an image or a different style of map? ??
Can I save data queries within the map to find locations or interests?      
Can the client easily customize report outputs, either on-screen or printable? 7)
Can I share a link or a saved session so my client either internal or external to government can look at the same layout, zoom scale, and layers.   customized URL is possible to query for features (no saved session currently)
Can I measure distance or area on my map?
Can you use this solution on a mobile device (phone or tablet) with a browser?  
Can you access on mobile devices?  
Are there a variety of base maps to choose from?
Can I identify and discover relationships among features? 2
Can I detect statistically significant patterns?     heat map representation of vector data is built-in
Can I make predictions using analytical models 3      
Can I re-symbolize, modify, or customize map data or labels? 4 7
Can I customize printing of maps? 4 7
Can I save and share the work with others? 7
Can I prepare specific datasets for off-line use?   7
Can I collect data on this application? 5 7
Can I edit data on this application? 6 6 7
Can I work off-line (access without Internet) on this application? 7   7

Backend Technology

As the owner or developer of the application I want to understand…

Where can this application be hosted - in the cloud, on a Government server or elsewhere? Cloud On-Premise On-Premise All
Where is the data stored - in the cloud, on Government server or local drive. All Cloud, On-Premise All Cloud, On-Premise, Local to app
What capability does the application have to secure data or elements of the application based on IDIR/BCeID user and/or layer level security? AGO BCGov Subscription WebADE and Siteminder WebADE and Siteminder 7
Can the application be used when it isn’t connected to the internet? 7   7
What is the maturity and activity level of the project as measured in the Open Source environment? Low High Low High
Does the application allow the user the ability to make small changes that are easy to maintain? (Configuration*) 9 8
Does the application allow the user the ability to invest more in build and maintenance to create a unique experience? (Customization*) 8 7
Does the application allow the someone else the ability to manage it?
Does all data reside in Canada?   11
Does the application provide automatic server scalability to meet use levels? 13 depends on deployment pattern but generally supported
Does the application prevent users from downloading datasets they are viewing?
Security - does the application manage users access at the application level? 14  
Security - does the application manage users access at the data layer level 15 15
Does the application allow my team to self-publish updates?  
Can the application be deployed anywhere?      

Other Spatial Libraries

Libary Name Description Language Link
GDAL - Geospatial Data Abstraction Library a library for reading and writing raster and vector geospatial data formats, and is released under the permissive X/MIT style free software license by the Open Source Geospatial Foundation C, C++, Python see website
Leaflet Open-source JavaScript library for mobile-friendly interactive maps. JavaScript see website
Openlayers Open-source JavaScript library developed for the use of geographic information. JavaScript see website
MapBox Mapbox-gl-js is no longer under the 3-Clause BSD license. By upgrading to this release, you are agreeing to Mapbox terms of service. Javascript see website
OpenStreeMap OpenStreetMap is a map of the world, created by people like you and free to use under an open license. Open Data see website
SO MANY OTHERS! The Open Source Geospatial Foundation (OSGEO) provides a list of Geospatial libraries that offer developers access to a wide range of spatial data, web services, analysis and processing. These libraries are often available as command line tools, and are responsible for the heavy-lifting in many of the popular desktop and web service solutions.   see website

Supporting and Standalone Spatial Services

These REST based web services are standalone and are supported by each of these Web Mapping Frameworks described above.

Name Function More Information
BC Web Map Libary This service provide web service application program interfaces (API) that return georeferenced map images and services per the Open Geospatial Consortium Web Mapping/Feature Service (WMS/WFS) Protocols based on a variety of geographic data sources. see slides for intro here See Website and the BC Data Catalogue
BC ArcGIS Online Layer Gallery This provides a list of all the ArcGIS Feature Layers that are equivalent to the BC Web Map Library See gallery
Geomark The Geomark Web Service allows you to create and share geographic areas of interest from a variety of map coordinate systems and spatial formats. This service is helpful when you need to share an area of interest with people who require that the data be in a different map projection or different mapping software formats. See website
BC Address Geocoder The BC Address Geocoder can be used to resolve locations and addresses in British Columbia. First it can use physical locations (i.e., latitude and longitude) to provide a street address. The second capability is to search a standardized form of civic and non-civic addresses. See website
BC Route Planner The BC Route Planner offers the most efficient intinerary or route to travel on public roads in British Columbia. These plans that are based on the BC Digital Road Atlas compute the shortest or fastest route between start and end points and returns the route, distance, time, and directions. See website
BC Geographical Names The BC Geographical Names REST web service contains a database of 50,000 current and former BC geographic place names. This service can be used to incorporate geographic name searches and location details into other web sites and applications. See website
DataBC Data Publication and Services The DataBC Program encourages and enables the strategic management and sharing of data across the government enterprise and with the public. It is responsible for the BC Data Catalogue, the Open Data initiative and the B.C. Spatial Data Infrastructure and associated products and services. See website