All The Places I Have Lived

I made a little map of the places I have lived. 

I got shapefiles of Hoboken and Jersey City streets from Hudson County, Manhattan streets from NYC Open Data, and San Francisco streets from their Open Data portal. 

I used three dataframes, which is a pretty terrible and hacky way to approach this. The three layers and frames were all zoomed to different scales to line up the cities, so formatting the lines to make it look uniform was a challenge.

I manually parsed a bunch of streets, making the density of the grids consistent in each city, and connecting major thoroughfares between between them. 6th Avenue became Palisade Avenue pretty seamlessly. Merging south San Francisco's streets was not quite so elegant, but I blame San Francisco streets.

If anyone knows a smarter way to join lines to this effect, let me know.

Inspired by You Are Here: Personal Geographies and Other Maps of the Imagination by Katharine Harmon.

 

All maps are fictional and sentimental, this one just a little more. 

 

Finding What NYC Owns in NYC

Way back in February, an old job asked me to try and parse City-owned and Leased Property (COP) in NYC from an Open Data file listing COPs in the five boroughs. The struggle with uniting this list with a tax map to visualize city property was that the city identifies parcels with a BBL - Borough, Block, and Lot identifier - and in the City-owned and Leased Property list, the BBL was recording as a single attribute. MapPLUTO's, the city's tax lot database represents the BBL as three discrete attributes. 

Unfortunately, even after I generated three discrete BBL attributes in each layer, GIS barely accommodates joining two layers by more than one common attribute. After plenty of experimentation, I can report the best way to accomplish this is a Make Query Layer tool with a quick SQL expression.

These were my specific methods to join the tables and isolate the COPs: 

(1) Get City-owned and Leased Property (COP) list. 
(2) Get Manhattan MapPLUTO parcel info (MNMapPLUTO)
(3) Add "Borough_1" field to MNMapPLUTO and use field calculator to make "Borough_1"="1" where "Borough"="MN" to make sure the borough identifier is common - 1 for MN - among the COP table and MapPLUTO layer. 
(4) The parcels and COP table can be joined by their BBL (Borough, Block, Lot) numbers but unfortunately the BBL# is stored as three separate attributes, so use "Make Query Layer" tool to join the fields by their three respective attributes, using the SQL expression: ("COP.borough"="MapPLUTO.borough" AND "COP.block"="MapPLUTO.block" AND "COP.lot"="MapPLUTO.lot"). 
(5) Import new query layer into filegeodatabase.

Message me for final COP shapefile.