Is it possible for us to “greenline” neighborhoods?

(I don’t mean extending the Green Line to its original terminal, to provide more transportation options in Woodlawn.)

Maps have been used to devalue neighborhoods and to excuse disinvestment. There should be maps, and narratives, to “greenline” – raise up – Chicago neighborhoods.

The Home Owners’ Loan Corporation “residential lending security” maps marked areas based on prejudicial characteristics and some objective traits of neighborhoods to assess the home mortgage lending risk. (View the Cook County maps.) The red and yellow areas have suffered almost continuously since the 1930s, and it could be based on the marking of these neighborhoods as red or yellow (there is some debate about the maps’ real effects).

The Home Owners’ Loan Corporation and its local consultants (brokers and appraisers, mostly) outlined areas and labeled them according to objective and subjective & prejudicial criteria in the 1930s. Each area is accompanied by a data sheet and narrative description. The image is a screenshot of the maps as hosted and presented on Chicago Cityscape.

The idea of “greenlining”

I might be thinking myopically, but what would happen if we marked *every* neighborhood in green, and talked about their strengths, and any historical and current disinvestment – actions that contribute to people’s distressed conditions today?

One aspect of this is a form of affirmative marketing – advertising yourself, telling your own story, in a more positive way than others have heard about you in the past.

In 1940, one area on the Far West Side of Chicago, in the Austin community area, was described as “Definitely Declining”, a “C” grade, like this:

This area is bounded on the north by Lake St., on the south by Columbus Park, and on the west by the neighboring village of Oak Park. The terrain is flat and the area is about 100% built up. There is heavy traffic along Lake St., Washington Blvd. Madison St., Austin Ave. (the western boundary) and Central Ave. (the eastern boundary).

High schools, grammar schools, and churches are convenient. Residents shop at fine shopping center in Oak Park. There are also numerouss small stores along Lake St., and along Madison St. There are many large apartment buildings along the boulevards above mentioned, and these are largely occupied by Hebrew tenants. As a whole the area would probably be 20-25% Jewish.

Some of this migration is coming from Lawndale and from the southwest side of Chicago. Land values are quite high due to the fact that the area is zoned for apartment buildings. This penalizes single family occupancy because of high taxes based on exclusive land values, which are from $60-80 a front foot, altho one authority estimates them at $100 a front foot. An example of this is shown where HOLC had a house on Mason St. exposed for sale over a (over) period of two years at prices beginning at $6,000 and going down to $4,500. it was finally sold for $3,800. The land alone is taxed based on a valuation exceeding that amount. This area is favored by good transportation and by proximity to a good Catholic Church and parochial school.

There are a few scattered two flats in which units rent for about $55. Columbus Park on the south affords exceptional recreational advantages. The Hawthorne Building & Loan, Bell Savings Building & Loan, and Prairie State Bank have loaned in this area, without the FHA insurance provision. The amounts are stated to be up to 50% and in some cases 60%, of current appraisals.

Age, slow infiltration, and rather indifferent maintenance have been considered in grading this area “C”.

Infiltration is a coded reference to people of color, and Jews.

My questions about how to “greenline” a neighborhood

  1. How would you describe this part of Austin today to stand up for the neighborhood and its residents, the actions taken against them over decades, and work to repair these?
  2. How do you change the mindset of investors (both small and large, local and far) to see the advantages in every neighborhood rather than rely on money metrics?
  3. What other kinds of data can investors use in their pro formas to find the positive outlook?
  4. What would these areas look like today if they received the same level of investment (per square mile, per student, per resident, per road mile) as green and blue areas? How great was the level of disinvestment from 1940-2018?

In the midst of writing this, Paola Aguirre pointed me to another kind of greenlining that’s been proposed in St. Louis. A new anti-segregation report from For the Sake of All recommended a “Greenlining Fund” that would pay to cover the gap between what the bank is appraising a house for and what the sales price is for a house, so that more renters and Black families can buy a house in their neighborhoods.

That “greenlining” is a more direct response to the outcome of redlining: It was harder to get a mortgage in a red area. My idea of greenlining is to come up with ways to say to convince people who have a hard time believing there are qualities worth investing in that there they are people and places worth investing in.


The Digital Scholarship Lab at the University of Richmond digitized the HOLC maps and published them on their Mapping Inequality website as well as provided the GIS data under a Creative Commons license.

Which Chicago buildings have the worst energy efficiency?

