Blog Archives

GEOG 411 – Introduction to Geographic Information Science

3 Credit Hours

Concepts and methods of spatial analysis and their application using geographic information systems software and techniques. Emphasizes both theoretical and applied aspects of GIS.

Contact Hour Distribution: 2 hours lecture and 2 hours lab.


Eastern Hemlock (Tsuga canadensis) model on PC versus Supercomputer

I recently ran a model of Hemlock on my personal computer.

I modeled ~489 records; the Nautilus model used over 2,000.

From the model output:

This is a representation of the Maxent model for Tsuga_canadensis. Warmer colors show areas with better predicted conditions. White dots show the presence locations used for training, while violet dots show test locations.


This slideshow requires JavaScript.

This is not really a fair comparison, but the difference between the models with 489 records and 2000+ is interesting for comparing the predictions.

EECS model for Eastern hemlock is different.  It uses more data, and it was run 20 times with 10% of the records reserved before being synthesized into one image.

I will post some additional comparisons for other trees in some later posts.

SDM re-projected for Google Earth, OSM with gdal2tile

I think I have stumbled upon the solution for tiling the png image.
To re-project the PNG image, we can geo-reference the images with GDAL, then warp the geo-referenced image to the correct projection, also with GDAL.
The process is described here:
First, enter “gdalinfo Abies_fraseri.png” into terminal to get the bounds of the PNG image.
This yields the following output:
Corner Coordinates:
Upper Left  (    0.0,    0.0)
Lower Left  (    0.0, 1302.0)
Upper Right ( 2899.0,    0.0)
Lower Right ( 2899.0, 1302.0)
Center      ( 1449.5,  651.0)
A template and implementation for our PNG files is demonstrated here:
gdal_translate -of VRT -a_srs EPSG:4326 -gcp 0 0 ULlong ULlat -gcp UPPERRIGHTPx 0 URlong URlat -gcp LOWERRIGHTPx LOWERRIGHTPy LRlong LRlat Abies_fraseri.png Abies_fraseri.vrt
gdal_translate -of VRT -a_srs EPSG:4326 -gcp 0 0 -84.000683874 35.7889383688 -gcp 2899.0 0 -83.0424855 35.7889383688 -gcp 2899.0 1302.0 -83.0424855 35.426963641 Abies_fraseri.png Abies_fraseri.vrt

For “ULlong” (Upper Left Long) and so forth I used a bounding box tool ( to determine the following bounds of the PNG – however, if there is a more “official” known boundary, it would be wise to use that instead.
                                35.426963641,-84.000683874 – bottom left / lower left
                                35.426963641,-83.0424855 bottom right / lower right
                                35.7889383688,-83.0424855 – top right / upper right
                                35.7889383688,-84.000683874 – top left / upper left
Next, take the .vrt file and warp it:
    gdalwarp -of VRT -t_srs EPSG:4326 Abies_fraseri.vrt Abies_fraseri_2.vrt
This creates a folder with tiles for a KML network link.
see “doc.kml” in the attached zip folder which you may open in Google Earth.
There is also an Open Map Layers HTML page in the attached zip folder.
To add trails in Google Earth
My opinion is it would be more interesting and informative to have the species occurrences added as a separate layer.  Therefore, I would prefer to create placemarkers / waypoints for species locations rather than black squares on the images.  Is it possible to generate PNG images with the likely distribution but not the black squares?  If so, would that take a long time to re-do to make these tiled overlays?
Also, although I “hacked” the PNG bounds, I’m still worried it the overlay’s georeferencing be “off” a bit and would love to use a more trustworthy set of coordinates than those derived from my best judgement and
From here, I think it would be smart to document a workflow for doing a lot of PNG to VRT to KML at a time.  I haven’t tried processing a whole directory of images at once yet – just playing with the Abies_fraseri.png for now.
The doc.kml and virtual raster dataset work with Google Map API and Open Layers map.  I think they both run on Javascript.

Building Raster Geodatabases

Geography 414 homework assignment from the Raster database lecture.

Better Raster Clipping Options in ArcGIS


Raster Dataset Homework:

  • Get the census tract layer for Hamilton County, TN for TIGER 2010
  • Download the NLCD data from the assignments section of Blackboard
  • Create a raster layer of land cover for those areas that fall within Hamilton County EXCEPT for tracts
    • 6
    • 8
    • 10
    • 15
    • 31
  • Create ppt of screen shot and post on bb

My approach to this is to create a new shapefile that does not contain the census tracts to exclude.

SELECT * FROM tl_2-1-_47065_tract10 WHERE "TRACTCE10" = ‘000600’ OR "TRACTCE10" = ‘000800’ OR "TRACTCE10" = ‘003100’

I’m not sure why 10 and 15 were listed as tracts and will need to ask Dr. Ralston about that in class – perhaps I am looking at the wrong attributes.

In some metadata I found at <TRACTCE10>, "TRACTCE10" is listed as "2010 Census census tract code"

Also, "NAME10" is defined as "2010 Census Tract Name" – this is the census tract code converted to an integer or integer plus two-digit decimal. Still, however, 10 and 15 were not listed as tracts when sorting by ascending in "NAME10" column in the preview in ArcCatalog.

I chose "Switch Selection" and then "Create Layer from Selected Features" to obtain a new layer, minus tracts 6, 8, and 31.

I then used Raster processing – Clip following the guide at <>.

I used <hamilton_nlcd> clipped previously as the input raster. The output raster is <tl_2010_47065_tract10 selection>.

As a final insult – ArcMap froze up on me – so my final product is faded out, but I took a screen capture with Print Screen.