# poly2area.ak # Program Name : poly2area.ak # Author : Eric Keyser # November 23, 2004 # This script will take a Photon ascii file and compute comma separated areas. # Area is in km2 and acres BEGIN { Layer = "UNKNOWN" Colour = "Black" # Outer loop while ( getline == 1 ) { if ($1 == "CultureLayer" ) { split ( $2, name, "\"") Layer = name[2] # printf ("Layer %s \n", Layer) } if ($1 == "Polyline" ) { split ( $2, name, "\"") Colour = name[2] # printf ("Layer=%s Colour=%s\n", Layer, Colour) getline numlines = $1 # printf"Numlines = %d\n", numlines for (i=1; i <= numlines; i++) { getline X[i] = $1 Y[i] = $2 } area = 0 for (i=2; i <= numlines; i++) { area = area + ((Y[i] + Y[i-1])/2 * (X[i] - X[i-1]) / 1E6) # printf ("%d %12.2f Area %12.2f %12.2f\n", i, temp, area, X[i]) } if (area < 0) area = -1 * area printf ("%s,%s,%12.2f,%12.2f\n", Layer, Colour, area, 247.105*area) } } } #Middle { } END { }