About five years ago (I’m too lazy to look it up right now), the City of Chicago adopted an energy benchmarking law. This means that owners of buildings of a certain size would soon be required to report how much energy (electricity, natural gas, district steam, chilled water, and other fuels) their buildings use. Every few years they have to audit their reports.

The city has posted three years of energy reports for the “covered” buildings (the ones of a certain size) on its data portal. I copied the Chicago Energy Benchmarking dataset into the Chicago Cityscape database (for future features) and then loaded it into QGIS so I could analyze the data and find the least efficient buildings in Chicago.

The dataset has all three years so I started the analysis by filtering only for the latest year, 2016. I first visualized the data using the “ghg_intensity_kg_co2e_sq_ft” column, which is “greenhouse gas intensity, measured in kilograms of carbon dioxide equivalent per square foot”. In other words, how much carbon does the building cause to be emitted based on its energy usage and normalized by its size.

In QGIS, to symbolize this kind of quantitative data, it helps to show them in groups. Here are “small fry” emitters, medium emitters, and bad emitters. I used the “Graduated” option in the Symbology setting and chose the Natural Breaks (Jenks) mode of dividing the greenhouse gas intensity values into four groups.

There are four groups, divided using the Natural Breaks (Jenks) method. There’s only one building in the “worst” energy users group, which is Salem Baptist Church, marked by a large red dot. The darker red the dot, the more energy per square foot that building consumes.

Among the four groups, only one building in Chicago that reported in 2016 was in the “worst emitters” group: Salem Baptist Church of Chicago at 10909 S Cottage Grove Avenue in Pullman.

The Salem Baptist Church building was built in 1960, has a gross floor area of 91,800 square feet, and an Energy Star rating of 1 because it emits 304.6 kilograms of carbon dioxide equivalent per square foot (kgco2esf). (The Energy Star rating scale is from 1 to 100.)

The next “worse” emitter in the same “Worship Facility” category as Salem Baptist Church is several magnitudes of order lower. That’s St. Peter’s Church at 110 W Madison Street in the Loop, built in 1900, which emits 11.7 kilograms of carbon dioxide equivalent per square foot (but which also has an Energy Star rating of 1).

The vast difference is concerning: Did the church report its energy usage correctly, or are they not maintaining their HVAC equipment or the building and it’s leaking so much air?

A different building was in the “worst” emitter category in 2015 but improved something about the building by 2016 to use a lot less energy. Looking deeper at the data for Piper’s Alley, however, something else happened.

In 2015, Piper’s Alley reported a single building with 137,176 gross square feet of floor area. The building’s owner also reported 5,869,902 kBTUs of electricity usage and 1,099,712,681 kBTUs of natural gas usage. Since these are reported in kilo-BTUs that means that you multiply each number by 1,000. Piper’s Alley reported using 1 trillion BTUs of natural gas. Which seems like an insane amount of energy usage, but could be totally reasonable – I’m not familiar with data on how much energy a “typical” large building uses.

Piper’s Alley in Old Town is the building that reported two different floor areas and vastly different energy usage in 2015 and 2016. The building’s owner didn’t report data for 2014 (although it may not have been required to).

There’s another problem with the reporting for Piper’s Alley, however: For 2016, it reported a gross floor area of 217,250 square feet, which is 36 percent larger than the area it reported in 2015. The building reported using significantly more electricity (58 percent more) and significantly less natural gas (137 percent less), for a vastly lowered kgco2esf value.

I think the energy benchmarking data set needs more eyes on it. Discuss in the comments below, or reply to my Twitter thread.

Biss gives a short speech about good city-building policies

Transcript (I wrote this):

“We need the right land use policies, so around things like parking minimums, which are catastrophic, around things like height rules around transit nodes, around things like the way that bike lanes operate, and the design of roads that kind of allow for 35 mph and not 25 mph…all that stuff that we know is a disincentive to walking and cycling, is embedded in our municipal land use policies.

“What the state should do is not just increase investment in mass transit, but then condition that investment on municipal polices that encourage the kind of mixed-use development, transit-oriented development, walkability, bikeability.

“If you do that, if you have state dollars tied to these policies, you can change municipal polices across the state, and then you can have a real revolution in walkability and bikeability.”

Need help voting? Check out my crowdsourced voting guide for friends!

Don’t know who to vote for? Start your research using my friends voter guide!

Friends voter guide

Anyone can read it and comment, only the invited few can edit. If you would like to make some edits, ask for an invitation.

