essays

Bulldozing Sand Dunes in Albany Pine Bush is Vulgur

Tearing Down a Sand Dune

Like Fuck.
Like Fuck You Guilderland.
Like Fuck You Wealthy Folk.

We’ve all probably uttered that word, sometimes more then we’d be proud of it. Yet, sometimes somethings are just truly vulgur like tearing down sand dunes to build McMansions.

New Mini-McMansions in Pine Bush

The first part of any housing development in the Albany Pine Bush appears to be the leveling of the land, and the carting off the sand to fill in other areas. To make the landscape flat and boring, so a suburban street grid, driveways, and foundations can be laid.

It involves tearing down tall beautiful pitch pines, removing habitat that might be restored if fire were to touch it once again, to sterlize the landscape for generations to come.

Welcome! To the Flattened Pine Bush.

People need places to live, places to farm, places to use. But do they really need to tear down magnificent sand dunes? If they had to build, couldn’t they have left more of the trees standing, and built on the dunes, and preserved the terrian?

Untitled

It might be easy and cheap to bulldoze sand. There is no rocks to blast away at. But making it all flat, just to stick tacky, plastic and plywood houses for the wealthy just seems so vulgur and awful.

My Love-Hate Relationship with Albany Pine Bush

I have a Love-Hate Relationship with the Albany Pine Bush. It is an …

  • urban unique
  • wildlife preserve

Out in the Pine Bush

The Albany Pine Bush’s strengths are are ..

  • It is conviently located near the city of Albany, you can take either take a bus and walk to get there, or drive a short distance from the city
  • It is a fascinating Pine Bush/sand-dune ecosystem, with fantastic views of the Heldebergs and Catskills and wildlife close to the city.

Overlook Dune 2

At the same time those strengths are it’s greatest weakness …

  • In many ways the preserve is over-regulated and over-governed by the overbearing Albany Pine Bush Commission
  • The Madison Avenue and Karner East Barriens are overused, dominated by joggers and those walking dogs
  • There are too many restrictions on hunting, camping, and even hiking and nature observation — such as a ban on traveling off of trails except in the taking of wildlife.

Stop! Trail Closed

The Adirondack Forest Preserve model might not work in Albany Pine Bush Preserve, but a hybrid model could work. The Commission should try to work more with the public’s desires and demands, and have friendly processes and policies that show that they are there to work with the public rather then restrict access.

Untitled

Urban preserves are a tricky balancing act. It means easy access to yahoos and those who don’t know basic respect. There are far greater human demands compared to relatively unknown state forests, far off the beaten track.

Pitch Pine Outline

A Script to Make Pretty Political Google Maps

A while back I wrote I script for converting and styling KML files from ERSI Shapefiles, like you might download or export form a program like Quantum GIS. It requires you have the web programming language PHP 5 installed, along with the ogr2ogr command.

‘ ?>


View Larger Map ‘ ?>

This program extensively uses the PHP/DOM model, to read and write the XML file. I am not an expert programmer — it’s a hobby, but I am very happy with the results. You might consider using the LATFOR data and Census TIGER/Line for this if your a New York State resident.


#!/usr/bin/php -q
<?php
// POLITICAL STYLING FOR KML
// Converts a Shapefile with Election Results in Percentage
// 
// Input:
//      File_Title = Title for KML Name Field (as Seen in Google Maps)
//      District_Name = Field with District Name In It
//      Percent_as_Decimal = Election Result with Percent. 
//      0.00 - 0.49 = Shade of Red
//      0.50 = White
//      0.50 - 1.00 = Blue
//      Shapefile_Name = Path to Shapefile
//
// Output:
//      Google Maps KML File, Nicely Styled

if (!isset($argv[4])) {
        echo "usage: php politicalKML.php [File_Title] [District_Name] [Percent_as_Decimal]  [Shapefile_Name]\n";
        exit;
}

// required fields
$fileTitle = $argv[1];
$nameField = $argv[2];
$percentField = $argv[3];

// filename
$filename = $argv[4];
$KMLfileName = substr($filename,0,-4).'.kml';

// convert shapefile to kml using ogr2ogr
system("ogr2ogr -f \"KML\" -sql \"SELECT * FROM ". substr($filename,0,-4)." ORDER BY $fileTitle ASC\" $KMLfileName $filename -dsco NameField=$nameField -dsco DescriptionField=$percentField");

// load our new kml file
$doc = new DOMDocument();
$doc->load($KMLfileName);

// first let's replace the name field with a nicer one
$oldnode = $doc->getElementsByTagName('name')->item(0);
$node = $doc->createElement('name', $fileTitle);
$doc->getElementsByTagName('Folder')->item(0)->replaceChild($node, $oldnode);

// delete schema field to save space
$oldnode = $doc->getElementsByTagName('Schema')->item(0);
$doc->getElementsByTagName('Folder')->item(0)->removeChild($oldnode);


// load each placemark, search for maximum — used for making color judgements
foreach ($doc->getElementsByTagName('SimpleData') as $data) {
        if( $data->getAttribute('name') == $percentField) {
                $max[] = abs(substr($data->nodeValue,0)-0.5);
        }
}

// maximum in the political race
sort($max); $max = array_pop($max);
        
// calcuate multiplier for each race
$multiple = 255/$max;

