dshean / pygeotools

A collection of libraries and utilities for geospatial data processing/analysis
MIT License
87 stars 29 forks source link

Best projection for stereo processing in Alaska #14

Open ShashankBice opened 1 year ago

ShashankBice commented 1 year ago

Reported by @jmichellehu, when we use the proj_select.py utility for processing in Fairbanks, the function geolib.get_proj, gives us a custom aea projection as +proj=aea +lat_0=50 +lon_0=-154 +lat_1=55 +lat_2=65 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs. Should we use this, or the UTM 6N for general processing? And should we add an option to force the output to be in UTM when using proj_select.py if requested by the user?

Let us know, and we can edit the proj_select.py script to add that option and in which case we will use geolib.get_UTMsrs().

dshean commented 1 year ago

Ah, good catch.

This was part of my personal preferences for CRS definitions for active projects back in ~2014-2018. I defined a custom list of projections for get-proj to use, with priority for EPSG:3338 in Alaska: https://github.com/dshean/pygeotools/blob/8f70461b1f53f625a7c65300600b23b2d165fc7d/pygeotools/lib/geolib.py#L2162

Really, I should have been using EPSG:6393, which uses NAD83(2011), rather than the old NAD83 horizontal datum, for the Alaska Albers projection.

I think we can modify this. It should be fine to use the local UTM zone (don't want to hardcode 6N). The issue is for more regional analysis that spans multiple UTM zones (https://commons.wikimedia.org/wiki/File:UTM_Zones_AK.jpg), which is why I preferred a regional Alaska projection in the original implmentation.

The alternative here is to define a new 3D CRS for Alaska with a specific, epoch-aware ITRF/WGS84/GRS80 realization, and then the same Alaska Albers projection parameters.