The primary election is on March 20, but early voting in Cook County has begun. Anyone registered in Cook County can vote early at multiple sites, including the downtown hub at 16 W Adams. Voting here is quick because they have so many voting booths.

Get all the other details on early voting.

New Illinois bill would prevent government employees from being paid to attend conferences

The American Planning Association, Illinois chapter, sent out a legislation alert this morning about three bills that would prevent government funds from being used to send employees to conferences.

I wrote the following letter to my two state representatives.

—-

Dear Representative Soto and Illinois Senator Aquino,

I urge you to vote no on the bills HB4246, HB4247, and HB4248 (“bills”).

I am a professional urban planner in Humboldt Park who hopes to have a job with a government agency in Chicago very soon (I’ve applied three times to the same agency, because I want to work there so badly). I have many colleagues, friends, and fellow UIC alumni, who currently work for government agencies in Illinois.

These bills will ban government employees from attending conferences, which is important to government and to these employees for 3 reasons:

1. It’s an opportunity for the worker to learn the latest knowledge, technology, and practices for their line of work. Government agencies should have high quality workers and staying abreast of new ideas in their field is paramount to a high quality government agency.
2. It’s an opportunity for the government agency to share the results of their internal work with a wider audience, gain recognition, and share and receive best practices from other government agencies.
3. Workers who are certified in their respective industries must attend events to receive “continuing education” credits to ensure they can keep their certification. If the employer isn’t paying for this, then the employee is encouraged to find a job elsewhere that will.

I understand that there seems to have been some abuse, at least from what I’ve read in the news about Governor Rauner’s head of the IT department, but these bills are an overbearing and potentially damaging way to deal with that problem.

Sincerely,
Steven Vance

The genius of using ST_Subdivide to speed up PostGIS intersection comparisons

You should use ST_Subdivide to break up large shapes into smaller ones

This infographic visually compares the difference between running a PostGIS comparison query like ST_Intersects on a large shape versus a subdivided version of that large shape. Click to embiggen.

Hundreds of GIS intersection comparisons are completed every hour on Chicago Cityscape.*

People are looking at, say, a map of the South Shore community area. That “Place” page then grabs all of the building permits, building violations, business licenses, and other “feature layers” that are stored as points.

A classic “point in polygon” comparison is made using the ST_Intersects(place_geometry, permits_geometry) function.

This has worked very well for several years.

The problem

But as Chicago Cityscape handles larger shapes – they come from users drawing their own, large shapes, and from large shapes like the downtown Chicago area – this query doesn’t cut it.

Setting indexes on the geometry is imperative, but it’s not the end of the to optimize performance. That’s because the index of the geometry is a rectangular bounding box (which is also called an “envelope” in GIS) that contains the entire shape of the South Shore community area.

The downtown Chicago area, however, is not even the largest shape I have. That belongs to the new Place, “Neighborhood Opportunity Fund investment zones” (NOF). Combined, they cover 75 square miles of Chicago. Downtown is only 7.7 square miles.

After I added the NOF map and tested its Place page, it “crashed” my server, metaphorically speaking. The query to just count the number of building permits in the area would take about five minutes.

There had to be a better way; in the meantime, however, I divided the NOF map into the West and South sections. This hardly improved the counting time.

The solution

Thankfully, today, I saw a tweet from Paul Ramsey linking to his blog that linked to his slides from a recent presentation about the use of PostgreSQL to store and manipulate GIS data.

In it he explained how the ST_Subdividefunction worked. I’m going to demonstrate it using graphics from my own maps.

A normal intersection comparison, using ST_Intersects(place_geometry, permits_geometry) in a query creates a bounding box (envelope) around each geometry and quickly determines whether the two envelopes overlap. If they do, then it checks again to see if the actual geometries overlap. If they do, that data is returned as a response to your query.

When your two datasets are massive, like the NOF zones, which collectively cover 1/3rd of Chicago, and the building permits, which are found across the entire city…well, that led to the five minutes counting time.

Enter ST_Subdivide. To use it properly you would run it against your existing geometry and store the much smaller shapes, derived from the big shape, in a new table. I applied the function to all the 22,203 maps that Chicago Cityscape has and stored their unique IDs and subdivided geometries in a new “lookup” table.

Now, any time I want to compare the building permits against the NOF, the building permits are instead compared to the small shapes that were subdivided.

The query

Chicago Cityscape uses a single table (created as a materialized view) to combine all 22,203 maps. Each map is stored in a source table (for example, there’s a table to hold the 77 community areas) and the materialized view runs once a day to combine all of the maps in the source tables. This ensures our data is managed well: different source tables can hold different information, and the single table holds only the name, type, and geometry of the source tables, for faster comparison. Each entry in the single table also has a “slug”, its unique identifier.

