Spatial Analysis Claire Liu Yang
Rethinking Urban Streets in Laban Notation STREET COMPARISON: ST MARKS PLACE, NYC vs CHESTNUT STREET, PHILADELPHIA
LEGEND
ALEJANDRA RAMOS & CLAIRE YANG
symbols are taken from labanotation, a pictographic method used to record movements in dance
short tree canopies do not allow for much natural light to reach the street level at all times, allowing shade from the sun for people to leisurely stroll, sit, and talk under for sustained outdoor activity
long
DIRECTION place
forward
left
backward
right
SHADING low
2ND AVE
3RD AVE
ST. MARKS PLACE
middle
up
RELATIONSHIP TAGS
TURNS left
right
left or right
DEGREE OF STRENGTH
N
1
2
3
4
5
6
ACCENT SIGNS TO NOTE LIGHT & BUILDING CHARACTERISTICS
building height continuity allows for a small city feel
building facades are monotonous action is at storefronts, presenting soft edges
strong heavy unemphasized
stronger
soft
emphasized passive
shaking
Rethinking Urban Streets in Laban Notation CHESTNUT STREET 37th - 30th (4- 5pm)
30th - 20th (5-6pm)
20th - 10th (6-7pm)
10th -Front (7-8pm)
story of concrete
TIMING short
DIRECTION place
boring facade
projections towards street
scale diffrence in posts
dense sustained direct
left
dark window decoration tells stories
Dab
tree canopy
right
middle
up
RELATIONSHIP TAGS Free Wring free sustained dense
light quick direct
low
scale and pace corelated
street park
delicate facade
Free Slash
TURNS
free quick dense
left
5
green infrastructure
target morphs into neighborhood
signage of busy street
street furniture
skyline hints at what lies ahead
2
3
4
strong target morphs into fabric
heavy signage of touristy place
interesting detail lower ground level
left or right
5
6
ACCENT SIGNS TO NOTE LIGHT & BUILDING CHARACTERISTICS
transition of facade maintanence issue
right
DEGREE OF STRENGTH 1
seat with no shading
light on concrete with trees behind
backward
SHADING
rthymic shadow
Press
forward
light that lures you in
bus stop blend in
human scale narrow door
long
unemphasized
stronger
soft
emphasized passive
shaking
Square Recording in Sensory Map SENSING PUBLIC SPACES: CLARK PARK vs READING TERMINAL MARKET
LEGEND
ALEJANDRA RAMOS & CLAIRE YANG
rings
CLARK PARK (NTS- NORTH PORTION) observation time- Sunday 9/11 around noon ice cream truck
ET
43RD STRE children playing
opacity of concentric ring correlates with time spent by group: deeper shade means longer time spent
The built environment is often experienced in an enclosed space, thus a market is not just significant because of its function, but in its design that directs easy circulation of people that are able to visit a wide variety of stands that each bring unique experiences.
jazz band & dancers
In the case of a park, the design is important in that having seating areas invite longer periods of time spent reflecting, reading, thinking, or even meditating. Outdoor public spaces in a city naturally bring many sounds and sights that add to the overall ambiance of the space. CHESTER AVENUE
chess players
VENUE ORE A
bocce ball game
BALTIM
bigger circle size represents intense activity level
As Jan Gehl and Birgitte Svarre state in How to Study Public Life, no one really knows why people enjoy public spaces so much. Our theory is that successful public places depend on the amount and variety of new sensory experiences provided, be they through scale, organization, surrounding facades, or transparencies, for example. Senses are activated in part through sub-conscious relation to one’s past sensory archive. Emotional value from overlapping sensory experiences bring to surface feelings from experiences and memories stored that in turn influence the present use and occupation of a space.
0-15 min
touch (sense) sight sound
READING MARKET (NTS)
observation time- Sunday 9/11 morning
taste smell ARCH STREET A
Sensory experiences mediate the aesthetic and human focus of urban design. Multimodal sensories layered to coat the market: the warmth of red paint, intimacy of lighting, smell of food in the airflow, and sonic sphere that is sealed from traffic but rich enough to allow private talks. The meanings and narratives people derived from the senses are individual, but in shared sensory experiences come together to improvise the dynamic whole.
frisbee players
N
11TH STREET 11T 11
12TH STREET
TREES
46 min- over an hour
color
TABLES BENCHES
16-45 min
FILBER STREET
N
Social Movement Hub
+inequality = social movement hub
+ 2km around universities
+2km around breeding grounds
+ 2km around universities
/* "space is not merely a variable or “container” of activism: it constitutes and structures relationships and networks."Which census tract in Connecticut is most likely to be a hub of social movements? There should be young passionate college students, tradition of resistance, public space, enough people, and inequality. */ //Code // Add and Display Connecticut var CT=ee.FeatureCollection('ft:1xa2PvKTf7ynyAAEXEeHoltriaHFkyFJpvd74BLc6'); Map.addLayer(CT, {color:"FFCC99"}, "Connecticut"); Map.centerObject(CT,9); // Error Handling (type below any needed error handling) // 2km around Universities var CTUni=ee.FeatureCollection( 'ft:1PI555y2W1P8VdYiUKRHxeSKIIdfdpiJ02FpPGFW0','L atitude'); Map.addLayer(CTUni,{color:"5CB8FF"}, "Universities"); var UniBuffer = CTUni.geometry().buffer(2000); var UniTracts = CT.filterBounds(UniBuffer); Map.addLayer(UniTracts, {color:"FF6699"},"UniTracts"); print("2km around Universities",CTUni.getInfo()); // 2km around Breeding Places of mid 60s Underground Newspapers var Underground=ee.FeatureCollection('ft:1- tKFuHPxy3vDEWcbEsZYKBb_uWd7L1cn7XqPt4Pl'); Map.addLayer(Underground, {color:"9900CC"}, "Underground"); var UnderBuffer = Underground.geometry().buffer(2000); var UnderTracts = UniTracts.filterBounds(UnderBuffer); Map.addLayer(UnderTracts, {color:"CC0033"},"UnderTracts"); print("2km around breeding places of underground newspaper",UnderTracts.getInfo()); // Top 20 Populated var CrowdTracts = UnderTracts.limit(20, "POP",false); Map.addLayer(CrowdTracts, {color:"ED6300"},"CrowdTracts"); print("top 20 populated",CrowdTracts.getInfo()); // Have Public Spaces var PublicSpace = ee.FeatureCollection("ft:1QoKUy6azOoyOjvtOEge8V1NG5f4EgzkryWMD9vdC"); var PublicTracts = CrowdTracts.filterBounds(PublicSpace); Map.addLayer(PublicTracts, {color:"99FF33"}, "PublicTracts"); print("have public space",PublicTracts.getInfo()); // Inequality var MeanPov = PublicTracts.aggregate_mean("Pct_BlPov"); var PoorerTracts = PublicTracts.filterMetadata("Pct_BlPov", "greater_than", MeanPov); var UnequalTract = PoorerTracts.limit(1, "Med_Inc",false); Map.addLayer(UnequalTract,{color:"FFFFFF"},"SocialMovementTract"); print("Higher than average below poverty rate with highest median income", UnequalTract.getInfo()); //End Work cited and consulted: Piazza past homework Deborah Martin and Byron Miller (2003) Space And Contentious Politics. Mobilization: An International Quarterly: June 2003, Vol. 8, No. 2, pp. 143-156. Nicholls, Walter, Justin Beaumont, and Byron A. Miller. Spaces of Contention: Spatialities and Social Movements Earth Engine JavaScript by Claire Yang
+top 20 populated
+have public space
Iraq Fire Anomalies
+inequality = social movement hub
New fire (places on fire September 13th but not on June 1st)
+ 2km around universities
Decreased fire (places on fire June 1st but not on September 13th)
+2km around breeding grounds
/* Satellite image analysis is essential to humanitarian relief actions. It has assisted the understanding of natural disasters, patterns of refugee camps, mining activities, etc. This script will show the change in fire anomalies in Iraq (near Mosul) this summer between June 1st and September 13th 2016. (ISIS is lighting fire as they retreat)*/ //Code // Add Base Image var BaseImage = ee.Image('MODIS/MYD09Q1/MYD09Q1_005_2016_09_13'); Map.setCenter( 43.3, 35.1, 8 ); Map.addLayer( BaseImage, {'bands': ['sur_refl_b02', 'sur_refl_b02', 'sur_refl_b01'], 'min': -100, 'max': 8000},'Base Image'); // Use Mask to Show Fire Anomolies in September 13th var SepFire = ee.Image( 'MODIS/006/MYD14A2/2016_09_13' ); var data = SepFire.select('FireMask'); var Mask = data.gt(6); var MaskedSfire = SepFire.mask( Mask ); Map.addLayer( MaskedSfire, {'bands': ['FireMask', 'QA', 'QA'], 'min': 3, 'max': 9},'Sep Fire'); // Use Mask to Show Fire Anomolies in June 1st. var JunFire = ee.Image( 'MODIS/006/MYD14A2/2016_06_01' ); var dataJ = JunFire.select('FireMask'); var MaskJ = dataJ.gt(6); var MaskedJfire = JunFire.mask (MaskJ); Map.addLayer( MaskedJfire, {'bands': ['QA', 'QA', 'FireMask'], 'min': 3, 'max': 9},'Jun Fire'); //Use Where to Show Places that were on Fire on June 1st but not on September 13th. var SepF = data.gte(6).and(data.lte(10)); var MaskD = MaskJ.where(SepF.eq(1), 0); var MaskedDiff = JunFire.mask (MaskD); Map.addLayer( MaskedDiff, {'bands': ['QA', 'FireMask', 'QA'], 'min': 0, 'max': 9},'Decreased Fire'); //Use Where to Show Places that were on Fire on September 13th but not on June 1st. var JunF = dataJ.gte(6).and(data.lte(10)); var MaskN = Mask.where(JunF.eq(1),0); var MaskedNew= SepFire.mask(MaskN).select ('FireMask'); Map.addLayer( MaskedNew, { 'min': 3, 'max': 9},'New Fire'); // End
//Citations MODIS Surface Reflectance product (MYD09Q1.005 Surface Reflectance 8-Day L3 Global 250m) MODIS/Aqua Thermal Anomalies & Fire product (MYD14A2.006: MODIS/Aqua Thermal Anomalies & Fire 8-Day L3 Global 1km)
Earth Engine JavaScript by Claire Yang
June 1st fire near Iraq +top Mosul, 20 populated
September 13th fire public near+have Mosul, Iraq space
Serial Vision: Montage-Time Seen-Fuzzy viewshed Introduction Google night walk in Marseilles inspired this project. Serial Visions explores how a moving observer experiences its surroundings visually along the road.The existing ArcGIS viewshed 2 tool requires extra processing computing power and doesn't give a sense how moving observers see along the road. This tool will include three parts: Montage which will represent a moving observer at different point of time and simulate the progressing viewing experience. Time Seen is the mosaic (sum) of Montage results and shows which grid cells are looked at the most time by the observer. If we assume the observer travel at constant speed, we can even calculate the time spent looking at the overlapping grid cells. Fuzzy Viewshed will take distances into account and create a Distance Decay viewshed for the mosaic (maximum) of Montage. The further the less visible probability.
t
create points along the route, loop- run viewshed
Code Selection from the 6-page script: # Mosaic to the Time Seen using Sum operator and mosaic to the Booleen using Maximum operator arcpy.MosaicToNewRaster_management(nameOfInputRaster1; nameOfInputRaster2;name OfInputRaster3;nameOfInputRaster4;nameOfInputRaster5;nam eOfInputRaster6;nameO fInputRaster7,nameOfOutputRaster1,New Folder, "TimeSeen","1", "SUM","FIRST") arcpy.MosaicToNewRaster_management(nameOfInputRaster1; nameOfInputRaster2;name OfInputRaster3;nameOfInputRaster4;nameOfInputRaster5;nam eOfInputRaster6;nameO fInputRaster7,nameOfOutputRaster1,New Folder, "BooleanA","1", "MAXIMUM","FIRST") # Create Euclidean Distance Raster around the Road maxDistance = 400 cellSize = 12.0266846079753 EucDistance(nameOfInputShapefile, maxDistance, cellSize, nameOfOutputRaster1) # Apply basic distance decay funciton Visibility = 1/distance² to distance raster to create Decay1 nameOfOutputRaster2 = 1/Square(Raster(nameOfOutputRaster1))
boleen surface (existing Viewshed2 tool): 0 (nonvisible) or 1 (visible) 400 ft buffers (Philly Center City block is ~400 ft)
additive surface: 0 (never seen) to n (most seen)
clip and extract montage to the buffer geometry. Data Sources The ArcScene of Logan Square from Virtual 3D City Philadelphia; building footprints and parcels; Elevation Raster; Road Shapefile of Benjamin Franklin Pkwy N 22nd St and N 16th St
Key scenes from Time Seen
Euclidean Distance
Distance & viewshed
Con("Decay1",(1/(1+ (Square(("Decay1"-Interval ) "Visibility = 1/distance²": Interval)))),1,"value >= Interval"):
Distance Decay 1
Distance Decay 2
Viewshed and the Distance Decay raster 2 =
Fuzzy viewshed decay with distance # Adjust the Decay1 to Decay2 nameOfOutputRaster3 = Con(Raster(nameOfOutputRaster1),(1/(1+ (Square((Raster(nameOfOutputRaster1) - 40)/80)))),1,"value >= 40") # Multiply Decay2 and Booleen mosaic to create Distance Decay Viewshed nameOfOutputRaster4 = Raster(nameOfOutputRaster3)*Raster(r"BooleanA") except Exception as e: # If unsuccessful, end gracefully by indicating why arcpy.AddError('\n' + "Script failed because: \t\t" + e.message ) # ... and where exceptionreport = sys.exc_info()[2] fullermessage = traceback.format_tb(exceptionreport)[0] arcpy.AddError("at this location: \n\n" + fullermessage + "\n") ArcPy By Claire Yang