Skip to contents

Provides sf objects from the New York City Digital City Map (DCM) for drawing street maps and working with NYC street data.

Installation

You can install the development version of nycdcm like so:

remotes::install_github("kjhealy/nycdcm")

Alternatively, install this package from my r-universe:

install.packages(
  "nycdcm",
  repos = c("https://kjhealy.r-universe.dev", "https://cloud.r-project.org")
)

Including https://cloud.r-project.org ensures dependencies on CRAN are resolved automatically.

Load

library(tidyverse)
#> ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
#> ✔ dplyr     1.2.1     ✔ readr     2.2.0
#> ✔ forcats   1.0.1     ✔ stringr   1.6.0
#> ✔ ggplot2   4.0.2     ✔ tibble    3.3.1
#> ✔ lubridate 1.9.5     ✔ tidyr     1.3.2
#> ✔ purrr     1.2.1     
#> ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
#> ✖ dplyr::filter() masks stats::filter()
#> ✖ dplyr::lag()    masks stats::lag()
#> ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(sf)
#> Linking to GEOS 3.13.0, GDAL 3.8.5, PROJ 9.5.1; sf_use_s2() is TRUE
library(nycdcm)

What’s included

NYC Digital City Map Street Layer

The main DCM layer containing street data for all of New York City.

nyc_dcm_sf
#> Simple feature collection with 67979 features and 5 fields
#> Geometry type: MULTILINESTRING
#> Dimension:     XY
#> Bounding box:  xmin: 902501.3 ymin: 113279.3 xmax: 1067481 ymax: 275335.5
#> Projected CRS: NAD83 / New York Long Island (ftUS)
#> First 10 features:
#>      borough      feat_type jurisdicti record_st  edit_date
#> 1  Manhattan Infrastructure       <NA>      <NA> 2023-01-27
#> 2  Manhattan    Unmapped_St       <NA>      <NA> 2021-07-09
#> 3  Manhattan Infrastructure       <NA>      <NA> 2023-01-27
#> 4  Manhattan Infrastructure       <NA>      <NA> 2023-01-27
#> 5  Manhattan Infrastructure       <NA>      <NA> 2023-01-27
#> 6  Manhattan Infrastructure       <NA>      <NA> 2023-01-27
#> 7  Manhattan Infrastructure       <NA>      <NA> 2023-01-27
#> 8  Manhattan Infrastructure       <NA>      <NA> 2023-01-27
#> 9  Manhattan Infrastructure       <NA>      <NA> 2023-01-27
#> 10 Manhattan Infrastructure       <NA>      <NA> 2023-01-27
#>                          geometry
#> 1  MULTILINESTRING ((1006326 2...
#> 2  MULTILINESTRING ((990634.3 ...
#> 3  MULTILINESTRING ((1003395 2...
#> 4  MULTILINESTRING ((985815.6 ...
#> 5  MULTILINESTRING ((1000049 2...
#> 6  MULTILINESTRING ((991519.2 ...
#> 7  MULTILINESTRING ((1003589 2...
#> 8  MULTILINESTRING ((1005369 2...
#> 9  MULTILINESTRING ((1006040 2...
#> 10 MULTILINESTRING ((993156.5 ...
ggplot(nyc_dcm_sf) +
  geom_sf(linewidth = 0.1) +
  theme_void()

NYC Digital City Map Arterials and Major Streets

Major streets and arterials layer from the DCM.

nyc_dcm_arterial_sf
#> Simple feature collection with 740 features and 6 fields
#> Geometry type: MULTILINESTRING
#> Dimension:     XY
#> Bounding box:  xmin: 913281.5 ymin: 120286.1 xmax: 1067383 ymax: 271908.9
#> Projected CRS: NAD83 / New York Long Island (ftUS)
#> First 10 features:
#>      borough boro_code       route_name    route_type
#> 1  Manhattan         1         2 Avenue Major Streets
#> 2  Manhattan         1        10 Avenue Major Streets
#> 3  Manhattan         1 Amsterdam Avenue Major Streets
#> 4  Manhattan         1    Church Street Major Streets
#> 5  Manhattan         1   Dyckman Street Major Streets
#> 6  Manhattan         1   East 34 Street Major Streets
#> 7  Manhattan         1   East 42 Street Major Streets
#> 8  Manhattan         1   East 57 Street Major Streets
#> 9  Manhattan         1   East 72 Street Major Streets
#> 10 Manhattan         1   East 79 Street Major Streets
#>                      route_sub route_stat                       geometry
#> 1  Major street to be improved   Existing MULTILINESTRING ((986738 20...
#> 2                 Major Street   Existing MULTILINESTRING ((981445.2 ...
#> 3                 Major Street   Existing MULTILINESTRING ((987680.5 ...
#> 4                 Major Street   Existing MULTILINESTRING ((981013.6 ...
#> 5                 Major Street   Existing MULTILINESTRING ((1005561 2...
#> 6                 Major Street   Existing MULTILINESTRING ((988527.9 ...
#> 7                 Major Street   Existing MULTILINESTRING ((989545.4 ...
#> 8                 Major Street   Existing MULTILINESTRING ((991461.4 ...
#> 9                 Major Street   Existing MULTILINESTRING ((993379.4 ...
#> 10                Major Street   Existing MULTILINESTRING ((994296.5 ...
ggplot(nyc_dcm_arterial_sf) +
  geom_sf() +
  theme_void()