// load each placemark, then set styling and percentage description
foreach ($doc->getElementsByTagName('Placemark') as $placemark) {
        foreach ($placemark->getElementsByTagName('SimpleData') as $data) {
                if( $data->getAttribute('name') == $percentField) {
                        $value = $data->nodeValue;
                        $color = substr($value,0);
                }
        }
        
        // decide if we want to do this blue or red, and then calculate
        // the amount of color versus white
        
        // republican leaning
        if ($color <= 0.5) {
                $colorStr = sprintf('%02x', 255-floor(abs($color-0.5)*$multiple));
                $colorStr = "a0{$colorStr}{$colorStr}ff";
        }
        
        // democratic leaning
        if ($color > 0.5) {
                $colorStr = sprintf('%02x', 255-floor(abs($color-0.5)*$multiple));
                $colorStr = "a0ff{$colorStr}{$colorStr}";
        }
        
        if ($color == 0) {
                $colorStr = '00ffffff';
        }
        
        // stylize the node based on color
        $node = $doc->createElement('Style');

        $linestyle = $doc->createElement('LineStyle');
        $node->appendChild($linestyle);
        $linestyle->appendChild($doc->createElement('width', 0.1));
        $linestyle->appendChild($doc->createElement('color', 'ffffffff'));
        
        $polystyle = $doc->createElement('PolyStyle');
        $node->appendChild($polystyle);
        $polystyle->appendChild($doc->createElement('color', $colorStr));       

        $oldnode = $placemark->getElementsByTagName('Style')->item(0); 
        
        $placemark->replaceChild($node, $oldnode);
                        
        // delete extended data to save KML space
        $data = $placemark->getElementsByTagName('ExtendedData')->item(0);
        $placemark->removeChild($data);
        
        // update the description
        $oldnode = $placemark->getElementsByTagName('description')->item(0); 
        $node = $doc->createElement('description', 'Recieved '.($color*100).'% of the vote.');
        $placemark->replaceChild($node, $oldnode); 
}

// finally write to the file
$doc->save($KMLfileName);

// calculate size in MB
$filesize = filesize($KMLfileName)/1024/1024;
if ( $filesize < 10) {
        $zipCommand = "zip ".substr($KMLfileName,0,-4).".kmz $KMLfileName";
        system($zipCommand);
        
        $kmzfilesize = filesize(substr($KMLfileName,0,-4).".kmz")/1024/1024;
        echo "KMZ is " .sprintf('%01.2f', $kmzfilesize)." MB, while the KML file is ".sprintf('%01.2f',$filesize)." MB.\n"; 
}
else {
        echo "Woah Horsey! The produced file is greater then 10 MB, at a size of ".sprintf('%01.2f',$filesize)." MB uncompressed. You need to simply your polygons before proceeding, otherwise Google Maps won't be able to read it. \n";
}

>

Population Density of Albany County and New York State

Albany County.

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.

‘; ?>


View Larger Map


View Larger Map‘; ?>

New York State.

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.

‘ ?>


View Larger Map‘; ?>

Ranking the Size of State Parks, Wild Forests, Wilderness, Other Lands

For the sake of comparison, I made up maps ranking Wilderness, Wild Forests, other DEC Lands (State Forests/WMAs, etc), and State Parks. The largest parcels to smallest parcels are pink, then red, orange, yellow, green, blue, purple — colored based on comparison to other parcels of the same class. Click on them to see acreages, or click on the link below to see on Google Maps, which includes each parcel sorted by acreage.

‘ ?>

Wilderness Areas Ranked.


View Larger Map

Wild Forests Areas Ranked.


View Larger Map

Other DEC Lands Ranked.


View Larger Map

State Parks Areas Ranked.


View Larger Map ‘ ?>

Why I Like Mapping

Doing GIS Mapping has become quite the hobby of mine. Especially when it comes to generating maps of public lands, I am endlessly fascinated by exploring the lands that we, the public own.

rentny

Rendering maps is mostly about loading layers, and zooming in. Yet, the effort to put together a map teaches you a little bit about the land you are rendering and its features. Mapping can teach you about a land where you have never been before, and prepare you and interest you in a future trip.there. Mapping requires you to pay attention to the landscape, correcting invalid data, and trying to create the best possible presentation of the landscape’s natural and man-made features.

Mountains

Even when you’ve never been on a piece of land, making a map can teach you much about the landscape and how it’s laid out. A map can tell you many details both by the features on the map and the implied features that you calcuate based on the relation of one land form to another piece of land.

Another Choppy Day on the Lake

A map makes it possible to better understand a piece of land, without ever putting a foot on it. While maps aren’t always accurate, and sometimes they can be confusing on an unfamiliar piece of land, they do provide context. Maps are a great source of exploring the unknown and unfamiliar.

Twenty-Nine

Today is my twenty-nineth birthday. Last year before turning 30. While people assure me that turning 30 is not a big deal, and everybody goes through it, somehow I feel like I got to make my 29th birthday, and make my 29th year something special.

End of the Day

Everytime around this time of year, I like to take a few minutes to think back about the past year and the coming year. In many ways this year is kind of a blank slate, something to be planned as things go along.

Looking Back to Wakely Dam

Not having big plans doesn’t mean I won’t do big things…

Stratton Mountain From a Recently Cleared Area

I already are thinking about many weekend and longer road trips, hikes, and camping trips. I at least don’t have to worry too much about my truck breaking down. I probably won’t set anything down in stone for sure, but I do want to get back to some of my favorite spots in the Adirondacks, the Green Mountains, Central NY, Finger Lakes, and the Allegheny Mountains of Pennsylvania.

Oil Heating in NY State

I got to get a truck cap this spring, and kayak racks for my truck. Hopefully by mid-summer, I can my truck wired up with a second battery to power my camping gear without fears of running my main battery dead. I need to work to build up my savings, a lot of which went into purchasing my pickup truck last year.

Northern Most Ridges of Catskills

I also got to look forward to future years. This year I will become vested in the State Employee Pension Plan, which means I will have other options opening. I might consider going back to college, or even moving out of the state. I look forward to the adventures of the coming year.