Xweather MapsGL
The Xweather MapsGL SDK allows developers to quickly customize and integrate a variety of high-quality, vector-based weather mapping imagery and visualizations into their applications and custom solutions. You can use a variety of supported third-party mapping libraries which allows developers to easily add weather content and visuals into their existing mapping platforms.
Follow our Getting Started guide to quickly add weather data and visualizations to your web applications.
Use Cases
Benefits of the Xweather MapsGL SDK include:
- Visualizing real-time weather and geospatial data
- Easily animating weather data across time series
- Querying and filtering weather and geospatial data for any map location
- Customizing the presentation and styling of weather and geospatial information client-side
Check out our examples to see what's possible with our MapsGL SDK.
Requirements + Compatibility
- Requires an active Xweather Flex subscription (opens in a new tab) to the Xweather MapsGL, API and/or Maps service(s).
- Integrates with third-party mapping libraries, including MapLibre GL (opens in a new tab), Mapbox GL (opens in a new tab), Google Maps (opens in a new tab) and Leaflet (opens in a new tab).
- Compatible with modern browsers.
Concepts
MapsGL is a graphics library utilizing WebGL (opens in a new tab) that renders weather and other custom map data all in the browser. Since rendering happens client-side, a user has full control over the styling and rendering of that data compared to server-side rendering of raster tiles.
Map Controller
A map controller acts as an adapter to a third-party mapping library and provides a consistent interface between the functionality of MapsGL and the underlying implementation of a third-party mapping library. All MapsGL-related data, such as data sources, weather layers, custom layers, and animation timeline information, is managed by the map controller.
Sources
Data sources are responsible for loading and providing the necessary data for a map layer. Since data sources are created and cached apart from their associated layer(s), a single data source can be used to render one or more layers with different styles. A layer must be associated with a data source in order for it to be rendered to the map. The following data sources are supported:
- raster: Static raster imagery that cannot easily be converted to vector formats, such as satellite or aerial imagery.
- vector: Vector tiles (opens in a new tab) that contain geospatial vector data, such as points, lines, and polygons.
- geojson: JSON based format designed that represents geographical features with their non-spatial attributes.
- encoded: Gridded binary/raster data whose data is encoded into one or more color bands of an image.
See the Sources documentation for more information about setting up and using data sources.
Layer
Layers are the visual, fully styled representations of the data associated with their data source. Currently, all MapsGL layers are tile layers whose tile data can vary depending on the type of data source used. Each layer renders its data based on the renderer type the layer is configured with.
The following layer render types are supported:
- raster: Renders static raster imagery
- fill: Renders vector polygon geometry as filled shapes
- line: Renders vector polygon and polyline geometry as lines
- circle: Renders vector points as circles
- symbol: Renders vector points as images, glyphs or custom GLSL shaders **
- sample: Renders encoded data by sampling values and colorizing them based on a color scale
- grid: Renders a grid of points as symbols by sampling encoded data at those grid points
- contour: Renders isolines by sampling encoded data
- particle: Renders vector data, such as wind speed or ocean currents, as particle flow fields
- heatmap: Renders the density of vector point data
** Image and glyph support coming soon
See the Layers documentation for more information about using and configuring map layers. Also, refer to the Styles documentation for complete details regarding these layer render types and the configurable options for custom styling.
Styles
Layer styles, also referred to as paint properties, define how layer data will be rendered on the map. The available styling options are depenedent upon the data source and configured layer renderer type. Refer to the Styles documentation for complete details regarding the configurable paint properties for controlling your data's presentation.
Weather Layers
Our MapsGL SDK also includes numerous pre-configured and pre-styled weather layers for you to include in your maps just by using a simple layer code. You can learn more about using these built-in weather layers by reviewing our Weather Layers documentation.