Using the Cambridge (Massachusetts) GIS data, we can compute some interesting geospatial statistics.

Subway stations

Using the address points (20844 points) and the subway stations data files, we can find out how many Cambridge addresses are in a certain radius of a Cambridge subway station. More particularly, we want to find the percentage of Cambridge addresses less than 1/8, 1/4 and 1/2 mile from a Cambridge subway station.

  • Less than 1/8 of a mile: 3%
  • Less than 1/4 of a mile: 14%
  • Less than 1/2 of a mile: 57%

Note: You can have many people living at the same address point.

Note: This does not take into consideration subway stations outside Cambridge.

Note: Distance is a straight line between two points.

Bus shelters

We can perform the same calculation as above but with bus shelters (55 in Cambridge).

  • Less than 1/8 of a mile: 26%
  • Less than 1/4 of a mile: 68%
  • Less than 1/2 of a mile: 99%

Note: This does not take into consideration bus shelters outside Cambridge.

Sports areas

We can find the percentage of Cambridge addresses less than 1/8, 1/4 and 1/2 mile from a sports area. In addition, we can do the same calculation for a specific sports area type:

A sport area (265 in Cambridge)

  • Less than 1/8 of a mile: 66.8%
  • Less than 1/4 of a mile: 95.8%
  • Less than 1/2 of a mile: 99.9%

Basketball sport area (34 in Cambridge)

  • Less than 1/8 of a mile: 31.3%
  • Less than 1/4 of a mile: 75.3%
  • Less than 1/2 of a mile: 99.3%

Tennis sport area (18 in Cambridge)

  • Less than 1/8 of a mile: 7%
  • Less than 1/4 of a mile: 31%
  • Less than 1/2 of a mile: 80%

Park sport area (1 in Cambridge)

  • Less than 1/8 of a mile: 0.02%
  • Less than 1/4 of a mile: 1.48%
  • Less than 1/2 of a mile: 10.17%

Field sport area (24 in Cambridge)

  • Less than 1/8 of a mile: 10%
  • Less than 1/4 of a mile: 38%
  • Less than 1/2 of a mile: 89%

Baseball sport area (23 in Cambridge)

  • Less than 1/8 of a mile: 14%
  • Less than 1/4 of a mile: 48%
  • Less than 1/2 of a mile: 92%

Playground sport area (138)

  • Less than 1/8 of a mile: 58%
  • Less than 1/4 of a mile: 93%
  • Less than 1/2 of a mile: 100%

Note: This does not take into consideration sports areas outside Cambridge.

Neighborhoods

One data file lists the different neighborhoods, 13 in total:

  • Area Four
  • Neighborhood Nine
  • Area 2/MIT
  • Cambridgeport
  • Riverside
  • Mid-Cambridge
  • Wellington-Harrington
  • East Cambridge
  • Agassiz
  • Cambridge Highlands
  • Strawberry Hill
  • West Cambridge
  • North Cambridge

Cambridge neighborhoods

Single-Family assessed value

Using two data files, we can find out the average assessed value for a single-family house per neighborhood. Here are the results sorted from most expensive to least expensive:

  • West Cambridge – $1507544
  • Neighborhood Nine – $1451155
  • Agassiz – $1075459
  • Mid-Cambridge – $786673
  • Riverside – $712027
  • Strawberry Hill – $707192
  • Area 2/MIT – $599264
  • Cambridgeport – $592257
  • North Cambridge – $534844
  • Cambridge Highlands – $507051
  • Area Four – $505535
  • Wellington-Harrington – $456673
  • East Cambridge – $407907

Cambridge gingle-Family assessed value

Single-Family assessed value per sq. ft.

We can also perform a similar calculation per sq. ft. Here are the results sorted from most expensive to least expensive:

  • West Cambridge – $318
  • Neighborhood Nine – $318
  • Agassiz – $287
  • Mid-Cambridge – $261
  • Riverside – $253
  • Area 2/MIT – $225
  • Cambridgeport – $223
  • Cambridge Highlands – $222
  • Wellington-Harrington – $208
  • Strawberry Hill – $207
  • North Cambridge – $204
  • East Cambridge – $203
  • Area Four – $200

