this

Goodbye, West River Road

Tonight I write this words on my laptop, camping on West River Road, along the West Branch of the Sacanadaga River. This a beautiful site, soon to be gated off miles in the distance, to supposedly improve the “wilderness” character of this area.

Buck Pond Mountain

Despite the fact that …

The lands of the state, now owned or hereafter acquired, constituting the forest preserve as now fixed by law, shall be forever kept as wild forest lands. They shall not be leased, sold or exchanged, or be taken by any corporation, public or private, nor shall the timber thereon be sold, removed or destroyed.

… the Department of Environmental Conservation and the Adirondack Park Agency feels it neccessary to close off West River Road to “enhance” the wilderness quality of the “Silver Lake Wilderness”. West River Road will never be expanded or extended, and it’s unlikely many campsites will ever be added to it because the lands are forever wild, and no tree over 3″ may ever cut.

Whitehouse Road is in Perfect Shape

I am not advocating for paving over the Adirondack Park for strip malls, or running high-speed expressways through virgin forest. I am advocating for keeping traditional, well maintained, roads open, and protecting our remaining roads and campsites in their traditional uses.

Sparking River

Yet, still the DEC finds it’s hands tied due to Adirondack Park State Land Master Plan that dicates the Adirondack Park’s state land must become increasingly restricted in public use, and that more restrictions must be placed on public use — less camping, less roads open to the public.

Sparkle

It’s sad, because people like myself liked camping on these lands. While in the future, people will be able to walk on this perfectly good road for vehicular traffic, and backpack into the limited number of campsites, roadside camping might forever be gone from this area. More and more Adirondack Park Roads are forever gone, and unless your willing to backpack in often many miles, these lands will forever be closed off for public use.

Historic Whitehouse Chimney To Be Demolished

Tired

This has been a rough, hard week.

Emotionally draining, devoid of little but work and a much to few hours sleep.

Tired Dog

Lots of emotion, taking things personal that I probably shouldn’t.

The only salvation for this week,
is I will be up in the woods in 8 hours.

Trash flowers ?

Then it finally be all over, and just a memory of the week that was.

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";
}

>
Map: Coyle Hill State Forest
Map: Gas Springs State Forest

Arteries as Art II

If you where to put a pencil to a piece of paper, and started drawing random interconnected lines and loops, what would get?

 Corning Artery Art

What about if you created a giant spider web and started to connecting them together?

 Inner Loop Connection Rochester

Or maybe took a sheet of paper, drew, a grid, erased some, drew some thicker lines?

 Willis-Wilcox Lake Trail

What about a curley line that bypasses that grid?

Artery Art 5

Or as time you got cute, and stopped drawing a grid, and started adding twists and turns to your lines?

 Artery Art, Ithaca Edition

As you get further and further away, and your lines are getting crazier, are you starting to suffer from cancer on the brain?

Albany Art

I don’t know. Maybe I shouldn’t know. Or maybe I’m not allowed to know.

Delightful Fall Hikes

Pillsbury Mountain (Central Adirondacks).

Located in the Jessup River Wild Forest, North of Spectulator, offers great views of West Canada Wilderness, Cedar River Flow, Moose River Plains, Spectulator Tree Farm, Siamese Pond Wilderness. Should be close to peak foliage now. Consider camping at the roadside/tent campsites along Mason Lake to the North on Jessup River Road / NY 30. Take NY 30 to Jessup River Road to Military Road to Parking Area to get there. You may want to park at the start of Military Road if you have a low-clearance vehicle.

Snowy Mountain

Click on map to download and print.

 Hogsback State Forest

Hadley Mountain (Southern Adirondacks).

Located near Stony Creek, NY, it offers some great views of the Wilcox Lake Wild Forest and the Great Scanadaga Lake. I’ve never been there in the fall, but I suspect it offers many great views this time of year, with peak foliage being not far away.

Looking North

Click on map to download and print.

Gully

Buck Mountain (West Shore Lake George, Adirondacks)

This is one of my most recent hikes, but definately offers really good views of Lake George and elsewheres, especially now that the fall colors are starting to set on in. One of the more difficult hikes on the list, it’s not really that difficult, but if you go from Pilot Knob, expect a 3.1 mile hike, and gaining around 2,100 feet in elevation. Regardless, a very nice hike.

2022 NY Congress Results Map

Click on map to download and print.

Route 9 & 20 in Rensselaer

Kaaterskill Clove (Haines Falls, Catskills).

Located near the North South Lake Campground, offers great views of the Clove, Hunter Mountain, Palenville, Hudson River, and farms and other lands near Catskill. Park on Scutt Road for free, which is last right before campground. Take Escarpment Trail all the way around to the Catskill Mountain House Ruins, then walk past North-South Lake.

* Area may be temporarily be closed due to Irene.

Inspiration Point

Click on map to download and print.

 Ferns Covered Woods

Giant Ledge (High Peaks, Catskills).

Located on the ledge between Slide Mountain and Panther Mountain, a relatively easy hike, with a relatively brief but not scary scramble onto the ledge that runs for 3/4 mile. Colorful views of vast Woodland Valley with Mount Tremper and other mountains in the distance, along with good views of Slide Mountain, Cornell Mountain, and other hike peaks.

* Slide Mountain Road was severely damaged by Irene. Area may be temporarily be closed due to Irene.

Untitled

Click on map to download and print.

When Thanksgiving Falls, 2000 to 2099

Map: Mountain House Trail and North Mountain
Thematic Map: Albany Art