- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对这个主题感到困难,尽管它看起来应该相当简单。
我想使用一组纬度和经度坐标对 xarray 数据集进行切片。
这是我的数据集的样子:
In [31]: data = xr.open_mfdataset(open_file, decode_cf=True)
In [32]: data
Out[32]:
<xarray.Dataset>
Dimensions: (time: 108120, x: 349, y: 277)
Coordinates:
lons (y, x) float64 -145.5 -145.3 -145.1 -144.9 -144.8 -144.6 -144.4 ...
lats (y, x) float64 1.0 1.104 1.208 1.312 1.416 1.519 1.621 1.724 ...
* time (time) datetime64[ns] 1980-01-01 1980-01-01T03:00:00 ...
Dimensions without coordinates: x, y
Data variables:
stp (time, y, x) float64 0.1235 0.0867 0.07183 0.05389 0.05901 ...
这是我切片的方法:
In [48]: lat_bnd = [25,30]
...: lon_bnd = [-80,-75]
In [49]: r = data.sel(y=slice(*lat_bnd),x=slice(*lon_bnd))
一切看起来都很棒:
In [50]: r
Out[50]:
<xarray.Dataset>
Dimensions: (time: 108120, x: 5, y: 5)
Coordinates:
lons (y, x) float64 -82.52 -82.28 -82.05 -81.81 -81.57 -82.44 -82.2 ...
lats (y, x) float64 13.54 13.46 13.38 13.3 13.22 13.77 13.69 13.61 ...
* time (time) datetime64[ns] 1980-01-01 1980-01-01T03:00:00 ...
Dimensions without coordinates: x, y
Data variables:
stp (time, y, x) float64 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ...
但是我的纬度/经度值不正确:
In [53]: r.lats.values
Out[53]:
array([[ 13.53542397, 13.45647916, 13.37686013, 13.296571 ,
13.21561592],
[ 13.76719053, 13.6878189 , 13.60776989, 13.52704767,
13.44565641],
[ 13.99938176, 13.91958109, 13.83909988, 13.75794233,
13.67611265],
[ 14.2319952 , 14.15176326, 14.07084762, 13.98925249,
13.90698214],
[ 14.46502833, 14.3843629 , 14.30301059, 14.22097564,
14.13826236]])
In [54]: r.lons.values
Out[54]:
array([[-82.52229969, -82.28438922, -82.0469968 , -81.8101255 ,
-81.57377834],
[-82.44118948, -82.20260881, -81.96455096, -81.72701901, -81.490016 ],
[-82.3595596 , -82.12030558, -81.8815792 , -81.64338357,
-81.40572174],
[-82.27740522, -82.03747469, -81.79807668, -81.55921433,
-81.32089068],
[-82.19472148, -81.95411126, -81.71403851, -81.47450637, -81.2355179 ]])
当然,如果我尝试使用纬度/经度坐标进行切片,则会收到错误,因为尺寸不匹配。
In [55]: r = data.sel(lats=slice(*lat_bnd),lons=slice(*lon_bnd))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-55-7c6237be5f22> in <module>()
----> 1 r = data.sel(lats=slice(*lat_bnd),lons=slice(*lon_bnd))
/lib/anaconda2/lib/python2.7/site-packages/xarray/core/dataset.pyc in sel(self, method, tolerance, drop, **indexers)
1204 """
1205 pos_indexers, new_indexes = indexing.remap_label_indexers(
-> 1206 self, indexers, method=method, tolerance=tolerance
1207 )
1208 result = self.isel(drop=drop, **pos_indexers)
/lib/anaconda2/lib/python2.7/site-packages/xarray/core/indexing.pyc in remap_label_indexers(data_obj, indexers, method, tolerance)
275 new_indexes = {}
276
--> 277 dim_indexers = get_dim_indexers(data_obj, indexers)
278 for dim, label in iteritems(dim_indexers):
279 try:
/lib/anaconda2/lib/python2.7/site-packages/xarray/core/indexing.pyc in get_dim_indexers(data_obj, indexers)
243 if invalid:
244 raise ValueError("dimensions or multi-index levels %r do not exist"
--> 245 % invalid)
246
247 level_indexers = defaultdict(dict)
ValueError: dimensions or multi-index levels ['lons', 'lats'] do not exist
对于 NARR 数据集,我的理解中是否缺少某些内容?
最佳答案
更新2020-04-30
如果您想根据纬度和经度选择数据,您可以使用 where()
做类似的事情:
data.where((data.lats > 25) & (data.lats < 30) & (data.lons > -80) & (data.lons < -75))
您可以添加drop=True
返回较小尺寸的数据集,而不是用 NA 填充不匹配的值。
原始答案
在第一个示例中,您不是按纬度/经度建立索引,而是按每个 x
建立索引。和y
的数字索引。也就是说,您在 25 号和 30 号之间进行切片 y
和-80th 和-75th x
值(value)。这解释了为什么纬度/经度值在您的输出中没有意义。
您可以使用 xr.Dataset.set_index()
将坐标与尺寸关联起来。像这样:
data = data.set_index(y='lats')
data = data.set_index(x='lons')
关于python - 阵列 : slice coordinates with no dimensions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45496871/
在我的项目中,我使用 LocationSearchTable/MKLocalSearch。当用户点击一个项目时,我的添加注释方法在 MapViewController 中被调用: func dropP
我很想知道如何检查字符串是否具有两个坐标的格式,例如: (signed int x,signed int y) 我已经通过搜索找到了一些答案,但我还没有完全理解它们(刚开始使用 C++),我要求一个简
在我正在编写的程序中,我为两个类(坐标和图形)编写了代码,其中一个将另一个作为构造函数参数。当我尝试编译它时,出现以下 Graph.cpp 错误: undefined symbol : “Graph:
我在 OpenGL ES 中绘制变化的条,它有坐标 (x,y,z)。 我想在 Action_Down 上添加一些更改(例如:栏中的颜色)。有 getX(),但此方法返回以像素为单位的 x 坐标,而不是
因为我之前的问题很不清楚,所以我编辑了一下: 我有以下问题: 我想为半径为 r+fcr_size 的空心球体构建一个图案。空心球体的空腔半径应为 r。有了这个图案,我可以在许多不同的球体中心使用它,并
我想使用 Vuforia 检测标记并在其上放置一个 3d 对象。从那时起,我想在我的应用程序中使用 ARKit。我如何知道检测到的标记或 3d 对象的 ARKit 世界变换? 我正在使用相同的 Vie
我有一组纬度/经度坐标,我可以使用它们进行投影,例如 Mollweide 投影。 library(mapproj) set.seed(0) n 180] = my.points$x[my.point
我正在使用 JavaScript 进行视频处理,我做得很好,但我使用的是一种名为 canvasCtx.rect () 的方法,它接收这些参数。 然后我可以从使用 getImageData () 方法绘
我创建了一个新项目作为单 View 应用程序。在 View Controller 中添加了用于将 View 坐标转换为窗口坐标的代码: - (void) dumpFrame { CGRect
简短版本:如何将 SVG 路径添加到 Leaflet map ,以便在 map 坐标更改时(例如缩放更改或滑动时)路径会更新? 长版:你好,我有一个地形image包含建筑轮廓。对图像进行地理校正后,我
我编写了一个代码,使用 astropy 将坐标从地球固定系统转换为惯性坐标系: from astropy import coordinates as coord from astropy import
我的多显示器设置中遇到以下情况: 在此示例中,我希望将窗口精确定位在黄色箭头所示的坐标处。然而,我所拥有的只是 NSView 的坐标,它是跨越整个(更大、更上面)辅助监视器的 NSWindow 的 c
我不知道如何将 Pane 上圆形对象的所有 x 和 y 与鼠标的 x 和 y 进行比较。我正在处理的问题要求我设置它,以便鼠标的二次单击会在放置在其上时删除一个点,我想我可以通过比较圆坐标和鼠标坐标的
我正在尝试将图像中的几个点转换为 OpenCV 中的极坐标。我遇到了名为 cartToPolar 的函数,它会为我的点提供相对于 0,0 作为我的原点的极坐标。但是,我想通过将图像中的另一个点作为原点
是的,我想知道如何检查某个坐标是否在另一个坐标半径内。但这可能是一个很小的差异,因为纬度、经度、半径存储在数据库中,而我们要检查的只是给定的坐标。 示例 数据库表 name | lat
我正在使用带有图层的 map (来自示例): var lonLat = new OpenLayers.LonLat(40.4088576, -86.8576718) .
我在坐标转换方面遇到了一些麻烦。 我在屏幕上有一个已知坐标(x,y)的对象,我想将其转换为世界坐标(x,y,z),因为它会投影在相机的近平面上。 到目前为止,我可以像这样在Z平面上进行投影: var
我有4个足球场点(角点): P1(lat, lon, alt) , P2(lat, lon, alt) , P3(lat, lon, alt) , P4(lat, lon, alt) . 以及球场上的
我有一个交换了纬度和经度位置的 NetCDF 文件。 我通常使用的 Netcdf 的标准方式定义如下: Coordinates: * time (time) datetime64[n
如果 line1 和 lin2 都由 x,y,alpha 定义,其中 x,y 是直线上一点的坐标,alpha 是直线与 x=const 之间的角度,如何找到 line1 和 lin2 相交的点? 我尝
我是一名优秀的程序员,十分优秀!