Condo assessed value

  • Agassiz – $603000
  • West Cambridge – $591502
  • Neighborhood Nine – $581251
  • Mid-Cambridge – $483449
  • Riverside – $470751
  • Cambridge Highlands – $449725
  • Area 2/MIT – $431406
  • Cambridgeport – $422049
  • North Cambridge – $410023
  • Strawberry Hill – $387065
  • Area Four – $384520
  • Wellington-Harrington – $366460
  • East Cambridge – $357547

Condo assessed value per sq. ft.

  • West Cambridge – $395
  • Neighborhood Nine – $387
  • Agassiz – $382
  • Mid-Cambridge – $376
  • Riverside – $371
  • Cambridge Highlands – $338
  • Area 2/MIT – $334
  • Cambridgeport – $334
  • Wellington-Harrington – $335
  • Area Four – $335
  • East Cambridge – $335
  • North Cambridge – $330
  • Strawberry Hill – $313

Vegetation

There is a data file listing areas with concentration of vegetation. Here is their definition: “Vegetation is a wooded area with a group or high density of trees.”

Each of those is a polygon. We can find which neighborhoods contain which vegetation polygons and calculate the total area of vegetation per neighborhood. Which neighborhood has the most vegetation? It is “Cambridge Highlands” thanks to the Fresh Pond vegetation. “Cambridge Highlands” contains 32% of the total vegetation in Cambridge followed by “North Cambridge” with 26%. Here is the full ranking:

  • Cambridge Highlands – 31.7%
  • North Cambridge – 25.7%
  • West Cambridge – 22.1%
  • Strawberry Hill – 7.5%
  • Neighborhood Nine – 4.1%
  • Agassiz – 3.1%
  • Area 2/MIT – 2.3%
  • East Cambridge – 1.6%
  • Cambridgeport – 1.5%
  • Riverside – 0.2%
  • Mid-Cambridge – 0.1%
  • Wellington-Harrington – 0%
  • Area Four – 0%

Fire Stations

There are eight fire stations in Cambridge:

  • Fire Headquarters
  • Fire Company 2
  • Fire Company 3
  • Fire Company 4
  • Fire Company 5
  • Fire Company 6
  • Fire Company 8
  • Fire Company 9

Going back to each of our neighborhood. We calculate the geometric center of each neighborhood and find out the closest fire station. Here are the results ranked by distance to the closest fire station.

  • Neighborhood Nine center is 164 meters from Fire Company 8.
  • East Cambridge center is 328 meters from Fire Company 3.
  • Area Four center is 407 meters from Fire Company 2.
  • Cambridgeport center is 492 meters from Fire Company 6.
  • West Cambridge center is 534 meters from Fire Company 9.
  • Riverside center is 559 meters from Fire Company 6.
  • Agassiz center is 602 meters from Fire Headquarters.
  • Mid-Cambridge center is 613 meters from Fire Headquarters.
  • Wellington-Harrington center is 694 meters from Fire Company 5.
  • Area 2/MIT center is 910 meters from Fire Company 6.
  • Strawberry Hill center is 987 meters from Fire Company 9.
  • North Cambridge center is 1271 meters from Fire Company 4.
  • Cambridge Highlands center is 1340 meters from Fire Company 9.

Note: 1 meter ~= 1.1 yard.

Emergency Shelters

We can do the same with emergency shelters. There are 15 in Cambridge. Here are the results ranked by distance to the closest shelter.

  • Wellington-Harrington center is 68 meters from Frisoli Youth Center.
  • Strawberry Hill center is 111 meters from Russell / West Cambridge Youth Ctr.
  • Area Four center is 138 meters from Fletcher / Maynard Academy.
  • Agassiz center is 212 meters from Baldwin School.
  • Mid-Cambridge center is 223 meters from Cambridge Rindge and Latin.
  • Neighborhood Nine center is 469 meters from Graham & Parks School.
  • Cambridgeport center is 567 meters from Morse School.
  • East Cambridge center is 634 meters from Kennedy / Longfellow School.
  • North Cambridge center is 715 meters from Peabody School.
  • Area 2/MIT center is 782 meters from CASPAR Shelter.
  • Riverside center is 838 meters from Cambridge Rindge and Latin
  • West Cambridge center is 917 meters from Tobin School.
  • Cambridge Highlands center is 1038 meters from Tobin School.

