Category Archives: Workshops & Training

Map Club — Dynamic Mapping with Cartagen

20160901_banner_fall_v1

Map Club commenced its first meeting of Fall 2016 by experimenting with Cartagen, a vector-based framework for rendering maps in HTML5. Cartagen was originally developed by a research team at the MIT Center for Civic Media.

One goal of Map Club is to explore the less populous corners of GIS, legacy projects included. Though Cartagen has stood the test of time, its documentation has not. Tracking down its functional source code thus proved to be a challenging endeavor. Luckily, attendees were up to the job (thanks, Mikey!), and after clearing the gridded debugging screen, were able to produce some interesting visual results:

01

02

rachael

shaky

From top: Debugger grid, Emily, Rachael, Shaky

Next week we will focus on the much more recently-created geojson.io, a simple, open-source editor for map data.

For this session’s resources and materials, visit the Map Club Github repository.

Map Club! (Fall 2016 Edition)

20160901_banner_fall_v1

Join us for Map Club! A series of fast-paced hack sessions geared towards the rapid acquisition of skills in geospatial technology. 

Led by DSSC Spatial Research Intern, Emily Fuhrman, each session provides an informal and fun opportunity for the exploration of a web-based library or framework. Sessions will be loosely divided into three phases: background and setup, self-paced making, and sharing.

These sessions will be held in Room 215 on the lower level of Lehman Library. Please bring your own laptop. Participants should have basic facility with JavaScript.

RSVP through the library workshop page, and for any questions, please feel free to contact (dssc@library.columbia.edu)

09/23, 1:30 – 3:00PM → Dynamic Mapping with Cartagen

This session focuses on Cartagen, a vector-based framework for rendering maps in HTML5.

09/30, 1:30 – 3:00PM → Simple Maps with geojson.io

This session focuses on geojson.io, a simple, open-source editor for map data.

10/07, 1:30 – 3:00PM → WORKSHOP — Interactive maps with CARTO

This guided session explores CARTO, a unified web mapping and visualization engine.

10/14, 1:30 – 3:00PM → Interactive Mapping with Mapzen

This session focuses on Mapzen, an open, sustainable, and accessible mapping platform.

10/28, 1:30 – 3:00PM → Dynamic Mapping with OpenLayers

This session focuses on OpenLayers, a high-performance library for rendering geographic information in web pages.

11/04, 1:30 – 3:00PM → WORKSHOP — Introduction to QGIS

This guided session explores QGIS, a free and open source geographic information system that offers powerful tools for data editing, viewing, and analysis.

11/11, 1:30 – 3:00PM → Generating Cartograms with CartoGrid

This session focuses on CartoGrid, a grid-based cartogram generator.

11/18, 1:30 – 3:00PM → Geospatial Analysis with Turf.js

This session focuses on Turf.js, a tool for in-browser geospatial analysis.

12/02, 1:30 – 3:00PM → WORKSHOP — D3.js

This guided session explores the geovisualization capabilities of D3.js, a JavaScript library for manipulating documents based on data.

Hope to see you there!

Map Club, Session 05 — Geographic Projections in D3.js

20160712_Banner_v1

In its fifth and final summer session, Map Club delved into the geographic projection capabilities of D3.js, a JavaScript library for manipulating documents based on data. D3 supports a comprehensive range of both common and unusual projections, further augmented by the most recent 4.0 release. Attendees sought to become familiar with the syntax for rendering JSON data in the browser, to add interactivity and data-driven attributes to different geographic regions, and to explore some of the less common projections offered by the library.

Tricia used the Albers Equal-Area Conic projection to render outlines of U.S. states and counties, while Emily aligned Gnomonic, Orthographic, and Stereographic projections in an interactive sphere:

Tricia

Rotation

Paul Ronga created an impressive interactive map visualizing Swiss census data (view the full version here):

Paul

For this session’s resources and materials, visit the Map Club Github repository. And that’s a wrap! Thanks for a great summer series, everyone!

Map Club, Session 04 — Vibrant Maps with Mapzen

20160712_Banner_v1

Map Club spent this week’s session exploring Mapzen, an open, sustainable, and accessible mapping platform. Attendees focused specifically on Tangram, an open-source renderer that allows intricate control over the design of web-based interactive maps. Mapzen leverages vector graphics and OpenGL to generate speedy, beautifully-rendered tiles, easily displayed using Leaflet.

Centered on Columbia, Tricia customized Tangram’s lighting model to produce a concentrated spotlight:

Tricia

Jeremiah made use of different point light properties to generate a vivid cityscape:

Jeremiah_02

Along with lighting capabilities and color customization, Tangram allows for custom GLSL. (Full overview here.) Emily used a fragment shader to animate the colors of New York City buildings and water:

Emily_01_128_1000_02

Eric imported Transit App trip requests, and used the date of a request to extrude elevation:

Eric_03_128_1000

A successful week full of beautiful and strange results. Next Tuesday, in our final summer session, we will explore different projections in the D3.js JavaScript library. See you then!

