NYGeog

Geography, GIS, Geospatial, NYC, etc.

Thursday, May 14, 2015

Blog moved to GitHub - nygeog.com

Head over to nygeog.com to see my more up-to-date blog with new posts, etc.

Friday, May 10, 2013

My Students' (Barnard GIS class Spring 2013) Project Titles

I'm pretty excited to read my class's final GIS projects. They all worked very hard and I hope they learned something about GIS and technology. Have a great summer class!

Report Titles:


Evacuating the Elderly: Immobility and Isolation in New York City Residential Building in Hurrican Evacuation Zones


Success in the Big Apple: An Analysis of Manhattan Charter Schools

Finding Suitable Sites for Green Markets within FRESH zones in New York City

New York City Public Park Space and Physical Activity Venues and their Impact on Neighborhood Exercise Levels

Visualizing the Mental Health Distress and Distribution of ERs as compared to Mental Health Facilities in New York City 

Columbia University Military Veterans: Resource Availability in Metro NYC

Relationship between Percent Hispanic Population and race of New York City Council Representative

Sex Offender Residency Restrictions in Boston, MA

Maybe You Shouldn't Drink That Much: Relationship between NYC Bars and Public Urination Citations

Graffiti in New York City: Is the NYPD Equipped to Address the Problem?

Taxes and Tourism in Vermont

Bikes and Bills (Crashstat and Median Household Income)

Environmental Justice Case Study of Greater Los Angeles Area: The Correlation between Minority Populations, Median Household Income and Location of Dangerous Mining Sites

PlaNYC's Grow to Learn: Granting Access to Gardens?

An Industrial and Land Use Study for Allentown, PA

The Next Whole Foods: Site Spotting in New York City

A Spatial Analysis of Crime and Poverty: Chicago, IL

New York City Playgrounds and Schools: A Mapping and Assessment Project

Hurricane Evacuation Zones Reform

Friday, January 11, 2013

2013 Goals

I recently listened to something on NPR about Making Resolutions Stick. It's important to write them out and to make them attainable. Here were my goals for 2012. Below is a short list of them.

1. Become more proficient with Python, especially the other modules, iters, calendar, etc.
2. Learn GeoDjango, learn it.
3. Learn even more about the Google Maps API and Fusion tables.
4. Utilize Dropbox more for non-sensitive GIS data.

Did I do them. Well #1 and #4 are definite yes's. #3 is true for the first half of 2012. Teaching and work got in the way of continuing to work on that but what I was able to do met that initial goal. #2 I never got very far with. I should have started with just learning Django, which might be hard enough on its own.

GIS and Career Goals:


1. Blog more. One thing I didn't do much of in 2012 was blog. So I'd like to do more of that. Tweeting and other stuff just doesn't help me cement in things that I've learned as well as blogging about it.

2. Learn MapBox - CartoDB

3. Utilize SpiderOak. A lot of the sensitive data I work with can't be uploaded to Dropbox so I need to use SpiderOak to keep the data encrypted and secure. Dropbox is a good place to store my basemap data and non-sensitive documents but is not good for sensitive data or banking data.

4. Encrypt all my drives (desktop and mobile) - we have to as part of IRB and new IT regulations, plus its just the smart thing to do.

5. Finish the Codecademy Python track. I'm 1/3 done I think now (they keep adding ones). At one point I was 1/2 done. Better finish before they add more!

6. Learn Django. From there learn GeoDjango.

Guitar Goals:


1. Learn at least the intro and a few minutes of YEM. 2014 I'll learn the 2nd half.

2. Sand the dark finish off my homemade lap steel guitar.

3. Clean up and reorganize my effects pedalboard.




Tuesday, August 21, 2012

Network Analyst and Geoprocessing in the Background

Well, I never used wordpress, oh well. Anyway, I realized as much as I like twitter and such, I still need to blog for my own documentation of ideas and GIS techniques.

So here it goes, again:

So the last day or two I've been running in to this problem with using Network Analyst for geoprocessing. It seems that running it in the background in ArcCatalog doesn't work but running in the foreground in ArcMap works fine (I'm running 10.0 SP5-maybe 10.1 fixes this).

I've avoided scripting Network Analyst functions for a while now but decided to make the leap. So after much frustration and reading the Esri forums (which are still annoying since the migration), I found out it will only run in the foreground. I'm getting some weird server error. So no big deal, just sort of a crummy workaround.


Wednesday, May 23, 2012

nygeog.wordpress.com

My newer posts may be found at nygeog.wordpress.com.

I’m migrating to WordPress for two reasons;

1) My research group is changing our website hosting from a paid web programmer’s server to WordPress

2) It’s just sort of interesting for me to learn something new!

Thursday, February 16, 2012

Python Code Block - Population Density (numerator zero and string to numeric)

Okay, so this morning, I've been dealing with two things. Well the first is that my ACS Census 2006-2010 conversion scripts create string fields for the variables. They should be numeric. I'll deal with that on its own. But this challenge was sort of interesting b/c it required two things. First off, I needed to calculate Population Density (per sq. km) but I've been having trouble with Python dealing with zero's (0) in the numerator for division when my added Field is non-nullable (I think if you add a field after the initial feature class creation you can't allow a field to be nullable, need to check on that though) and then converting and using a string value in my Code Block. I did a bunch of things wrong at first. My colleague's friend helped me figure this out over gchat by showing him my first code that didn't work. So thanks to him, though I don't know his name, but know he works at the EPA or did when my colleague was there. First off, I was only using a space, no comma in my Expression between !field_names!. Secondly, I noticed I needed to set my string equal using == rather than = or is. So here's the code that worked for me. Use it for Population Density Calculations just be sure to get rid of the float and the quotes if your Population variable is in fact numeric.

!B01003001E! is a string of the total population
!ALAND10! is land area in sq. meters (double)

Expression:

Calc(!B01003001E!, !ALAND10!)

Code Block:

def Calc(pop, land):
if pop == '0':
return 0
else:
return float(pop)/(land*0.000001)

Thursday, January 26, 2012

2012 GIS Goals

Welcome to 2012. I'm about 26 days late.

Anyway, I thought I'd use my blog (that I barely post to anymore because of twitter) to mark some of my goals for 2012. 2011 started slow, but this fall I delved deeper into my Python work and web mapping work with Google Maps.

1. Become more proficient with Python, especially the other modules, iters, calendar, etc.

2. Learn GeoDjango, learn it.

3. Learn even more about the Google Maps API and Fusion tables.

4. Utilize Dropbox more for non-sensitive GIS data.

It was hard to not automatically #hashtag every other word, weird. Anyway, good luck to everyone in 2012 and I hope your GIS wishes come true.