The Reusable Accessible Mapping Platform (RAMP), also known as the Federal Geospatial Platform Visualiser (FGPV), is a Javascript based web mapping platform that provides a reusable, responsive and WCAG 2.0 "AA" compliant common viewer platform for the Government of Canada.
The Reusable Accessible Mapping Platform (RAMP), also known as the Federal Geospatial Platform Visualiser (FGPV), is a Javascript based web mapping platform that provides a reusable, responsive and WCAG 2.0 "AA" compliant common viewer platform for the Government of Canada.
This is an unsupported product. If you require a supported version please contact [email protected] for a cost estimate. The software and code samples available on this website are provided "as is" without warranty of any kind, either express or implied. Use at your own risk. Access to this GitHub repository could become unavailable at any point in time.
This project is now a monorepo and contains the following repos under the packages
folder:
Install Python 2 if you don't already have it: Python 2.7.18 Download (Python 3 is not supported)
Install the required C++ build tools (2 options)
$ npm install --global windows-build-tools
Install Rush if you don't already have it:
$ npm install -g @microsoft/rush
Clone the repo and use Rush to install dependencies
$ rush update
You might want to run rush update -p --full
to cleanly re-install all the dependencies (-p
will purge what is currently there)
Build the project:
$ rush build
rush build
will need to be run before the rush serve
statement below any time code is changed in ramp-geoapi
to avoid an outdated buildServe the project:
$ rush serve -p 10 -v
-p 10
specifies the maximum number of concurrent processes to run (we need 8 right now to serve all the packages at the same time)-v
provides verbose output for debuggingIf you want to work on only a subset of packages instead you have to run their builds/serves seperately:
// terminal 0
$ cd packages/ramp-core
$ npm run serve
// terminal 1
$ cd packages/ramp-plugin-enhanced-table
$ npm run serve
Lastly open the samples page:
http://localhost:6001/samples/index-samples.html
etc.
For more rush commands or general reading: https://rushjs.io/pages/intro/welcome/
For more info on individual packages builds/documentation read the READMEs in the respective folder.
For more information on this project, please see one of the sections below:
Also, please visit the Documentation Site for additional content on:
We'll go through the simplest way to use RAMP, for more information see the map author guide
First, grab the most recent release from the github releases
Place the files rv-main.js
and rv-styles.css
within your webpage's folder structure. We usually put our JavaScript files under a js
folder and our stylesheets under a css
folder.
Then you want to include those files on your page, along with jQuery and the needed polyfills:
head
<link rel="stylesheet" href="../../../rv-styles.css" />
body
<script
src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"
></script>
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=default,Object.entries,Object.values,Array.prototype.find,Array.prototype.findIndex,Array.prototype.values,Array.prototype.includes,HTMLCanvasElement.prototype.toBlob,String.prototype.repeat,String.prototype.codePointAt,String.fromCodePoint,NodeList.prototype.@@iterator,Promise,Promise.prototype.finally"></script>
<script src="/js/rv-main.js"></script>
Now that you have the required files on your page we should add the map element.
<div
is="rv-map"
style="height: 100%; display:flex;"
rv-langs='["en-CA", "fr-CA"]'
></div>
A map should now load on your page. Theres much more you can do with RAMP, a good place to start is the map author guide
A collection of sample source files are in the repo.
A live site containing our development sample page is found here.
An example of a production site is the Government of Canada Climate Data Viewer.
If you have a bug to report you can open up an issue at https://github.com/fgpv-vpgf/fgpv-vpgf/issues by clicking the green button above the issue list
For more information on contributing read the Contributing Guide. Note there may be some references to the pre-monorepo setup, pull requests are now only needed in one place (this repo).
The team can be reached at [email protected]
RAMP 4 has put out its initial release. Notable changes include:
The release notes cover the differences, breaking changes, and feature gaps between this version and RAMP 4.