Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Map visualization #650

Merged
merged 4 commits into from
Jun 24, 2016
Merged

Map visualization #650

merged 4 commits into from
Jun 24, 2016

Conversation

georgeke
Copy link
Contributor

Using Mapbox GL JS.

Features:

  • plotting lat/long points on a map
  • optional dynamic clustering of points as you zoom in and out
  • various options to customize label on clusters and points
  • various ways to customize look & feel with color, style, opacity, etc.

"Choice of [Point Radius] must be present in [Group By]")

if (fd.get('all_columns_x') not in fd.get('groupby') or
fd.get('all_columns_y') not in fd.get('groupby')):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: indent within condition should not match block bellow

@coveralls
Copy link

coveralls commented Jun 21, 2016

Coverage Status

Coverage increased (+0.03%) to 81.446% when pulling aaa1a57ff175360f78930594569f94174e183a39 on georgeke:maps_v1 into 30da408 on airbnb:master.

@coveralls
Copy link

coveralls commented Jun 22, 2016

Coverage Status

Coverage increased (+0.04%) to 81.464% when pulling e40e68838675b2ec4c962d99d61e515f5fb1f2e9 on georgeke:maps_v1 into 30da408 on airbnb:master.

import supercluster from 'supercluster';
import ViewportMercator from 'viewport-mercator-project';

const earthCircumferenceKm = 40075.16;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could use SCREAMING_SNAKE_CASE for constants. EARTH_CIRCUMFERENCE_KM

@coveralls
Copy link

coveralls commented Jun 22, 2016

Coverage Status

Coverage increased (+0.04%) to 81.458% when pulling d35d97d24e121fd0ec189d30a7d833b531b7401a on georgeke:maps_v1 into 30da408 on airbnb:master.

const earthCircumferenceKm = 40075.16;

class ScatterPlotGlowOverlay extends ScatterPlotOverlay {
_kmToPixels(kilometers, latitude, zoomLevel) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

have you considered pulling _kmToPixels and _isNumeric in to a mapUtils file, so we can share them with other map visualizations in the future...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be _kmPerPixels?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

per seems more fitting for a multiplier constant whilst to I think is better for a function. As in given kilometers, the function converts it to pixels. Which reminds me, I should change milesToKm to milesPerKm

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gotcha, makes sense

@coveralls
Copy link

coveralls commented Jun 22, 2016

Coverage Status

Coverage increased (+0.04%) to 81.458% when pulling 06ca7969272dd1975b15797df2913791700f19da on georgeke:maps_v1 into 30da408 on airbnb:master.

use react-map-gl

superclustering of long/lat points

Added hook for map style, huge performance boost from bounding box fix, added count text on clusters

variable gradient size based on metric count

Ability to aggregate over any point property

This needed a change in the supercluster npm module, a PR was placed here:
mapbox/supercluster#12

Aggregator function option in explore, tweaked visual defaults

better radius size management

clustering radius, point metric/unit options

scale cluster labels that don't fit, non-numeric labels for points

Minor fixes, label field affects points, text changes

serve mapbox apikey for slice

global opacity, viewport saves (hacky), bug in point labels

fixing mapbox-gl dependency

mapbox_api_key in config

expose row_limit, fix minor bugs

Add renderWhileDragging flag, groupby. Only show numerical columns for point radius

Implicitly group by lng/lat columns and error when label doesn't match groupby

'Fix' radius in miles problem, still some jankiness

derived fields cannot be typed as of now -> reverting numerical number change

better grouping error checking, expose count(*) for labelling

Custom colour for clusters/points + smart text colouring

Fixed bad positioning and overflow in explore view + small bugs + added thumbnail
@coveralls
Copy link

coveralls commented Jun 24, 2016

Coverage Status

Coverage increased (+0.03%) to 81.325% when pulling 1fee433 on georgeke:maps_v1 into 914f234 on airbnb:master.

@georgeke georgeke merged commit 57ebb2b into apache:master Jun 24, 2016
@georgeke georgeke deleted the maps_v1 branch June 24, 2016 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels 🚢 0.10.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants