Mapbox Visual for Power BI - High performance, custom map visuals for Power BI dashboards

Overview

Mapbox Visual for Microsoft Power BI

Make sense of your big & dynamic location data with the Mapbox Visual for Power BI. Quickly design high-performance map visuals using graduated circles, clusters, and interactive heatmaps. Even customize your Mapbox visual with custom shapes, imagery, and design using Mapbox Studio. Check out the Mapbox Gallery to get a sense of what's possible with Studio.

Drop in the Mapbox Visual to your Power BI dashboard from the Microsoft Office Store.

Examples

Documentation

FAQ

Supported Power BI Environments and Tools

The Mapbox Visual for Power BI supports:

Mapbox Visual Version PBI Report Server PBI Mobile (iOS/Android) PBI Embedded PBI Publish to Web PBI Desktop Chrome Firefox Safari Edge IE11
v 1.2.4 Yes Yes Yes Yes Yes Yes Yes Yes Yes No

Firewall rules - Domain names and ports to use with Power BI in a secure environment

The Mapbox Visual by default operates using API resources hosted on api.mapbox.com securely requested using HTTPS and your Mapbox access token. If you need all requests to be made inside of your corporate or air-gapped network, you can host Mapbox Atlas on your own server and run the Mapbox Visual for Power BI completely on-premise.

No data in the Power BI data model is ever sent to Mapbox APIs. Only the requested reference resources including map style sheets, vector tiles, icons, and fonts are retrieved from Mapbox APIs.

Domain Port Resource
api.mapbox.com 443 icons, map styles, fonts
*.tiles.mapbox.com 443 vector tiles

How many data points does the Mapbox Visual support?

Mapbox supports up to the maximum allowed by Power BI, 30,000 rows, for all visualization types including Choropleth (fill), cluster, heatmap, and circle. If your data is >30k rows, the Mapbox Visual will sample your data down to 30k rows and visualize the resultant sample. If you need to visualize more than 30k rows for your use case, reach out to our sales team to connect you with a Mapbox Partner to setup a custom solution for your use case.

Roadmap

  • Current roadmap is managed by @samgehret.
  • Check out the project board on this github for an up to date roadmap.
  • v1.2 just released to the marketplace. It will be follwed by v1.3 later in Q3 2018.
  • To request feature enhancements or to report bugs, please log an issue.
  • Our release timeline will be discretionary based on new feature availability, but most likely every 2-3 months.

Beta Version

  • We will keep an up to date beta version in this section.
  • v1.3 beta is the lastest beta.

Developing and Contributing.

  • This is an open source repo and we welcome contributions from the public.
  • Please see contributing.md for more information.

Adding MapboxGL Viz to a Power BI Dashboard

On Power BI Online or Desktop, click add visual from marketplace and search Mapbox. Check out the visual on the Microsoft Office Store at https://appsource.microsoft.com/en-us/product/power-bi-visuals/WA104381472?tab=Overview.

What is Mapbox?

Mapbox is the location data platform for mobile and web applications. We provide building blocks to add location features like maps, search, and navigation into any experience you create. Use our simple and powerful APIs & SDKs and our open source libraries for interactivity and control.

Not a Mapbox user yet? Sign up for an account here. Once you’re signed in, all you need to start building with Power BI is a Mapbox access token.

Screenshots and GIFs