Intersections

One of the data file contains the streets/roads intersections. An interesting attribute is the intersecting street count. Here is the breakdown based on this attribute:

  • 2 intersecting streets: 1392
  • 3 intersecting streets: 109
  • 4 intersecting streets: 2

The two “4 intersecting streets” intersections are the “Coolidge Hill Rd & Fresh Pond Pkwy & Gerrys Landing Rd & Mt Auburn St” intersection and the “Magazine St & Massachusetts Ave & Prospect St & Western Ave” intersection. After all, Cambridge is notorious for those type of intersections.

Note: There are 357 intersections without a number of intersecting streets so we dismissed those.

Metered parking spaces

Based on one of the data file, Cambridge has 3094 metered parking spaces. A different data file lists streets segments. Using both data, we can find out the amount of street coverage when it comes to metered parking spaces. We found out that 13% of streets segments have metered parking spaces in Cambridge.

Implementation

Python and the SnowFloat API are used here to compute those statistics. Here is how the subway stations 1/8 mile proximity statistics were calculated:

import snowfloat.client

address_points_uuid = 'ecf03fb0e1f34773b53959a2c603e214'
subway_stations_uuid = '32d771c0bc0641eb9fc5c2f04305ecb9'

points = []
subway_stations = client.get_features(subway_stations_uuid)
for subway_station in subway_stations:
    address_points = client.get_features(address_points_uuid,
        query='distance_lte', geometry=subway_station.geometry,
        distance=200)
    for address_point in address_points:
        for point in points:
            if address_point.uuid == point.uuid:
                break
        else:
            points.append(address_point)
print len(points) / 20844.

I can publish more of the code used if needed.

More data to analyze

Here is the full list of data files the city of Cambridge made public in the geojson format. Also listed are the fields for each data file. Let me know other statistics you would like to see added to this post.

ADDRESS_AddressPoints

  • address_id
  • ml
  • stname
  • stnm
  • bldgid
  • full_addr
  • entry
  • type
  • editdate

ADDRESS_MasterAddressBlocks

  • unq_id2
  • unq_id
  • nhood
  • globalid

ASSESSING_CommercialDistrictsFY2013

  • dist_name
  • globalid
  • district

ASSESSING_CommercialDistrictsFY2014

  • dist_name
  • district

ASSESSING_EasementsFY2013

  • globalid

ASSESSING_EasementsFY2014

ASSESSING_ParcelMapIndexFY2013

  • bsize_inch_to_foot
  • dsize_map_scale
  • globalid
  • bsize_map_scale
  • pcix_no
  • rotation
  • dsize_inch_to_foot

ASSESSING_ParcelMapIndexFY2014

  • bsize_inch_to_foot
  • dsize_map_scale
  • bsize_map_scale
  • pcix_no
  • rotation
  • dsize_inch_to_foot

ASSESSING_ParcelsFY2013

  • map
  • globalid
  • ml
  • fcode
  • lot
  • uyear
  • editdate
  • editor
  • approved

ASSESSING_ParcelsFY2014

  • map
  • uyear
  • loc_id
  • lot
  • ml
  • editdate
  • editor
  • poly_type
  • source
  • plan_id

ASSESSING_ResidentialDistrictFY2013

  • globalid
  • district

ASSESSING_SubParcelLinesFY2013

  • globalid

ASSESSING_SubParcelLinesFY2014

BASEMAP_Bridges

  • type

BASEMAP_Buildings

  • top_gl
  • elev_sl
  • top_sl
  • base_elev
  • type
  • elev_gl
  • bldgid
  • editdate

