Developing Dorling Cartogram Algorithm for Yelp...

16
Developing Dorling Cartogram Algorithm for Yelp Data Members: Weijia Jin Jialiang Zhang

Transcript of Developing Dorling Cartogram Algorithm for Yelp...

Page 1: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Developing Dorling Cartogram Algorithm for Yelp Data

Members:Weijia Jin

Jialiang Zhang

Page 2: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Motivation● Lack of development of Dorling Cartogram algorithm in the

community

● No current implementation of Dorling Cartogram on Yelp Dataset

● Dataset contains geographical attributes which is suited for visualization by cartograms

● Visualizing the large set of data on business and reviews can generate useful insights

Page 3: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Background Survey● Area cartograms: their use and creation, Dorling, D.

(1996)

○ Cartograms are maps which are distorted by size, shape or distance

○ Size could be made proportional to any measurable feature

Page 4: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:
Page 5: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Dorling Cartogram

○ Uses ■ ability to shock

■ different areas can be shaded with different colours to show variation over space

■ observe trends and patterns

■ compare across different geographic regions or measures

Page 6: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Dorling Cartogram algorithmFor each region

Calculate the radius of a circle so that its area is proportional to population*While the forces calculated below are not negligible

For each region (the order of calculation has no effect)For each region which overlaps with the region

Record a force away from the overlap in proportion to itFor each region which originally neighboured the region

Record a force towards it proportional to distance awayIf the forces of repulsion are greater than attraction

Scale the forces to less than the distance of the closest circleCombine the two aggregate forces for each circle

For each regionApply the forces recorded to be acting on each circle to its centroid

Page 7: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Yelp data format{ 'type': 'business', 'business_id': (encrypted business id), 'name': (business name), 'neighborhoods': [(hood names)], 'full_address': (localized address), 'city': (city), 'state': (state), 'latitude': latitude, 'longitude': longitude, 'stars': (star rating, rounded to half-stars), 'review_count': review count, 'categories': [(localized category names)] 'open': True / False (corresponds to closed, not business hours), 'hours': { (day_of_week): { 'open': (HH:MM), 'close': (HH:MM) }, ... }, 'attributes': { (attribute_name): (attribute_value), ... },}

Page 8: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Existing Yelp Visualizations

● Maps● Word clouds

Page 9: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Las Vegas Zip Code Map

Source: Las Vegas Real Estate Authority

Page 10: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Demo 1: Dorling Cartogram

Based on Protovis

Page 11: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Dorling Cartogram Algorithm

var collisionConstraint = pv.Constraint.collision(function(d) d.radius + 1), positionConstraint = pv.Constraint.position(function(d) d.position); linkConstraint = pv.Force.spring(100).links(borders);

Based on Protovis

Page 12: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Demo 2: Pseudo-Dorling Cartogram

Based on Mike Bostock’s D3 Implementation

Page 13: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Pseudo-Dorling Cartogram Algorithm

● It lacks links between adjacent features. ● Instead of trying to preserve connectedness, it tries to preserve locality.● Each circle stays as close as possible to its origin without overlapping.

function tick(e) { node.each(gravity(e.alpha * .1)) .each(collide(.5))); } function gravity(k) { …. } function collide(k) { …. }

Based on Mike Bostock’s D3 Implementation

Page 14: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

MilestonesDeadline Deliverable Member

11/17 Filtering and aggregating Yelp data

Weijia

Adapting base algorithm for our data

Jialiang

11/24 Experimenting with different algorithm constraints

Jialiang

Experimenting with different measures and coordinates

Weijia

12/1 Creating interactive visualization in D3

Jialiang, Weijia

12/3 Final poster presentation Jialiang, Weijia

Page 15: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

List of references1. Area cartograms: their use and creation, Dorling, D. (1996)

http://www.dannydorling.org/wp-content/files/dannydorling_publication_id1448.pdf

2. Book by Dorling: The Visualisation of Spatial Social Structure (2012)http://www.dannydorling.org/books/visualisation/Homepage.html

3. Noncontiguous cartogram of USA:http://show.mappingworlds.com/usa/

4. Cartogram Central:http://www.ncgia.ucsb.edu/projects/Cartogram_Central/

5. Noncontiguous cartograms in OpenLayers and Polymaps:http://indiemaps.com/blog/2011/02/noncontiguous-cartograms-in-openlayers-and-polymaps/

Page 16: Developing Dorling Cartogram Algorithm for Yelp Datavis.berkeley.edu/courses/cs294-10-fa14/wiki/images/9/9f/Developing... · Developing Dorling Cartogram Algorithm for Yelp Data Members:

Questions and Feedbacks

Thank you!