This Google Maps is based on the block level 2010 Census Population Counts. Census Blocks with no residents appear 100% clear.
Regardless, zoom in, to see how many people live in a particular block, and the density of residency of poeple in various communities. Compared to the city, the suburbs, and rural areas all seem depopulated.
The population density of New York State. Notice this is a totally different scale, and is by per square miles, per Census Tract rather then block. Makes all of upstate look rural compared to New York City. Zero population blocks are not clear on this map.
Geographic Information Services (GIS) – Maps – Cartography
I am an amateur cartographer who designs maps and does a wide variety geospatial analysis using free and open-source geographic information software (GIS) and public sources of data to design quality maps, graphs, charts and datasets. I am looking for new and interesting projects to improve my skills, make connections and expand my portfolio.
Are you looking for my personal blog with it’s hiking, camping and outdoor recreation maps, along with a variety of charts, photos, and stories? Please visit andyarthur.org.
Mapping Avaliable
Tax/Property Mapping
High Resolution Aerial Photography
Recreational Maps – Hunting, Camping, Hiking
Georeference addresses using State Address Mapping service, plot them on a map
Wetlands, Topographic Contours, Land Cover
Compare historical aerial photos or maps to current photography
Web mapping using leaflet (HTML/Javascript file to embed on a website or use at home)
For most projects, there is no fee. I am looking for experience, references, mentors and connections in the geospatial community.
If you have a large project, let’s talk about it. I might be willing to do it for free, if it’s something really interesting or important like fighting suburban sprawl and pollution. I don’t a business or taxes set up, so I can’t really charge at this point.
How to get started?
Please send me an email describing the mapping or data project in as much detail as possible.
US Census – 2019 American Community Survey, 2020 US Census
NYS Tax and Assessment Rolls (2020)
NYSDOT Traffic Counts and Road Data
Historical Aerial Photography (primarily 1952, but earlier and later exist)
ArcGIS REST/Services and WMS Services from state and local agencies
LiDAR Elevation Profiles
USGS Topographic Maps, historic and modern – with overlays if requested
Data Repositories like CUGIR, DataNY.gov and NYSGIS
Recreation data from NYSDEC
Software Used
Quantum GIS (QGIS) including 3D Mapping
Geodata Abstraction Library (GDAL, ogr2ogr)
Python, including the data-science libraries PANDAS and GeoPANDAS
LeafletJS Web Mapping Services
Geographies Avaliable
Primary Capital Region and also much of New York State, also some for Pennsylvania, Vermont, West Virginia
State, county, municipal, school districts – Most data sets
Parks, highways, buffer (distance to) – Most data sets
Election districts – Roughly 75% of NYS counties
Census Tract or Blockgroup – 2019 American Community Survey
Tabulation Block – 2020 US Census
Are printed maps avaliable at this time?
Not currently. I can send you a file based on your specifications to print at your local print shop.
How long do mapping projects take?
Depends on complexity of the project. Many projects only take minutes, however if a project requires georeferencing, data cleaning, or custom shapes or layouts, it might take significantly longer. More revisions lead to better quality output.
Do you make maps professionally?
No! This is just a hobby. But I’m interested in expanding my skills. I do a lot of mapping for my blog and in support of community organizations like Save the Pine Bush.
Are my maps of good quality?
Thats for you to decide. I don’t have formal education in map making, and I don’t have professional tools. But do take a look at the work I’ve done below.
Examples of Maps
This shows a 3D rendering of the Buckville Canal north of Hamilton
This map shows the use of 2020 PL 94-171 data to calculate population density in City of Albany.
This 1985 aerial photo shows Crossgates Mall prior to it’s expansion.
This GIF image shows the change in unemployment during Coronavirus panademic.
This image shows hiking trails near Brooktrout, Falls Pond and Deep Lake.
Peebles Island, a Comparison 1952
3D Interactive of campsites at Moose River Plains.
import pandas as pd
import geopandas as gpd
# path to overlay shapefile
overlayshp = r'/tmp/dis_to_albany.gpkg'
# summary level -- 750 is tabulation block, 150 is blockgroup
# large areas over about 50 miles much faster to use bg
summaryLevel = 150
#summaryLevel = 750
# path to block or blockgroup file
if summaryLevel == 150:
blockshp = r'/home/andy/Documents/GIS.Data/census.tiger/36_New_York/tl_2020_36_bg20.shp.gpkg'
else:
blockshp = r'/home/andy/Documents/GIS.Data/census.tiger/36_New_York/tl_2020_36_tabblock20.shp.gpkg'
# path to PL 94-171 redistricting geoheader file
pl94171File = '/home/andy/Desktop/nygeo2020.pl'
# field to categorize on (such as Ward -- required!)
catField = 'Name'
# geo header contains 2020 census population in column 90
# per PL 94-171 documentation, low memory chunking disabled
# as it causes issues with the geoid column being mixed types
df=pd.read_csv(pl94171File,delimiter='|',header=None, low_memory=False )
# column 2 is summary level
population=df[(df.iloc[:,2] == summaryLevel)][[9,90]]
# load overlay
overlay = gpd.read_file(overlayshp).to_crs(epsg='3857')
# shapefile of nys 2020 blocks, IMPORTANT (!) mask by output file for speed
blocks = gpd.read_file(blockshp,mask=overlay).to_crs(epsg='3857')
# geoid for linking to shapefile is column 9
joinedBlocks=blocks.set_index('GEOID20').join(population.set_index(9))
# store the size of unbroken blocks
# in case overlay lines break blocks into two
joinedBlocks['area']=joinedBlocks.area
# run union
unionBlocks=gpd.overlay(overlay, joinedBlocks, how='union')
# drop blocks outside of overlay
unionBlocks=unionBlocks.dropna(subset=[catField])
# create population projection when a block crosses
# an overlay line -- avoid double counting -- this isn't perfect
# as we loose a 0.15 percent due to floating point errors
unionBlocks['sublock']=unionBlocks[90]*(unionBlocks.area/unionBlocks['area'])
# sum blocks in category
unionBlocks=pd.DataFrame(unionBlocks.groupby(catField).sum()['sublock'])
# rename columns
unionBlocks=unionBlocks.rename({'sublock': '2020 Census Population'},axis=1)
# calculate cumulative sum as you go out each ring
unionBlocks['millions']=unionBlocks.cumsum(axis=0)['2020 Census Population']/1000000
# each ring is 50 miles
unionBlocks['miles']=unionBlocks.index*50
# output
unionBlocks
Land use in town of Berne (from 2016 National Land Cover Dataset)
Most highly assessed properties in Albany County …
I’m a big of farmers who are essentially Living Off the Earth and think Rednecks are Noble Savages. Dairy Farming are key to our rural landscape. I’d trust a farmer or a hunter in a pile of guts he’s butchered over any ivory-tower scientist.
Good morning! Monday’s come back around again. They always seem to save the best weather for when I have to work. It’s mostly sunny and 68 degrees in Delmar, NY. There is a west-southwest breeze at 10 mph. The dew point is a somewhat humid 58. It has dropped a fair bit from last night when it was in the mid 60s from the rain.
Going to be a nice, sunny and relatively warm day. Looking at a high near 84. West wind 10 to 13 mph. Low humidity today with a dew point around 55. The normal high for today is 75, so it will be about nine degrees above normal. The record high of 94 happened back in 1925.
Tonight the sun will set at 8:30 pm with dusk around 9:05 pm, which is 38 seconds later than yesterday. Those long, early summer nights are nice. Today will have 15 hours and 12 minutes of daylight, an increase of 54 seconds over yesterday.
Mostly clear then isolated showers and mild tonight. We will be isolated showers after 1am. Increasing clouds, with a low around 61. South wind 5 to 7 mph. Chance of precipitation is 20%. The normal low for tonight is 54, so it will be about seven degrees above normal. The record low of 37 occured back in 1958.
On this day in 1944, the Allied powers crossed the English Channel and landed on the beaches of Normandy, France, beginning the liberation of Western Europe from Nazi control during World War II.Β It is popularly known as D-Day.
There are 2 weeks until the First Day of Summer when the sun will be setting at 8:36 pm with dusk at 9:11 pm. The average high temperature is 79 degrees, with a record high of 97 in 1953.
The Fourth of July is a Monday this year. Already local retailers have the sparklers and other New York legal fireworks. I’m going to take an extended weekend that the holiday weekend, either taking off Tuesday or Friday. Also looking at taking off the third or maybe the fourth week of July to head out to the Finger Lakes and play beach bum at the wonderful pool and Adirondack Chairs at the Watkins Glen State Park.
Lots of new maps for the blog this week. Vermont is the focus for the new Google Maps. I was working on a map and looking at demographics of some of the towns in the Northeast Kingdom of Vermont and found some have a population density of less than 1 per square mile. I thought it was a mistake but in a town with 50 square miles and 26 residents, that makes sense. The Northeast Kingdom is relatively poor but definitely a fascinating place.
While the weekend is a while off, so far it looks decent but cool. I’m still thinking of heading up to the Perkins Clearing area of the Adirondacks, and paddling the Miami River a ways and seeing how many bullhead I can pull out of it.
I didn’t sleep well last night. It’s mostly my fault as I stayed up late working on maps. I’ve been going to bed late all weekend and I just got busy on various projects. The blue light from the computer screen and the early sunrise didn’t help. With the coffee, I’m pretty awake now but I’ll crash by mid morning. At least I took the bus to work, so I know I’ll get home safely at the end of the certainly long day.
Have a great Monday. Do good things and hopefully spend as much time as possible outdoors on this beautiful day.