BASEMAP_Cemeteries

  • type
  • name

BASEMAP_Curbs

  • type

BASEMAP_Decks

  • elev_sl
  • base_elev
  • top_gl
  • elev_gl
  • top_sl

BASEMAP_Docks

  • type

BASEMAP_Driveways

  • type

BASEMAP_Fences

  • type

BASEMAP_Firewalls

  • type

BASEMAP_Headstones

  • type

BASEMAP_MiscStructures

  • top_gl
  • elev_sl
  • top_sl
  • base_elev
  • type
  • elev_gl

BASEMAP_ParkingLots

  • type

BASEMAP_Plazas

  • type

BASEMAP_Porches

  • elev_sl
  • base_elev
  • top_gl
  • elev_gl
  • top_sl

BASEMAP_PrivateWalkways

  • type

BASEMAP_PublicFootpaths

  • type

BASEMAP_Roads

  • type

BASEMAP_RooftopMechanicals

  • top_gl
  • elev_sl
  • top_sl
  • base_elev
  • type
  • elev_gl

BASEMAP_RooftopSolarPanels

  • top_gl
  • elev_sl
  • top_sl
  • base_elev
  • type
  • elev_gl

BASEMAP_Sidewalks

  • type
  • editdate

BASEMAP_Stairs

  • top_gl
  • stair_type
  • elev_sl
  • top_sl
  • base_elev
  • type
  • elev_gl

BASEMAP_SwimmingPools

  • top_gl
  • elev_sl
  • top_sl
  • base_elev
  • type
  • elev_gl

BASEMAP_Vegetation

  • type

BASEMAP_Walls

  • type

BOUNDARY_CDDNeighborhoods

  • webpage
  • n_hood
  • name
  • globalid

BOUNDARY_CityBoundary

  • globalid

BOUNDARY_Zipcodes

  • globalid
  • zip_code

CDD_ZoningDistricts

  • zone_type
  • zcode
  • globalid
  • pud_type_new
  • pud_type

CDD_ZoningOverlayDistricts

  • name
  • overlap
  • globalid
  • type
  • label
  • ordnum
  • editdate

DEMOGRAPHICS_BlockGroups1990

  • blkgrpid
  • globalid

DEMOGRAPHICS_BlockGroups2000

  • blkgrps_id
  • globalid
  • tract
  • group_
  • fipsstco
  • stfid

DEMOGRAPHICS_BlockGroups2010

  • awater10
  • tractce10
  • aland10
  • blkgrpce10
  • funcstat10
  • namelsad10
  • countyfp10
  • statefp10
  • mtfcc10
  • geoid10
  • intptlat10
  • intptlon10

DEMOGRAPHICS_Blocks1990

  • pop100
  • tractblk
  • globalid

DEMOGRAPHICS_Blocks2000

  • pop_lab
  • fipsstco
  • block_id
  • globalid
  • stfid

DEMOGRAPHICS_Blocks2010

  • name10
  • blockce10
  • tractce10
  • complete
  • awater10
  • aland10
  • statefp10
  • funcstat10
  • countyfp10
  • intptlat10
  • mtfcc10
  • geoid10
  • intptlon10
  • followup
  • comments

DEMOGRAPHICS_Tracts1990

  • globalid
  • tract

DEMOGRAPHICS_Tracts2000

  • fipsstco
  • stfid
  • tractid
  • globalid
  • trt2000

DEMOGRAPHICS_Tracts2010

  • name10
  • awater10
  • tractce10
  • aland10
  • statefp10
  • funcstat10
  • namelsad10
  • countyfp10
  • intptlat10
  • mtfcc10
  • geoid10
  • intptlon10

DPW_LitterBarrels

  • globalid
  • park_distr
  • location
  • owner
  • id
  • man
  • type

DPW_PedestrianRamps

  • ramp_line_
  • f_puddle
  • f_total
  • f_slope
  • globalid
  • f_cond
  • f_total06
  • sw_width
  • f_align
  • lip
  • location
  • slope_comp
  • total_ramp
  • puddling
  • material_t
  • opening_wi
  • condition
  • f_open
  • date
  • contract