Combined View

ggplot() +
  geom_sf(data = nyc_dcm_sf, color = "gray80", linewidth = 0.1) +
  geom_sf(data = nyc_dcm_arterial_sf, color = "red", linewidth = 0.5) +
  theme_void()

NYC Digital City Map City Map Alterations

City map alterations documenting changes approved by the City Planning Commission.

nyc_dcm_alteration_sf
#> Simple feature collection with 5105 features and 19 fields
#> Geometry type: MULTIPOLYGON
#> Dimension:     XY
#> Bounding box:  xmin: 912656.8 ymin: 120319.5 xmax: 1067272 ymax: 272307.9
#> Projected CRS: NAD83 / New York Long Island (ftUS)
#> First 10 features:
#>    boro_code app_num project_nm filed_stat status  effect_dt bp_num cc_res_num
#> 1          Q    5622       <NA>          1     14 1949-09-08   <NA>          0
#> 2          X    9692       <NA>          1     14 1953-05-15  11372          0
#> 3          X   10007       <NA>          1     14 1953-10-17  11387          0
#> 4          X   10059       <NA>          1     14 1954-04-20  11392          0
#> 5          Q   10068       <NA>          1     14 1954-10-20   3679          0
#> 6          Q   10112       <NA>          1     14 1953-11-20   3688          0
#> 7          K   10150       <NA>          1     14 1953-12-19  A-779          0
#> 8          K    1016       <NA>          1     14 1939-12-30  L-917          0
#> 9          Q   10161       <NA>          1     14 1955-11-03   3655          0
#> 10         K   10313       <NA>          1     14 1954-02-18  E-803          0
#>    zr_update  cert_date    chg_type   altmappdf
#> 1          0 -001-11-30     Unknown  cp5622.pdf
#> 2          0 -001-11-30     Unknown  cp9692.pdf
#> 3          0 -001-11-30     Unknown cp10007.pdf
#> 4          0 -001-11-30     Unknown cp10059.pdf
#> 5          0 -001-11-30 Street Line cp10068.pdf
#> 6          0 -001-11-30     Unknown cp10112.pdf
#> 7          0 -001-11-30     Unknown cp10150.pdf
#> 8          0 -001-11-30     Unknown  cp1016.pdf
#> 9          0 -001-11-30     Unknown cp10161.pdf
#> 10         0 -001-11-30    Easement cp10313.pdf
#>                                                                   altmap_link
#> 1   https://nycdcp-dcm-alteration-maps.nyc3.digitaloceanspaces.com/cp5622.pdf
#> 2   https://nycdcp-dcm-alteration-maps.nyc3.digitaloceanspaces.com/cp9692.pdf
#> 3  https://nycdcp-dcm-alteration-maps.nyc3.digitaloceanspaces.com/cp10007.pdf
#> 4  https://nycdcp-dcm-alteration-maps.nyc3.digitaloceanspaces.com/cp10059.pdf
#> 5  https://nycdcp-dcm-alteration-maps.nyc3.digitaloceanspaces.com/cp10068.pdf
#> 6  https://nycdcp-dcm-alteration-maps.nyc3.digitaloceanspaces.com/cp10112.pdf
#> 7  https://nycdcp-dcm-alteration-maps.nyc3.digitaloceanspaces.com/cp10150.pdf
#> 8   https://nycdcp-dcm-alteration-maps.nyc3.digitaloceanspaces.com/cp1016.pdf
#> 9  https://nycdcp-dcm-alteration-maps.nyc3.digitaloceanspaces.com/cp10161.pdf
#> 10 https://nycdcp-dcm-alteration-maps.nyc3.digitaloceanspaces.com/cp10313.pdf
#>    scanned track_num                            source map_series map_cabine
#> 1      Yes      5622 Consultant CAD data, convex hulls  1937-1958       12B1
#> 2      Yes      9692 Consultant CAD data, convex hulls  1937-1958       18C2
#> 3      Yes     10007 Consultant CAD data, convex hulls  1937-1958       19B1
#> 4      Yes     10059 Consultant CAD data, convex hulls  1937-1958       19C1
#> 5      Yes C.P.10068 Consultant CAD data, convex hulls  1924-1937       <NA>
#> 6      Yes     10112 Consultant CAD data, convex hulls  1937-1958       19A2
#> 7      Yes     10150 Consultant CAD data, convex hulls  1937-1958       19B2
#> 8      Yes      1016 Consultant CAD data, convex hulls  1937-1958       03C1
#> 9      Yes     10161 Consultant CAD data, convex hulls  1937-1958       19B2
#> 10     Yes     10313 Consultant CAD data, convex hulls  1937-1958       19A3
#>    map_copies                       geometry
#> 1           1 MULTIPOLYGON (((1053145 184...
#> 2           1 MULTIPOLYGON (((1010925 260...
#> 3           1 MULTIPOLYGON (((1009246 253...
#> 4           1 MULTIPOLYGON (((1010007 242...
#> 5           1 MULTIPOLYGON (((1059501 218...
#> 6           2 MULTIPOLYGON (((1009310 203...
#> 7           1 MULTIPOLYGON (((1002819 194...
#> 8           1 MULTIPOLYGON (((1023365 178...
#> 9           1 MULTIPOLYGON (((1020635 211...
#> 10          1 MULTIPOLYGON (((994740.7 16...
ggplot(nyc_dcm_alteration_sf) +
  geom_sf(aes(fill = boro_code), alpha = 0.5) +
  theme_void() +
  labs(fill = "Borough")

