@@ -38,84 +38,13 @@ def col_row_to_xy(self, col: int, row: int) -> tuple[np.float64, np.float64]:
3838 return x , y
3939
4040
41- # The authoritative value of well known text strings is from epsg.org
42-
43- # The pyproj CRS created from this WKT string is the same as a CRS that has been
44- # round tripped through the CRS creation process. But the output value on the
45- # files CRS metadata may not match the authoritative value because of the
46- # different varieties of WKT. That said, the CRS created by pyproj is the same.
47- # i.e.
48- # pyproj.crs.CRS.from_wkt(EPSG_6933_WKT).to_wkt() != EPSG_6933_WKT
49- # but
50- # pyproj.crs.CRS.from_wkt(pyproj.crs.CRS.from_wkt(EPSG_6933_WKT).to_wkt())
51- # == pyproj.crs.CRS.from_wkt(EPSG_6933_WKT)
52-
5341# NSIDC EASE-Grid 2.0 Global CRS definition
5442# from: https://epsg.org/crs/wkt/id/6933
55- EPSG_6933_WKT = (
56- 'PROJCRS["WGS 84 / NSIDC EASE-Grid 2.0 Global",'
57- 'BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble", '
58- 'MEMBER["World Geodetic System 1984 (Transit)", ID["EPSG",1166]], '
59- 'MEMBER["World Geodetic System 1984 (G730)", ID["EPSG",1152]], '
60- 'MEMBER["World Geodetic System 1984 (G873)", ID["EPSG",1153]], '
61- 'MEMBER["World Geodetic System 1984 (G1150)", ID["EPSG",1154]], '
62- 'MEMBER["World Geodetic System 1984 (G1674)", ID["EPSG",1155]], '
63- 'MEMBER["World Geodetic System 1984 (G1762)", ID["EPSG",1156]], '
64- 'MEMBER["World Geodetic System 1984 (G2139)", ID["EPSG",1309]], '
65- 'MEMBER["World Geodetic System 1984 (G2296)", ID["EPSG",1383]], '
66- 'ELLIPSOID["WGS 84",6378137,298.257223563,'
67- 'LENGTHUNIT["metre",1,ID["EPSG",9001]],ID["EPSG",7030]], '
68- 'ENSEMBLEACCURACY[2],ID["EPSG",6326]],ID["EPSG",4326]],'
69- 'CONVERSION["US NSIDC EASE-Grid 2.0 Global",'
70- 'METHOD["Lambert Cylindrical Equal Area",ID["EPSG",9835]],'
71- 'PARAMETER["Latitude of 1st standard parallel",30,'
72- 'ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9102]],'
73- 'ID["EPSG",8823]],PARAMETER["Longitude of natural origin",0,'
74- 'ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9102]],'
75- 'ID["EPSG",8802]],PARAMETER["False easting",0,'
76- 'LENGTHUNIT["metre",1,ID["EPSG",9001]],ID["EPSG",8806]],'
77- 'PARAMETER["False northing",0,LENGTHUNIT["metre",1,ID["EPSG",9001]],'
78- 'ID["EPSG",8807]],ID["EPSG",6928]],CS[Cartesian,2,ID["EPSG",4499]],'
79- 'AXIS["Easting (X)",east],AXIS["Northing (Y)",north],'
80- 'LENGTHUNIT["metre",1,ID["EPSG",9001]],ID["EPSG",6933]]'
81- )
43+ EPSG_6933_WKT = CRS .from_epsg (6933 ).to_wkt ()
8244
8345# NSIDC EASE-Grid 2.0 North CRS definition
8446# from: https://epsg.org/crs/wkt/id/6931
85- EPSG_6931_WKT = (
86- 'PROJCRS["WGS 84 / NSIDC EASE-Grid 2.0 North",'
87- 'BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble", '
88- 'MEMBER["World Geodetic System 1984 (Transit)", ID["EPSG",1166]], '
89- 'MEMBER["World Geodetic System 1984 (G730)", ID["EPSG",1152]], '
90- 'MEMBER["World Geodetic System 1984 (G873)", ID["EPSG",1153]], '
91- 'MEMBER["World Geodetic System 1984 (G1150)", ID["EPSG",1154]], '
92- 'MEMBER["World Geodetic System 1984 (G1674)", ID["EPSG",1155]], '
93- 'MEMBER["World Geodetic System 1984 (G1762)", ID["EPSG",1156]], '
94- 'MEMBER["World Geodetic System 1984 (G2139)", ID["EPSG",1309]], '
95- 'MEMBER["World Geodetic System 1984 (G2296)", ID["EPSG",1383]], '
96- 'ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1,'
97- 'ID["EPSG",9001]],ID["EPSG",7030]], ENSEMBLEACCURACY[2],'
98- 'ID["EPSG",6326]],ID["EPSG",4326]],'
99- 'CONVERSION["US NSIDC EASE-Grid 2.0 North",'
100- 'METHOD["Lambert Azimuthal Equal Area",'
101- 'ID["EPSG",9820]],PARAMETER["Latitude of natural origin",90,'
102- 'ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9102]],ID["EPSG",8801]],'
103- 'PARAMETER["Longitude of natural origin",0,'
104- 'ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9102]],ID["EPSG",8802]],'
105- 'PARAMETER["False easting",0,LENGTHUNIT["metre",1,ID["EPSG",9001]],'
106- 'ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1,'
107- 'ID["EPSG",9001]],ID["EPSG",8807]],ID["EPSG",6929]],CS[Cartesian,2,'
108- 'ID["EPSG",4469]],AXIS["Easting (X)",South,MERIDIAN[90.0,'
109- 'ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9102]]]],'
110- 'AXIS["Northing (Y)",South,MERIDIAN[180.0,'
111- 'ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9102]]]],'
112- 'LENGTHUNIT["metre",1,ID["EPSG",9001]],ID["EPSG",6931]]'
113- )
114-
115- GPD_TO_WKT = {
116- 'EASE2_N09km.gpd' : EPSG_6931_WKT ,
117- 'EASE2_M09km.gpd' : EPSG_6933_WKT ,
118- }
47+ EPSG_6931_WKT = CRS .from_epsg (6931 ).to_wkt ()
11948
12049
12150def geotransform_from_target_info (target_info : dict ) -> Geotransform :
0 commit comments