For this session’s resources and materials, visit the Map Club Github repository.

Map Club, Session 03 — Introduction to QGIS (PLUS: Buttons!)

20160712_Banner_v1

By popular demand, Map Club dove into a structured exploration of QGIS this week. QGIS is a free and open source geographic information system that offers powerful tools for data editing, viewing, and analysis. In contrast to previous sessions, this session focused on a few key areas: importing and exporting different file types, re-projecting raw data, and geocoding a list of locations using the MMQGIS plugin.

Attendees worked on completing an introductory projection tutorial, as well as using MMQGIS to extrapolate lat/lon coordinates from a list of place names.

14_Selected_US

In other exciting news: Map Club now has official swag! Swing by one of the two upcoming summer sessions to pick up your own marker, terrain, or logo button.

swag

Next week, we’ll explore Mapzen, an open, sustainable, and accessible mapping platform.

For this session’s resources and materials, visit the Map Club Github repository.

Map Club, Session 02 — SVG Maps with Kartograph

20160712_Banner_v1

This week, Map Club embarked upon its second session by experimenting with Kartograph, a lightweight framework for building interactive map applications without an external mapping service. Kartograph is comprised of two libraries: the first is a Python library, Kartograph.py, which generates compact, Illustrator-friendly SVG maps from shapefiles and PostGIS; the second, Kartograph.js, is a JavaScript library for creating interactive SVG maps based on Kartography.py SVG maps.

After installing the framework and its dependencies, attendees experimented with Kartograph.py to transform shapefiles into web-ready SVG maps. Jingying accessed NYC OpenData to generate a static map of galleries in New York City:

jingying

Natural Earth provided a map of the European railway system to refine in Adobe Illustrator:

01_railroads_02

Next week, we’ll take a more workshop-like approach to learning QGIS, a free and open source geographic information system. See you then!

For this session’s resources and materials, visit the Map Club Github repository.

Map Club, Session 01 — Exploring CARTO & CARTO.js

20160712_Banner_v1

Map Club kicked off its first summer session with a dive into CARTO.js, a unified JavaScript library that interacts with the CARTO (formerly CartoDB) web mapping and visualization engine.

After setting up CARTO accounts and local testing servers, attendees prepared datasets for upload to the CARTO interface, explored different geovisualization methods provided by the platform, and experimented with interactive capabilities offered by the CARTO.js library.

IMG_20160712_141109926_Edited

Next week we’ll explore Kartograph, a framework for building interactive map applications. See you then!

For this session’s resources and materials, visit the Map Club Github repository.

Using R with ArcGIS

With a successful collaboration between DSSC and ESRI, a hands-on workshop on ESRI R plugin was presented by Shaun Walbridge, a senior developer from ESRI, on Wednesday, April 20. Shaun provided an in-depth tutorial on how to use R in ESRI, and answered questions from students and librarians.

Our audiences were from a broad background: librarians from Columbia and other institutions in NYC, PhD students, Master’s students, people from administrations, etc.

IMG_20160420_101218892

Presentation Highlights:

SP data types in R
  • 0D: SpatialPoints
  • 1D: SpatialLines
  • 2D: SpatialPolygons
  • 3D: Solid
  • 4D: Space-time
R — ArcGIS Bridge
  • Store your data in ArcGIS, access it quickly in R, return R objects back to ArcGIS native data types (e.g. geodatabase feature classes).
  • Knows how to convert spatial data to sp objects.
  • Package Documentation
  • Upcoming: Conda for managing R environments

For more information about this workshop, please visit http://github.com/scw/r-columbia-2016-talk

Thank you again for joining us!

 

 

R Open Labs: QQPlot

Post by Ellie Ransom, Research Services Coordinator, Science and Engineering Libraries

At last week’s R Open Lab, we visualized our data to test our assumptions of normality using two of of R’s native commands, qqnorm and qqline.

We practiced using the built in dataset, trees, and looked at the variables Height and Volume separately.

Notice how the Height variable is basically normal, but the Volume variable appears to be skewed.

qqnorm(trees$Height)
qqline(trees$Height)

Inline image 2

qqnorm(trees$Volume)
qqline(trees$Volume)

Inline image 3

It might make sense to transform the skewed data before analyzing it!

qqnorm(log(trees$Volume))
qqline(log(trees$Volume))

Inline image 4

Share your thoughts and suggestions with us here, and we’ll see you next week!

R Open Labs: Loading Data

At last week’s R Open Lab, we explored two packages (Memisc and foreign) as well as some of R’s native commands for loading data files into our R Studio workspace.

View Slides

I <3 R

 

 

 

 

 

 

 

 

We practiced with ASCII, .TSV, .SAV, and .DTA files, all available from ICPSR, a data archive with a rich collection of social science data sets.

We’re taking a break from  R Open Labs this week, but we’ll be back on February 17 at 10 am in the DSSC.

Share your thoughts and suggestions with us here, and we’ll see you next week!