NYC Digital City Map Street Name Changes: Areas

Area-based street name changes including plaza names and public place names.

nyc_dcm_snc_area_sf
#> Simple feature collection with 49 features and 13 fields
#> Geometry type: POLYGON
#> Dimension:     XY
#> Bounding box:  xmin: 943560.7 ymin: 141120 xmax: 1061088 ymax: 259094.1
#> Projected CRS: NAD83 / New York Long Island (ftUS)
#> First 10 features:
#>      borough         feat_type ll_num ll_sec        ll_type ll_effect_dt
#> 1  Manhattan      Public place   <NA>      0       Renaming   10/01/2016
#> 2   Brooklyn        Plaza Name    050      4 Initial Naming    07/1/2013
#> 3   Brooklyn Intersection name    014     31 Initial Naming   03/07/2012
#> 4   Brooklyn        Plaza name    075      1 Initial Naming   12/13/1999
#> 5  Manhattan         Park name    065      1       Renaming   12/10/2001
#> 6     Queens   Playground name    052      1       Renaming   11/10/1998
#> 7  Manhattan       Street name    017      1       Renaming   05/18/1999
#> 8     Queens   Playground name    025      1       Renaming   06/28/1999
#> 9   Brooklyn    Ballfield name    033      1       Renaming   07/09/1999
#> 10  Brooklyn         Park name    027      1       Renaming   06/28/1999
#>                                                                                                                                                                            ll_limits
#> 1                                                                                                                                                                               <NA>
#> 2  The plaza bounded by the southwest corner of 4th Avenue and 95th Street, the east side of 4th Avenue opposite 96th Street, and the northeast corner of 4th Avenue and 97th Street
#> 3                                                                    The Lewis Avenue Triangle at Fulton Street and the Green Street space located at Fulton Street and Lewis Avenue
#> 4  the plaza bounded by the southwest corner of 4th Avenue and 95th Street, the east side of 4th Avenue opposite 96th Street, and the northeast corner of 4th Avenue and 97th Street
#> 5                                                                    existing park between Franklin D. Roosevelt Drive and the East River from Montgomery Street to East 12th Street
#> 6                                                                                     a triangle bounded by Hempstead Avenue, 224th Street and the Cross Island Parkway service road
#> 7                                                                                                                   between Oliver Street and Catherine Street within Chatham Square
#> 8                                                                                      Existing playground within George F. Torsney Park, located at Skillman Avenue and 43rd Street
#> 9                                                                                    existing limits of Bay Eighth Street Ballfields located at Bay Eighth Street and Cropsey Avenue
#> 10                                                                                                                                   the park located at 16th Avenue and 70th street
#>    limits_er repealed repeal_dt amended amend_dt amendt_txt
#> 1       <NA>       No      <NA>      No     <NA>       <NA>
#> 2       <NA>       No      <NA>      No     <NA>       <NA>
#> 3       <NA>       No      <NA>      No     <NA>       <NA>
#> 4       <NA>       No      <NA>      No     <NA>       <NA>
#> 5       <NA>       No      <NA>      No     <NA>       <NA>
#> 6       <NA>       No      <NA>      No     <NA>       <NA>
#> 7       <NA>       No      <NA>      No     <NA>       <NA>
#> 8       <NA>       No      <NA>      No     <NA>       <NA>
#> 9       <NA>       No      <NA>      No     <NA>       <NA>
#> 10      <NA>       No      <NA>      No     <NA>       <NA>
#>                          geometry
#> 1  POLYGON ((990240.4 213459.2...
#> 2  POLYGON ((1015715 181857.6,...
#> 3  POLYGON ((1002389 186912.6,...
#> 4  POLYGON ((975428.2 163269.8...
#> 5  POLYGON ((988504.1 198118.3...
#> 6  POLYGON ((1059585 198509.6,...
#> 7  POLYGON ((984724.3 199223.5...
#> 8  POLYGON ((1005948 211469.4,...
#> 9  POLYGON ((979590.3 159976.6...
#> 10 POLYGON ((984798.6 164851.4...
ggplot(nyc_dcm_snc_area_sf) +
  geom_sf(aes(fill = feat_type), alpha = 0.7) +
  theme_void() +
  labs(fill = "Feature Type")