Thus, the materialized view of the subdivided maps is created from the aforementioned single table, using this query:

create materialized view view_places_subdivided as
select gid || '_' || random() as gid, slug, st_subdivide(geom) as geom
from view_places;

The “gid” is designed to create a new unique ID field, as the slug field will be repeated for every subdivided of each map. A unique ID field is necessary if you want to refresh the materialized view concurrently (to allow for other queries to access the materialized view while it’s being refreshed).

* The results are cached for a few hours, because the feature layers change 1-2 times per day and at different times each day, so the limited duration cache accommodates that. Ideally I would code a way to invalidate the cache when the feature layer data is updated.

Upzone the 606

Map of the single family-only zoning around the Bloomingdale Trail

The area in green only allows single-family houses to be built.

Something’s gotta give.

This is all of the land area within two blocks of the Bloomingdale Trail that allows only single-family housing to be built (view full map). This isn’t to say that multi-family housing doesn’t exist here; it definitely does, and there’s probably a handful of two-flats on a majority of the blogs.

All of the five parks of the 606 are within this two block radius, and 49.6 percent of the land allows only single-family housing to be built.

But why build a transportation corridor, a park, a new, expensive, public amenity, and not change the kind of housing – which often determines the kind of family and makeup of a household – that can afford to buy a home near here.

It’s already been shown that detached single-family housing prices have grown intensely the closer you get to the trail. That price growth has meant displacement for some, and “no chance to buy or build a house here” for many others.

There are still plenty of vacant lots within the mapped area; lots that should have a 2-4 unit building built on them, but where only a 1-unit building is allowed.

This map was made possible by the new Zoning Assessment tool on Chicago Cityscape. Read about it or use it now.

Yes, please, to Accessory Dwelling Units and adopting Vancouver’s policy

income property

There’s a couch house back there, providing an income opportunity for the owner of this single-family house. It’s hard to find photos of coach houses in Chicago because, given their position behind the house, it’s hard to see them from the street! Photo by Curtis Locke

I’m a huge opponent of how cities use zoning to keep densities very low and prevent people from moving into a neighborhood to enjoy high quality public schools and good access to transit. This is evidenced by many of my tweets about zoning analyses in Chicago over the last two weeks, and many blog posts I’ve written over the years.

I’m a proponent of Accessory Dwelling Units. In Chicago these are most commonly seen, in practice, as coach houses, which were built before most of us were born. ADUs, because they’re behind the primary building on a lot, are a nearly-hidden, low-impact way to provide affordable housing for a couple more people per lot without affecting the “character” of the neighborhood. And they generate rental income for the family that owns the primary building!

Coach houses, and ADUs, are illegal in Chicago. You’re allowed to keep the one you have, and it can be rented out to anyone else, so long as you don’t renovate it.

Bryn Davidson is an architect based in Vancouver, B.C., and his firm, Lanefab, designs ADUs in that city, a housing type that was legalized in 2009. He wrote an article in CityLab today and there are *so many quotable parts*.

In the article, Davidson offers five strategies for a city that’s developing an ADU legalization policy.

In the “Keep the approvals process simple” strategy, Davidson says that Vancouver’s policy means homeowners “don’t have to solicit feedback from neighbors”, adding, “The…is perhaps the most important. In North America we have a long history of granting neighbors truly extraordinary veto powers when it comes to adding new housing. Going forward, if we want to treat younger generations and renters more fairly, we need to stop trying to litigate housing on a lot-by-lot basis.”

This is one of the worst things about zoning today. Zoning is supposed to be the way that you tell property owners what they can expect to be able to build, and it’s a way for cities or residents to manage certain aspects about the way their area looks and who is living there.

But if everywhere in the city (cough Chicago cough) where people want to build is improperly zoned to begin with – for example, allowing only single-family houses near train stations in areas that have hundreds of apartment buildings that predate that zoning – you get a situation where so many property owners have to ask their city council member for a zoning change.

The next quotable is…the entire parking strategy. But here’s some choice parts:

  • “We argued at length about parking in Vancouver, but in the end, opted to require only one onsite parking space…”
  • “Some neighbors will get irate about the new competition for street parking, but here’s the counterpoint: If a neighbor is complaining about street parking, it’s because they’re using their garage…for something else”
  • “Either way, a lot of single-family-home residents are parking on city property for free while extracting extra value out of their private land.”