DPW_StreetTrees

  • diameter
  • trunks
  • creator
  • growspac
  • location
  • streetnumber
  • species
  • inspectr
  • otherriskfactors
  • riskrating
  • globalid
  • sitetype
  • sidewalkobstruction
  • treeid
  • probabilityoffailure
  • probabilityoftargetimpact
  • overheadwires
  • sizeodefectiveparts
  • memtree
  • created
  • modified
  • def_cult
  • streetname
  • notes
  • ownership
  • formersitetype
  • removaldate
  • treecondition
  • cultivar
  • treegrate
  • plantdate
  • sidewalkwidth
  • treegrateactionreq
  • adacompliant
  • posd
  • dw
  • rt
  • speciesshort
  • d
  • lean
  • structuralissues
  • cr

ELECTIONS_CongressionalDistricts

  • editdate
  • congressman
  • name
  • district
  • party

ELECTIONS_PollingLocations

  • w_p
  • location_note
  • location
  • globalid
  • address
  • editdate

ELECTIONS_StateRepDistricts

  • editdate
  • party
  • rep
  • district

ELECTIONS_StateSenateDistricts

  • senate
  • editdate
  • senator
  • party

ELECTIONS_WardsPrecincts

  • ward
  • totalpop
  • wardprecinct
  • precinct

HEALTH_HealthClinics

  • phone
  • site_name
  • globalid
  • address
  • editdate

HEALTH_Hospitals

  • phone
  • site_name
  • globalid
  • address

HISTORICAL_HistoricDistricts

  • name
  • globalid

HISTORICAL_HistoricalCPA

  • dollaramnt
  • globalid
  • project
  • printedmapid
  • granttype
  • buildingid
  • fiscalyear
  • grantid

HISTORICAL_HistoricalMarkers

  • name
  • neighborhood
  • marker_type
  • globalid
  • address
  • description

HISTORICAL_LandmarksEasements

  • globalid
  • ml
  • property_t
  • historic_n
  • lot
  • address
  • block
  • editdate

HISTORICAL_NationalRegisterHistoricPlaces

  • globalid
  • nrdis
  • location
  • labelname
  • shape_leng
  • histname
  • street
  • aka
  • st_num
  • nrind
  • pres_restr
  • nhl
  • doe

HISTORICAL_NhoodConservationDist

  • name
  • globalid

HYDRO_Floodplains

  • sfha_tf
  • fld_ar_id
  • percentage
  • source_cit
  • fld_zone
  • floodway

HYDRO_WaterBodies

  • type
  • name

HYDRO_Wetlands

  • complants1
  • globalid
  • wtdescript
  • datasource
  • wtsystem
  • namelocati
  • wtsubsyste
  • wtlnd_id
  • complants2

INFRA_Billboards

INFRA_Drainage

  • type
  • name

INFRA_Hydrants

  • globalid
  • subtype
  • contractauthority
  • lasteditdate
  • enabled
  • ancillaryrole
  • hydrant_id
  • lasteditor
  • gate
  • rotation
  • lifecyclestatus
  • hydrant_gpm
  • installdate
  • lastsource

INFRA_OverheadSigns

INFRA_ParkBenches

INFRA_StreetLights2010Flyover

  • elev

INFRA_StreetLightsNSTAR2005

  • point_subt
  • npole_tag
  • symbol
  • lmp_type
  • oldnode_ta
  • ver_end
  • oldpoint_t
  • globalid
  • str_des
  • equip_locn
  • phase__id
  • object__id
  • no_lamp
  • ver_id
  • lock__id
  • str_name
  • group_id
  • pole_type_
  • intersecti
  • oid_
  • lumens
  • feature_st
  • ntag
  • point_tag
  • point_type
  • bracket_cd
  • lmp_class_
  • cntl_ty
  • err_desc
  • err_flag
  • lamp_id