NYC Digital City Map Street Name Changes: Lines

Linear street name changes including street renamings and honorary street names.

nyc_dcm_snc_line_sf
#> Simple feature collection with 1145 features and 13 fields
#> Geometry type: MULTILINESTRING
#> Dimension:     XY
#> Bounding box:  xmin: 915919.8 ymin: 121410.5 xmax: 1065275 ymax: 271640.8
#> Projected CRS: NAD83 / New York Long Island (ftUS)
#> First 10 features:
#>    borough   feat_type ll_num ll_sec       ll_type ll_effect_dt
#> 1    Bronx Street name    018      2 Honorary Name    4/11/2011
#> 2   Queens Street name    052      1      Renaming    11/3/2008
#> 3   Queens Street name    052      2      Renaming    11/3/2008
#> 4   Queens Street name    052      3      Renaming    11/3/2008
#> 5   Queens Street name    052      4      Renaming    11/3/2008
#> 6   Queens Street name    052      5      Renaming    11/3/2008
#> 7   Queens Street name    052      6      Renaming    11/3/2008
#> 8   Queens Street name    017      2      Renaming    3/26/2012
#> 9   Queens Street name    017      3      Renaming    3/26/2012
#> 10  Queens Street name    017      4      Renaming    3/26/2012
#>                                                                                                                           ll_limits
#> 1                                                                                              From Fordham Road to Allerton Avenue
#> 2                                                                                       Between Douglaston Parkway and Douglas Road
#> 3                                                                                            Between Hillside Avenue and West Drive
#> 4                                                                                             Between Circle Road and Cherry Street
#> 5                                                                                   Between Douglaston Parkway and Little Neck Road
#> 6                                                                                        Between Douglaston Parkway and Circle Road
#> 7  Between the intersection of Center Drive and Point Crescent to the intersection of Point Crescent (pka 141 Street) and Boulevard
#> 8                                                             Between Pine Street (pka 43 Avenue) and Church Street (pka 44 Avenue)
#> 9                                                            Between Church Street (pka 44 Avenue) and the dead end at Depew Avenue
#> 10                                                                                        Between Douglaston Parkway and 244 Street
#>                                                                           limits_er
#> 1                                                                              <NA>
#> 2                                                                              <NA>
#> 3                                                                              <NA>
#> 4                                                                              <NA>
#> 5                                                                              <NA>
#> 6  Eastern limit should be 240 Street (240 St changed to Circle Rd one block north)
#> 7                                                                              <NA>
#> 8                                                                              <NA>
#> 9                                                                              <NA>
#> 10                                                                             <NA>
#>    repealed repeal_dt amended amend_dt amendt_txt
#> 1       Yes 7/11/2011      No     <NA>       <NA>
#> 2        No      <NA>      No     <NA>       <NA>
#> 3        No      <NA>      No     <NA>       <NA>
#> 4        No      <NA>      No     <NA>       <NA>
#> 5        No      <NA>      No     <NA>       <NA>
#> 6        No      <NA>      No     <NA>       <NA>
#> 7        No      <NA>      No     <NA>       <NA>
#> 8        No      <NA>      No     <NA>       <NA>
#> 9        No      <NA>      No     <NA>       <NA>
#> 10       No      <NA>      No     <NA>       <NA>
#>                          geometry
#> 1  MULTILINESTRING ((1020093 2...
#> 2  MULTILINESTRING ((1053318 2...
#> 3  MULTILINESTRING ((1053251 2...
#> 4  MULTILINESTRING ((1054329 2...
#> 5  MULTILINESTRING ((1054774 2...
#> 6  MULTILINESTRING ((1054271 2...
#> 7  MULTILINESTRING ((1031523 2...
#> 8  MULTILINESTRING ((1054948 2...
#> 9  MULTILINESTRING ((1055271 2...
#> 10 MULTILINESTRING ((1054718 2...
ggplot(nyc_dcm_snc_line_sf) +
  geom_sf(aes(color = ll_type), linewidth = 0.5) +
  theme_void() +
  labs(color = "Local Law Type")