Chicago is experiencing gentrification, with rising property values and taxes in neighborhoods filled with households that can least afford it. Many of these households live in a single-family house – what do you think about giving them the opportunity to renovate and rent out an existing coach house in North Lawndale, or build a new coach house in Humboldt Park?

How much of the land within walking distance of a CTA station is zoned to allow multi-family housing?

I recently created the Zoning Assessment tool on Chicago Cityscape, which shows a map of aggregated zoning districts in a given community area, ward, or near a CTA or Metra station. Per Paul Angelone’s suggestion, you can now show the walk shed – the area within walking distance to the station, following the streets.

The maps in this post show where one can build apartments (including a simple and common two-flat) within a 15 minute walk to the Logan Square Blue Line station, which has 24-hour service. Try it yourself.

Thirty-one percent of the walk shed allows multi-family housing.

In a second version of the same map, I’ve marked in red the gaps in the zoning map. These are areas that are zoned to allow only single-family housing. That doesn’t make sense: The land near rapid transit stations should be much denser than the land away from the stations.

Sixty-four percent of the walk shed allows only single-family housing. The remaining five percent are planned developments (at least the Mega Mall is going to have a couple hundred dwelling units), manufacturing, and parks.

And if most of the block is already zoned to allow multi-family housing, why are these parcels skipped?

This is the same map as the one above, but with areas that allow only single-family housing marked in red (however, I skipped some areas to save myself time).

How it works
The walk shed boundaries are generated by Mapzen’s isochrone service. The Zoning Assessment map asks Mapzen for the polygon of a specified walk shed (walk or bike, 10 or 15 minutes), receives the polygon and sends that polygon to a custom API on the Cityscape server, which compares that to the server’s copy of Chicago’s latest zoning map. The comparison is then returned to the browser and replaces the default Zoning Assessment map.

How to download data from ArcGIS MapServers using your computer’s command line

A lot of geospatial data (GIS) is stored on ArcGIS MapServers, which is part of the Esri “stack” of products that municipalities use to manage and publish GIS data. And a lot of people want that data. If you have ArcGIS software on your Windows computer, then it can be pretty easy to plug in the map server URL and manipulate and extract the data.

For the rest of us who don’t have an extremely expensive license to that software, you can use a “command line” tool (written in Python) on any computer to download any layer of GIS data hosted on the ArcGIS MapServer and automatically convert it to GeoJSON.

You’ll need to install the Python package pyesridump, from the OpenAddresses GitHub repository, created by Ian Dees and other contributors.

Installing pyesridump is easy if you have pip installed, using the command pip install esridump.

The next thing you’ll need is the URL to a layer in a MapServer, and these are not easy to find.

Finding data to download

I can guarantee the county where you live has one. Before you continue, check to see if your county (or other jurisdiction) has the “open data portal” add-on to their ArcGIS stack.

Here are links to the open data portals enabled by Esri for Lake County, Illinois, and Broomfield County, Colorado). This is much easier to browse and find data to download (in shapefile and other formats) and you can skip this tutorial.

I don’t have a good recommendation to find the MapServer URL, though. A reader suggested looking for MapServers for jurisdictions around the world by looking through Esri’s portal of open data called ArcGIS Hub. Once you locate a dataset you want, you can find the MapServer URL under About>Data Source on the right side of the page.

I normally find them by looking at the HTML source code of a MapServer I already know about.

For this example I’ll use one of the GIS layers in the Cook County, Illinois, election service MapServer – here’s the layer for the Cook County commissioners districts.

Fetch the data

Once you have the URL the command is simple:

esri2geojson http://cookviewer1.cookcountyil.gov/ArcGIS/rest/services/cookElectnSrvc/MapServer/11 cookcounty_commissioners.geojson

  • The first term, esri2geojson tells your computer which program to load.
  • The second term is the URL of the MapServer URL.
  • The third term is the filename and location where you want to store the file. I prefer running the command “inside” the folder where I want the file to be stored. You can also specify a full path of the file. On a Mac this would look like ~/Users/username/Documents/GIS/projectname/cookcounty_commissioners.geojson

After you enter the command into your computer’s terminal, press enter. esri2geojson will report back once, after it finds and understands the MapServer URL you gave it. When it’s done, the command will “close” and your computer’s terminal will wait for the next command.

Do you have questions, or need some help? Leave a comment below.

© 2018 Steven Can Plan

Theme by Anders NorénUp ↑