INFRA_UtilityFacilities

  • type
  • site_name
  • globalid
  • address

INFRA_UtilityPoles

  • elev

LANDMARK_DayCareFacilities

  • site_name
  • globalid
  • shel_cap
  • phone
  • publicpriv
  • address
  • owner
  • shelter

LANDMARK_ElderlyFacilities

  • owner
  • publicpriv
  • site_name
  • globalid
  • address

LANDMARK_MemorialPoles

  • source
  • type
  • name
  • globalid
  • pole_id
  • editdate

LANDMARK_MunicipalBuildings

  • type
  • site_name
  • globalid
  • address
  • editdate

LANDMARK_PlacesOfWorship

  • site_name
  • globalid
  • address

LANDMARK_PrivateSchools

  • owner
  • phone
  • site_name
  • globalid
  • address

LANDMARK_PublicLibraries

  • phone
  • site_name
  • globalid
  • address

LANDMARK_PublicSchools

  • site_name
  • globalid
  • shel_cap
  • shelter
  • phone
  • address
  • shel_food

LANDMARK_YouthCenters

  • phone
  • site_name
  • globalid
  • address

PUBLICSAFETY_EmergencyShelters

  • capacity
  • name
  • globalid
  • shel_cap
  • shelter
  • concateid
  • zipcode
  • phone
  • med_fac
  • address
  • shel_food
  • type
  • editdate

PUBLICSAFETY_FireStations

  • phone
  • site_name
  • globalid
  • address

PUBLICSAFETY_PoliceStation

  • phone
  • site_name
  • globalid
  • address

RECREATION_BikeFacilities

  • bike_fac
  • globalid
  • st_type
  • pbike_fac
  • length
  • street
  • comments
  • editdate

RECREATION_CommunityGardens

  • mapid
  • park
  • location
  • globalid
  • editdate

RECREATION_OpenSpace

  • globalid
  • fcode
  • owner
  • oscode
  • rcode
  • join_id
  • name
  • editdate

RECREATION_Playgrounds

  • location
  • globalid

RECREATION_PublicPools

  • owner
  • name

RECREATION_SportsAreas

  • type

RECREATION_Waterplay

  • status
  • join_id
  • park
  • location
  • size

TRAFFIC_CommercialParking

  • globalid
  • ml
  • descriptio
  • accessvia
  • totalsp
  • commspac
  • address
  • id
  • structure
  • owntype

TRAFFIC_MeteredParkingSpaces

  • space_id
  • src_date
  • globalid
  • editdate
  • editor

TRAFFIC_MunicipalParkingLots

  • sitename
  • ml
  • type
  • globalid
  • address

TRAFFIC_PavementMarkings

  • type

b>TRANS_BusShelters

  • elev_sl
  • direction
  • oid_
  • globalid
  • top_sl
  • top_gl
  • style
  • xls_no
  • x_street
  • street
  • elev_gl
  • address
  • base_elev
  • stop_name
  • stop_id
  • quantity
  • editdate

TRANS_Centerlines

  • potential_r_to
  • street_name
  • tonode
  • label
  • street_id
  • zip_right
  • direction
  • globalid
  • fromnode
  • roadways
  • potential_l_from
  • zip_left
  • l_to
  • r_from
  • street_type
  • l_from
  • id
  • majorroad
  • restriction
  • r_to
  • street
  • potential_r_from
  • potential_l_to
  • alias
  • editdate

TRANS_Intersections

  • nodenumber
  • globalid
  • p_x
  • p_y
  • intersection
  • intersectingstreetcount
  • editdate

TRANS_MajorRoads

  • majorroad
  • street
  • st_name
  • globalid
  • st_type

TRANS_Rail

  • type

TRANS_SidewalkCenterlines

  • type

TRANS_SubwayHeadhouses

  • elev_sl
  • base_elev
  • top_gl
  • elev_gl
  • top_sl

TRANS_SubwayLines

  • grade
  • source
  • line
  • globalid

TRANS_SubwayStations

  • line
  • station
  • globalid

Last modified: May 30, 2020

Author