Saturday, February 23, 2008

Chuckanut Mountains Park District Map


I recently completed work on a map for the Chuckanut Mountains Park District. This was a quick, fun project I did for Ken Wilcox and the other folks involved in establishing a more coherent and comprehensive land management approach for this unique region. The Chuckanut Mountains are the only place where the Cascade foothills come all the way to salt water.

The map shows 2006 NRCS NAIP 1 m color orthophotography, major public land owners (derived from the Snohomish and Skagit County parcel databases), as well as all private parcels 10 acres or larger in size.

I wish the CMPD well, and I hope this large poster (40" x 60") is helpful in accomplishing their mission.

Saturday, February 9, 2008

Mauritius--A Projection Challenge




Recently, I was asked by one of my clients to project a bunch of data for the island nation of Mauritius in preparation for some wetlands-related field work they will be doing there. They received the data from the national government, and there was no projection information included with the data.

As it turns out, Mauritius has its own grid, which is independent from all other geographic coordinate systems and is not natively supported by ArcMap. According to a map I found on the Government of Mauritius web site, the projection is as follows:

Grid : Mauritius
Projection : Lambert Conical Orthomorphic
Spheroid : Clarke 1880
Unit Of Measurement : Metre
Longitude of origin : 57°31'18.58" East of Greenwich
Latitude of Origin : 20°11'42.25" South
Scale Factor at Origin : Unity
False Co-ordinates of origin : 1,000,000m Easting
1,000,000m Northing

Unfortunately, Lambert Conical Orthomorphic is not available in ArcMap, but through my research I determined that Lambert Conformal Conic is a very close approximation. So, converting the above description into ESRI lingo, it looks something like this:

Projected Coordinate System: Mauritius
Projection: Lambert_Conformal_Conic
False_Easting: 1000000.00000000
False_Northing: 1000000.00000000
Central_Meridian: 57.52183000
Standard_Parallel_1: -20.19507000
Standard_Parallel_2: -20.19507000
Scale_Factor: 1.0
Latitude_Of_Origin: -20.19507000
Linear Unit: Meter

I punted on the Standard Parallels, assuming that the island is small enough for the latitude of origin to suffice for both parallels. This sort of worked, and I placed the GTOPO global DEM in the map frame with the newly projected data, resulting in the first image. Seems close, but a bit hard to tell.

So I downloaded SRTM data for the island, which has much higher resolution than GTOPO, and the result is the second image. Clearly, pretty far off. At this point, I was getting in over my head with respect to creating custom datum/spheroid combinations, so I called the good folks at ESRI and after an hour on the phone, they helped me to build a very solid projection and transformation for Mauritius (this is the actual PRJ file, please feel free to use it, just remove the carriage returns after each comma before saving as a PRJ):

PROJCS["Mauritius_lambert",
GEOGCS["Mauritius",
DATUM["",
SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]],
PROJECTION["Lambert_Conformal_Conic"],
PARAMETER["False_Easting",1000000.0],
PARAMETER["False_Northing",1000000.0],
PARAMETER["Central_Meridian",57.52182777777779],
PARAMETER["Standard_Parallel_1",-20.19506944444445],
PARAMETER["Standard_Parallel_2",-20.19506944444445],
PARAMETER["Latitude_Of_Origin",-20.19506944444445],
UNIT["Meter",1.0]]

The custom datum comes from the Le_Pouce_1934_TO_WGS_1984 transformation ESRI helped me to create, which is here (again, remove CR after commas, save as a gtf file):

GEOGTRAN["Le_Pouce_1934_TO_WGS_1984",
GEOGCS["Mauritius",DATUM["",
SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],
PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",
SPHEROID["WGS_1984",6378137.0,298.257223563]],
PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],
METHOD["Geocentric_Translation"],
PARAMETER["X_Axis_Translation",-770.1],
PARAMETER["Y_Axis_Translation",158.4],
PARAMETER["Z_Axis_Translation",-498.2]]

The result is a very nice agreement between the red coastline vector and the SRTM topography, shown in the third image.