NYC Digital City Map Street Name Changes: Points

Point-based street name changes including intersection names and corner names.

nyc_dcm_snc_point_sf
#> Simple feature collection with 1214 features and 13 fields
#> Geometry type: POINT
#> Dimension:     XY
#> Bounding box:  xmin: 915136.6 ymin: 121442.2 xmax: 1063840 ymax: 270551.4
#> Projected CRS: NAD83 / New York Long Island (ftUS)
#> First 10 features:
#>          borough         feat_type ll_num ll_sec        ll_type ll_effect_dt
#> 1  Staten Island Intersection Name    063     70 Initial Naming   12/21/2004
#> 2       Brooklyn Intersection Name    063     10 Initial Naming   12/21/2004
#> 3      Manhattan Intersection Name    063     36 Initial Naming   12/21/2004
#> 4       Brooklyn       Corner Name    063     64 Initial Naming   12/21/2004
#> 5       Brooklyn       Corner Name    063     14 Initial Naming   12/21/2004
#> 6  Staten Island Intersection Name    063     66 Initial Naming   12/21/2004
#> 7       Brooklyn Intersection Name    063     11 Initial Naming   12/21/2004
#> 8  Staten Island       Corner Name    063     53 Initial Naming   12/21/2004
#> 9       Brooklyn       Corner Name    063     77 Initial Naming   12/21/2004
#> 10      Brooklyn       Corner Name    063      8 Initial Naming   12/21/2004
#>                                                                            ll_limits
#> 1                                the intersection of Liberty Avenue and Mason Avenue
#> 2                                    the intersection of 16th Avenue and Bath Avenue
#> 3                           the intersection of West 62nd Street and Columbus Avenue
#> 4                                  the intersection of Avenue T and East 14th Street
#> 5            the northeast corner of the intersection of 72nd Street and 11th Avenue
#> 6                           the intersection of Willowbrook Road and Buchanan Avenue
#> 7                                  the intersection of Senator Street and 3rd Avenue
#> 8  the northwest corner of the intersection of Tomplins Avenue and St. Mary’s Avenue
#> 9           the northeast corner of the intersection of Avenue U and West 9th Street
#> 10                                 the intersection of Gerritsen Avenue and Avenue R
#>    limits_er repealed repeal_dt amended amend_dt amendt_txt
#> 1       <NA>       No      <NA>      No     <NA>       <NA>
#> 2       <NA>       No      <NA>      No     <NA>       <NA>
#> 3       <NA>       No      <NA>      No     <NA>       <NA>
#> 4       <NA>       No      <NA>      No     <NA>       <NA>
#> 5       <NA>       No      <NA>      No     <NA>       <NA>
#> 6       <NA>       No      <NA>      No     <NA>       <NA>
#> 7       <NA>       No      <NA>      No     <NA>       <NA>
#> 8       <NA>       No      <NA>      No     <NA>       <NA>
#> 9       <NA>       No      <NA>      No     <NA>       <NA>
#> 10      <NA>       No      <NA>      No     <NA>       <NA>
#>                     geometry
#> 1  POINT (959495.4 152107.9)
#> 2    POINT (981244.7 160314)
#> 3  POINT (988829.3 220222.8)
#> 4  POINT (995980.4 158234.6)
#> 5  POINT (981509.1 166863.9)
#> 6  POINT (947198.5 159205.6)
#> 7  POINT (977180.5 171404.7)
#> 8  POINT (964108.9 163015.8)
#> 9  POINT (989727.5 156528.2)
#> 10  POINT (1000480 160640.4)
ggplot() +
  geom_sf(data = nyc_dcm_sf, color = "gray90", linewidth = 0.1) +
  geom_sf(data = nyc_dcm_snc_point_sf, aes(color = feat_type), size = 0.25, alpha = 0.7) +
  theme_void() +
  labs(color = "Feature Type")