Automobile-free neighborhood

Lu Hao
Data Mining the City
2 min readSep 19, 2018
Sketch

Plan Description:

  1. This neighborhood site planning focus on the idea of “Auto-free Zone”.
  2. Since this is a pedestrian-friendly and walkable neighborhood, the street which used to be auto lane has been replaced by a bike lane.
  3. The larger grids represent blocks; each block contains four residential units which are displayed in smaller grids.
  4. When moving the cursor into the large grid area and click, a picture will display at the lower right corner. The picture shows the housing type and style dominant in these blocks.
  5. a line of bushes (green belt) is placed between the residential area and sidewalks, with the consideration of privacy protection of the family living in the units.

Code:

def setup():
size(900, 600)
global img, SFH1,SFH2, SFH3, SFH4 #SFH- Single Family House
img = loadImage("bike lane.png")
SFH1 = loadImage("SH1.jpg")
def draw():
x = 20
y = 20
x2 = 10
y2 = 10
squareSize1 = 60
squareSize2 = 160
bushSize = 120
spacing = 20
pavement = color(127,0,0) #the sidewalk pavement color
bush = color(0, 255, 0) #bush green

fill(pavement)
rect(550,0, 100, 600) #Sidewalk
strokeWeight(10)
line(660,0,660,600) #street curb
image(img, 700, 200)

for row2 in xrange(0,2):
for col2 in xrange(0,2):
strokeWeight(4)
fill(pavement) #roads around single family house units
rect(x2 + col2 * squareSize2, y2 + row2 * squareSize2,
squareSize2, squareSize2)

for row in xrange(0,4):
for col in xrange(0,5):
strokeWeight(1)
while col < 4:
fill(255)
rect (x + col*(squareSize1 + spacing),
y + row*(squareSize1 + spacing),
squareSize1, squareSize1)
col = col + 1
ellipse(x + col*(60+ 50),
y + row*(bushSize + spacing),
bushSize, bushSize) #the bushes
if col==4:
fill(bush)
else:
nofill()
#create curves as the walking path from housing to street
strokeWeight(4)
line(140, 330, 140, 600)
line(200, 330, 200, 510)
line(200, 510, 550, 510)
line(200, 570, 200, 600)
line(200, 570, 550, 570)
#interaction:
def mousePressed():
if mouseX <340 and mouseY <340:
image(SFH1, 200, 340, width/5, height/5)
else:
return()

--

--