Comments
  • "Your browser doesn't support WebGL" error in PBI Desktop

    We are getting this error in PBI Desktop with the latest (180219) release of the MapBox visualization. Running latest PBI Desktop version (2.55.5010.641). The machine is Windows 10 and has IE, Edge and latest Chrome installed.

    How to troubleshoot this?

    image

    bug Platform Specific 
    opened by VitalyMCT 33
  • Use a custom URL Style (not mapbox)

    Use a custom URL Style (not mapbox)

    Hi,

    Can someone tell me how can i save my features to update MapBox ? For now, i just try to change the descriptions in capabilities but when i create my package, it don't appear. I'm beginner with PowerBI and custom visual and i read a lot of documentation but i can't find a way to update this custom visual.

    Thanks guys !

    Needs information 
    opened by Tarasteed 32
  • Refactor color and size cals to always use domains, continuous color palettes

    Refactor color and size cals to always use domains, continuous color palettes

    All color and size interpolation calculations should:

    If data value is continuous/measure:

    1. Calculate natural breaks domains with geoStats - http://www.intermezzo-coop.eu/mapping/geostats/. Domains should have 5-6 discrete breaks.
    2. (if color) Calculate continuous color scales using the PowerBI Color palette selector UI and Chroma.js.
    3. Create interpolate Mapboxgl expressions based on natural breaks domains to style color or size of data

    If data value is discrete/dimension:

    1. (if color) Calculate discrete color scale using PowerBI discrete color palettes.
    2. Create match Mapboxgl expressions to style color, size of data features
    • All setting color selections should use color scale selections if data is continuous/measure.
    • All setting color selections should use discrete color picker selections if data is discrete/dimension.

    #Example Currently, heatmap visualizations only allow the user to select a single color. The color selection changes the max density color used in the heatmap viz. This is confusing to the user, who wants to control the entire color ramp for the data in the viz.

    cc @gyulalaszlo

    feature request Priority: Medium 
    opened by ryanbaumann 18
  • Document choropleth options

    Document choropleth options

    Can you please post examples of valid values for Source Layer Name and Vector Property like is already done for Vector Tile URL? How do you find out these values, for, say: mapbox://mapbox.us_census_states_2015?

    documentation 
    opened by otravers 17
  • Edge, IE11, Safari browser support

    Edge, IE11, Safari browser support

    PowerBI custom visuals support Edge, IE11, and Safari. In order to launch on the Office Store, the custom visual has to work in all of these scenarios. The custom visual works great on Chrome and Firefox, leading me to believe that Edge, IE11, and Safari enforce different security policies for iframe sandboxes.

    Filed issue in PowerBI Custom Viz repo: https://github.com/Microsoft/PowerBI-visuals/issues/299

    @szilardhuber @petispaespea

    In IE11:

    • Added a startsWith js workaround modifier to get past a basic string manipulation here: https://github.com/mapbox/mapboxgl-powerbi/commit/06403df48b0fef9a3af8e054fefd21a68a217dd3#diff-2d05d529f687bddee587310550a7b0d0
    • Get error when loading tiles in a map:

    In Edge

    DOMException: Code: 18, Security Error when trying to load tiles for map.

    Safari

    Unable to load blob from the worker. Map tiles do not load.

    Next Steps

    • [x] @anandthakker any ideas if this could be related to the remaining CSP's we require?
    child-src blob: ;
    img-src data: blob: ;
    

    For the examples above I'm using the latest master build of mapbox-gl-js on 1/22.

    Here's a minimal example to try: https://app.powerbi.com/view?r=eyJrIjoiOWEyMDJmOWQtOTgwMC00ZmYwLWI4NzYtYzQxMDBmNGJiZmUzIiwidCI6IjYyOWE3MGIyLTMyYjktNDEyNi05NTFlLTE3NjA0Y2Y0NTZlYyIsImMiOjF9

    cc @lucaswoj

    Priority: Medium 
    opened by ryanbaumann 15
  • Choropleth using Data Colors - forgets color settings after filtering

    Choropleth using Data Colors - forgets color settings after filtering

    mapbox issue 183 repo.zip I've noticed an issue when using the Choropleth feature and setting Data Colors (based on a text/string field). When an external filter (e.g. a Slicer tile) changes the list of Data Colors, the visual sometimes "forgets" the settings.

    The repo steps are a bit complicated - see attached. The scenario is 3 Status values for a set of Locations: Poor/Fair/Good, which should translate into Red/Yellow/Green.

    Note when opened, the Indicator Slicer is set to C, which should show only Poor/Fair as Red/Yellow - instead it defaults to the 1st colors in the palette. Changing the Indicator Slicer to A, then B, then C, the colors show correctly. With the Slicer set to C, close, save and re-open - the preset colors disappear again, but come back when you cycle through the Indicator Slicer.

    Once set for a text value, the colors need to stay locked, no matter the impact of external filters.

    bug 
    opened by Mike-Honey 13
  • Choropleth layer auto-zoom does not focus on the filtered zone

    Choropleth layer auto-zoom does not focus on the filtered zone

    When using a filter to select a "zone" in the map, the autozoom go back to show the full extend of the underlaying vector layer.

    To test, simply use the US States choropleth and a list of states as filter. Select a state in the list and the maps zoom full out. It should be zooming in or pan to show the selected state in the same fashion it do when we are using lat/long to filter points.

    By the way, good work with this visual!

    feature request Starschema 
    opened by indiciagerry 12
  • How-To Add a Choropleth Guide

    How-To Add a Choropleth Guide

    Proposed copy for the Choropleth layer documentation cc/ @colleenmcginnis

    Mapbox Visual for Power BI -Choropleth

    1. Download and use the latest version of the Mapbox Visual PBIVIZ file (https://github.com/mapbox/mapboxgl-powerbi/raw/master/dist/mapboxGLMap.pbiviz)
    2. Prepare the shapes you want to include in your visualization as a Choropleth layer. If you need Countries, US States, or US Postcodes - no need to do this work, those shapes are included in the visual!
    3. Produce a Geojson or Shapefile of the boundaries you want to use. The boundaries should contain one uniquely-identifying property key that matches to your data. Common examples are a FIPS code, Postal Code, ISO code, or a unique name string.
    4. If your shapes have a lot of detail (>10 mb of geojson is a good rule of thumb), simplify the boundaries before uploading to Mapbox using www.mapshaper.org. Export your simplified boundaries as geojson.
    5. Upload your boundaries to Mapbox as a tileset
    6. Once your tileset finishes processing, click on the tileset to get the details from it to use in your Power BI visual.
      1. Map ID (mapbox://rsbaumann.6ftg6wl3)
      2. Layername (losa_crime_joined)
      3. Property name (LSOA11CD)
    7. Configure the data for your Choropleth layer a. Drag the field from your Power BI data source that matches the property values in your shapes to the Location field. Drag the metric you want to style the shapes by to the Color field. b. Turn off all layers except the Choropleth layer from the Format pannel * c. Select Custom from the Data dropdown in the Choropleth layer settings. Enter the map ID of your shapes into your Vector Tile URL (always include mapbox:// in front of your map ID), layername into the Vector Tile Layername field, and property into the Vector Property field. d. Your Tileset should show up in your Mapbox Visual container

    Troubleshooting

    1. When I put my vector tile URL, source layer, and vector property in, I dont see any shapes on my map.
    2. Do the values in your Power BI Location data field match the data type (string vs. numeric) and exact data values in your vector tiles you uploaded to your Mapbox account?
    3. Does your Vector Tile URL field begin with mapbox://? A correct tileset URL should look like mapbox://rsbaumann.my-tileset-id.
    4. My layer does not show up but I’m sure all the settings are correct.
    5. Try toggling the Choropleth layer on and off again in your visual.
    6. Can I use a Choropleth layer with other Circle, Heatmap, or Cluster layers?
    7. No. This feature is on our roadmap but not currently available.
    documentation 
    opened by ryanbaumann 11
  • Choropleth / Fill Map layer - master ticket

    Choropleth / Fill Map layer - master ticket

    This ticket captures the entire scope of Choropleth layer support in the Mapbox Visual for Power BI. cc @szilardhuber @petispaespea @endre-jenei @baspeti

    Features

    • [x] Support polygon shape data from a Vector Tile source as a mapbox:// URL.
      • Should work seamlessly with user-created Mapobox Tilesets.
      • Mapbox tilesets support drag-and-drop conversions to Vector Tiles from Shapefile, KML, and Geojson data formats.
    • [x] The user interface for selecting a Vector-Tile source layer and Property Name should auto-populate the available fields in a dropdown list.
      • The default value should be the first available layer name and property value in the drop-down.
      • A user should not have to copy more than the Map ID of a tileset from their Mapbox Tileset URL and paste it into the Vector Tile URL in Mapbox.
      • To get the list for the drop-down, request the tileJSON for the tileset using the Maps API (exmaple URL here) and parse out the list of values for properties and vector layernames.
    • [x] The Choropleth layer should support the following style options in the Format panel:
      • A min, med, and max fill-color value selector (or continuous color palette, when available in Power BI custom visuals) for a measure data color value
        • Color values for continuous palettes should default to quantile domain stops for color value calculations.
      • A categorical fill-color value selector for a grouping/dimension data color value (see the circle viz for implementation)
      • A min and max zoom (between 0 and 22) slider for layer visibility
      • A fill-opacity slider
      • An outline color dropdown, outline-width counter, and outline-opacity input selector.
        • This outline style should be rendered as a line layer placed one layer above the fill layer. Do not use a fill layer with fill-outline-color, for maximum flexibility
    • [x] The Choropleth layer should support tooltips.
      • Tooltip values should update on mouse-move using the debounce function.
      • Tooltip values should display all values from the location, color, and tooltip fields used int he Power BI viz
      • The tooltip values should map from the data in Power BI to the property match in the vector tiles (such as postcode, or country) using a Map lookup data object, with the Map key being the unique property value to join between Power BI and the Vector Tile source.
    • [ ] The Choropleth layer should support rendering multiple layers in the same map.
      • The current beta restricts the Choropleth to be the only viz type used if it is selected. This is because of concerns around grouping and aggregation when a user includes a highly grouped dimension (location) and a unique dimension per data value (longitude/latitude) in the same data response from the Power BI data api.
      • The Choropleth layer should properly display the data in Power BI grouped and aggregated by only the data in the location field, not the data in the longitude/latitude fields.
      • The Choropleth layer should render by default as the lowest visual layer order in the visual layer stack (below clusters, heatmaps, and circles).
    • [x] The Choropleth layer should present the user with an errors
      • Error with suggested actions to fix if a location dimension is not used in the viz data fields.
    • [ ] The layer should have tests validating that layer works with
      • Multiple layers
      • A sample tileset and data set
    • [x] Start work from the branch beta 1.1.0
    feature request Milestone 2 Priority: High 
    opened by ryanbaumann 11
  • Data selection filter (map -> other dashboard components)

    Data selection filter (map -> other dashboard components)

    Users should be able to select a feature or set of features from the map using a bounding box selector. Features in the selected region should be passed as a filter to other dashboard visualizaitons. See this for an example: https://www.mapbox.com/mapbox-gl-js/example/using-box-queryrenderedfeatures/

    feature request Priority: Medium 
    opened by szilardhuber 11
  • Ability to make 3d Choropleth Extrusions Out of the Box

    Ability to make 3d Choropleth Extrusions Out of the Box

    Add functionality where users can make 3d Chroropleth Extrusions as a standard feature.

    Sample Code

    Needed features:

    • Create a new height field within the Fields Panel
    • Within the Choropleth Format Panel, there needs to be settings for base, and a height multiplier. In case there are different levels, users should be able to adjust how far the extrusions are able to "pop out"
    • If the "Height" field is filled in, while choropleths are enabled, the extrusion should be automatically applied to the map.
    • Should support drilling between choropleth layers, as well as custom polygons and shapes.
    feature request Priority: Medium Starschema 
    opened by samgehret 9
  • Tooltip information not in th location order

    Tooltip information not in th location order

    Fileds added to the tooltip do not appear in the order of the location instead they appear in the order of fields, this happens when hovering over a group of locations to view their information together.

    error

    opened by auto1408 0
  • assign position of legend

    assign position of legend

    it's probably infeasible to be able to specify a position for the legend box, but i would love to be able to at least assign it to a different corner--top left instead of bottom right, for example.

    opened by rgerecke-ops 2
  • assign color for null value

    assign color for null value

    currently, cloropleth maps allow you to assign a color to minimum & maximum values. null values seem to be assigned to the minimum value color. it would be more helpful to have null values map to their own unique color (like the 'highlight' color). thanks!

    opened by rgerecke-ops 0
  • meaning of maximum rows by Power BI (30,000 rows)

    meaning of maximum rows by Power BI (30,000 rows)

    Hi ,

    in the plugin main page it says "Mapbox supports up to the maximum allowed by Power BI, 30,000 rows"

    what does that mean ? is this talking about number of objects actually displayed on the map (I.e 30k circles , clusters ,or polygons) ? or it actually means that that my dataset should have less than 30k rows. because my dataset could have 100k row and only maps to 100 object, if this is the case will the data still be samples? wont I get the correct numbers/aggregates/stats ?

    thanks

    opened by malsulaimi 0
  • Tiny map on phone screen, and lassooing

    Tiny map on phone screen, and lassooing

    Hi there, our underwriters fly all over Canada to do property inspections, so I upload the addresses that need inspections into a Mapbox Map in Power BI, publish, and share the weblink with them. But there’s no point in them looking at the map at the weblink address or in the power BI app because both maps are so tiny on the screen that I might as well just send them the google maps link with the trip planned.

    It would be great if the map filled almost the whole screen.

    Second, is there any way to plan a trip based on how I lassoo them on the screen? Currently, I can lasso the points, but it doesn’t do anything, just highlights them.

    It would be great if I could lasso a bunch of points I think he should inspect, then get a screen that downloads the data for JUST those points. Or maybe it would create a table with just those points’ data. That would be amazing. Then what would be even more amazing if it I could plan a trip for him that gave me driving times and directions. 😊😊

    Thank-you.

    opened by bonjourposte 0
Releases(v1.5.0)
  • v1.5.0(Oct 10, 2019)

    • Upgrade to the latest Mapbox GL SDKS (v1.0.0)
      • All Mapbox Visual for Power BI users will now be on Mapbox's new paygo pricing based on mapload. Previously pricing was based on mapview. This should result in a lower SKU usage for most Power BI users. Maploads have a generous free tier of 50k free per month.
      • Details at https://blog.mapbox.com/new-pricing-46b7c26166e7
    • Fixes default map styles when creating a new visual to default to "light" instead of "custom"
    • Fixes a security flaw that could be exploited in an XSS attacks
    Source code(tar.gz)
    Source code(zip)
  • 1.2.1(Jun 13, 2018)

    New Features

    • Enhances Chloropleth layer types with support for:

      • Drilling into multiple layers
      • Lasso Select for data points
      • Polygon Select for data points
      • Configurable highlight colors.
    • Browser support infrastructure for:

      • Safari
      • Edge
      • IE11
    • Filtering

      • Use the Mapbox visualization to filter other visualizations and vice-versa
    Source code(tar.gz)
    Source code(zip)
  • 1.1.3(May 16, 2018)

    New Features

    • Adds a Choropleth layer type that supports:
      • Global countries
      • US States
      • US Postcodes
      • Any custom tileset of polygon geometries uploaded to a Mapbox account
        • Draft documentation for Choropleth layers is at https://github.com/mapbox/mapboxgl-powerbi/issues/142
    • Adds native Power BI Tooltips
    • Added an AutoZoom component to allow the user and developer to toggle map autoZoom to extents on or off.
    • Added a zoom and center long/lat value to initialize map visual from a specific location in the viz settings.
    • Use the PowerBI sample data reduction algorithm, enabling a spatially-representative display of >30k data rows.

    Performance

    • Improved performance of circle, heatmap, and cluster layers

    Bugs

    • Custom Mapbox GL Stylesheets now work if served from a local domain (such as via Atlas Server)
    • Removed check for browser type to prepare for General Availability release on the Office Store supporting Edge and Safari browsers
    • Removed check for WebGL support, as it was causing errors in certain external display + GPU combinations
    Source code(tar.gz)
    Source code(zip)
  • 1.0.5(Feb 19, 2018)

  • 0.1.0(Jan 28, 2018)

    • Mapbox PowerBI first release
    • Supports PowerBI Desktop, Online with Chrome and Firefox browsers
    • Supports custom styles created on a Mapbox Studio account www.mapbox.com/studio
    • Supports heatmap, graduated circle, and clusters with property aggregation layer types
    • Supports multiple visualization layers in the same map
    • Includes two sample workbooks using the custom visualization
      • USGS Earthquakes in 2017
      • NYC Cycling Incidents 2012-2016
    Source code(tar.gz)
    Source code(zip)
Owner
Mapbox
Mapbox is the location data platform for mobile and web applications. We're changing the way people move around cities and explore our world.
Mapbox
This map is tracking the position of ISS(international space setallite) at every 1 second. I use Nasa's "where the iss" API and "Leaflet.js" for the map.

ISS-tracking-map About This map is tracking the position of ISS(international space setallite) at every 1 second. I use Nasa's "where the iss" API and

Waz.sheeran 2 Oct 25, 2021
Mapbox JavaScript API, a Leaflet Plugin

mapbox.js A Mapbox plugin for Leaflet, a lightweight JavaScript library for traditional raster maps. For the state-of-the-art Mapbox vector maps libra

Mapbox 1.9k Dec 23, 2022
Draw tools for mapbox-gl-js

@mapbox/mapbox-gl-draw Adds support for drawing and editing features on mapbox-gl.js maps. See a live example here Requires mapbox-gl-js. Compatible v

Mapbox 750 Jan 2, 2023
Vuejs 2 components for interacting with mapbox-gl-js

VueMapbox Combine powers of Vue.js and Mapbox Gl JS Vue-mapbox is wrapper around Mapbox GL JS library that provides vueish-way to interact with the ma

Alex 425 Dec 26, 2022
Demo of Singapore buildings 3D tiles from OneMap on Mapbox GL JS.

Singapore buildings 3D Tiles from OneMap 3D on Mapbox GL JS This is a demo of Singapore buildings 3D tiles from OneMap 3D on Mapbox GL JS. Development

Chee Aun 5 Nov 6, 2021
(IDW) Interpolated Heatmap Layer for mapbox-gl

Mapbox :: Interpolated Heatmap(s) InterpolateHeatmapLayer is a minimalist JavaScript library for rendering temperature maps (or interpolate heatmaps)

Vinayak Kulkarni 13 Dec 15, 2022
MERN stack travel app using mapbox API, Travel and drop pin , share reviews and rate the location

MERN-Travel-Map Travel Map Pin A single page application built with MERN Stack from scratch (MongoDB + Mongoose, Express, React & NodeJs) Table of Con

Bùi Quốc Trọng 11 Dec 29, 2022
jQuery Vector Map Library

This project is a heavily modified version of jVectorMap as it was in April of 2012. I chose to start fresh rather than fork their project as my inten

10 Best Design 1.8k Dec 28, 2022
jQuery Vector Map Library

This project is a heavily modified version of jVectorMap as it was in April of 2012. I chose to start fresh rather than fork their project as my inten

10 Best Design 1.8k Dec 28, 2022
JavaScript WebGL 3D map rendering engine

VTS Browser JS is a powerful JavaScript 3D map rendering engine with a very small footprint (about 163 kB of gziped JS code). It provides almost all f

Melown Technologies, SE 203 Dec 7, 2022
A Node.js map tile library for PostGIS and torque.js, with CartoCSS styling

Windshaft A Node.js map tile library for PostGIS and torque.js, with CartoCSS styling. Can render arbitrary SQL queries Generates image and UTFGrid in

CARTO 306 Dec 22, 2022
Add time dimension capabilities on a Leaflet map.

Leaflet TimeDimension Add time dimension capabilities on a Leaflet map. Examples and basic usage API L.Map L.TimeDimension L.TimeDimension.Layer L.Tim

SOCIB public code 379 Dec 23, 2022
Serverless raster and vector map tile generation using Mapnik and AWS Lambda

tilegarden ??️ ?? Contents About Usage Deployment to AWS Additional Configuration Options Required AWS Permissions Features Configuration Selection an

Azavea 89 Dec 22, 2022
Lightweight Node.js isochrone map server

Galton Lightweight Node.js isochrone server. Build isochrones using OSRM, Turf and concaveman. Francis Galton is the author of the first known isochro

Urbica 266 Dec 17, 2022
A pluggable Node.js map tile server.

TileStrata TileStrata is a pluggable "slippy map" tile server that emphasizes code-as-configuration. The primary goal is painless extendability. It's

Natural Atlas 409 Dec 30, 2022
A map tool with real-time collaboration 🗺️

Mapus Maps with real-time collaboration ??️ Mapus is a tool to explore and annotate collaboratively on a map. You can draw, add markers, lines, areas,

Alyssa X 3k Jan 4, 2023
3D web map rendering engine written in TypeScript using three.js

3D web map rendering engine written in TypeScript using three.js

HERE Technologies 1.2k Dec 30, 2022
Mind elixir is a free open source mind map core.

Mind-elixir is a framework agnostic mind map core

DJJo 1.4k Jan 2, 2023
Fast Map built for keys that are always fixed size uniformly distributed buffers.

turbo-hash-map Fast Map built for keys that are always fixed size uniformly distributed buffers. npm install turbo-hash-map Uses a prefix trie to map

Mathias Buus 39 Jun 20, 2022