我想找到在一系列纬度和经度坐标(例如lon=-74.7732772827148和lat=-69.3250350952148)处存在的相应冰浓度值。然而,我使用的数据集(https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-sea-ice-concentration?tab=form)具有以下一些属性:
double xc(xc) ;
xc:units = "km" ;
xc:long_name = "x coordinate of projection (eastings)" ;
xc:standard_name = "projection_x_coordinate" ;
double yc(yc) ;
yc:units = "km" ;
yc:long_name = "y coordinate of projection (northings)" ;
yc:standard_name = "projection_y_coordinate" ;
float lat(yc, xc) ;
lat:units = "degrees_north" ;
lat:long_name = "latitude coordinate" ;
lat:standard_name = "latitude" ;
float lon(yc, xc) ;
lon:units = "degrees_east" ;
lon:long_name = "longitude coordinate" ;
lon:standard_name = "longitude" ;
int ice_conc(time, yc, xc) ;
ice_conc:_FillValue = -32767 ;
ice_conc:long_name = "fully filtered concentration of sea ice using atmospheric correction of brightness temperatures and open water filters" ;
ice_conc:standard_name = "sea_ice_area_fraction" ;
ice_conc:units = "%" ;
ice_conc:valid_min = 0 ;
ice_conc:valid_max = 10000 ;
ice_conc:grid_mapping = "Lambert_Azimuthal_Grid" ;
ice_conc:coordinates = "time lat lon" ;
ice_conc:ancillary_variables = "total_standard_error status_flag" ;
ice_conc:scale_factor = 0.01 ;
ice_conc:comment = "this field is the primary sea ice concentration estimate for this climate data record"
字符串
如果lat和lon都是x和y的函数,我怎么找到对应的x和y呢?
我试过用pyproj改变投影,但是它不能正确地投影。下面是一个例子:
lambert_aea1 = {'proj': 'laea',
'lat_0':-90,
'lon_0':0,
'ellps': 'WGS84',
'datum': 'WGS84'}
inProj = Proj(init = 'epsg:4326')
outProj1 = Proj(lambert_aea1)
x1,y1 = np.array(transform(inProj,outProj1,lat_63_1[j],lon_63_1[j]))
型
结果为x1=-1586154.039780751和y1=598565.7767689897
但x和y值在-5387.5和5387.5的范围内
有没有其他方法可以直接获得值而不是改变投影?
1条答案
按热度按时间ajsxfq5m1#
如果查看文件中x和y的元数据,单位是公里,对于大多数投影,单位是米或英尺。
如果将x和y乘以1,000并比较结果,它在您预期的范围内。