ArcSWAT报错:数据集未投影;Dataset must have a projected coordinate system

简介: ArcSWAT报错:数据集未投影;Dataset must have a projected coordinate system

1 报错内容


7731b9924488450896bf6769fd4a9014.png


此报错解决较为简单,报错的内容表明在进行某项操作之前,ArcSWAT要求数据集必须具有投影坐标系统(projected coordinate system),而当前数据集使用的是地理坐标系统(geographic coordinate system)。要解决此问题,你需要为DEM数据集定义一个投影坐标系统。


2 定义投影

目前DEM数据的格式主要为tif格式,需注意tif格式的投影定义方法为使用投影栅格功能,而非投影或定义投影功能。如使用投影功能,会出现输入数据找不到DEM图层;如使用定义投影功能,则TIF数据将会被直接定义到火星而无法与其他图层重合。

投影栅格功能的使用方法如下:

打开ArcToolbox,选择数据管理工具-投影和变换-栅格-投影栅格或直接搜索投影栅格工具。



5e69ea64f36945e88cd572e6f090ba29.png



其中输入栅格为需要被投影的DEM数据,输出坐标系如果单纯的为了SWAT使用,可以选择对应的WGS_1984_UTM_Zone_N坐标系。其中对应投影带数字:


要选择正确的投影带号,我们需要知道研究区域位于哪个经度范围内。

UTM投影将地球表面划分为60个投影带,每个投影带覆盖经度范围为6度。每个投影带都有一个唯一的投影带号,从1到60,分别从西向东依次递增。投影带以赤道为基准线,以经度0度作为中央子午线。因此,带数的计算公式为:(经度整数位/6)的整数部分+31

假如我们的研究区域的中心经度位于123°,那么投影带号将是(117/6)+31 =50。所以我们选择的投影坐标系为 WGS_1984_UTM_Zone_50N。





f77d4c1738f543ddb627dd46e56ff09c.png


执行完投影之后,可以看到tif文件的投影已经改变了。



4e8b4d2bd9ad4c46961ca7fba716a640.png



3 重新执行ArcSWAT相关步骤

原则上此时我们重新选择投影后的DEM数据,就可以顺利进行下面的步骤了。但如果遇到了Watershed Delineator中的Automatic Watershed Delineation为灰色不能点击,则需要重启(重新打开)ArcMAP软件,之后Automatic Watershed Delineation便可以被点击,导入DEM数据执行接下来的操作即可。


相关文章
|
2月前
Google Earth Engine(GEE)——用填充后的Landsat7影像进行LST地表温度计算(C值转化为K值)
Google Earth Engine(GEE)——用填充后的Landsat7影像进行LST地表温度计算(C值转化为K值)
34 2
|
4月前
QGIS【实例 01】筛选范围内的数据相交intersection工具使用及Feature (347897) has invalid geometry问题处理
QGIS【实例 01】筛选范围内的数据相交intersection工具使用及Feature (347897) has invalid geometry问题处理
94 0
|
11月前
|
Python
随机抽样方法——DataFrame.sample()
随机抽样方法——DataFrame.sample()
|
机器学习/深度学习 算法
随机装箱特征模型(Random Binning Feature Model)代码
在上述代码中,我们首先定义了一个名为RandomBinningFeatureModel的类,并在其__init__方法中接受一个参数num_bins,表示装箱的数量。然后,我们定义了一个名为fit_transform的方法,该方法接受原始输入数据x作为参数,并返回转换后的特征张量xb。
101 0
|
缓存 Python
|
PyTorch 算法框架/工具
如何将x_data和y_data利用torch转换成小批量数据,并要求打乱数据,如何处理?
首先,使用TensorDataset将x_data和y_data合并到一个数据集中。然后,使用DataLoader创建一个迭代器,以便逐个处理每个小批量数据。在这里,batch_size设置为2,这意味着每个小批量将包含2个样本。shuffle参数设置为True,表示要对数据进行随机打乱。在遍历每个小批量数据时,可以在循环体内执行训练或评估操作。
147 0
|
PyTorch 算法框架/工具
如何将x_data和y_data利用torch转换成小批量数据,并要求打乱数据,以及将数据标准化或者归一化,如何处理?
以上代码中,在定义预处理操作transform时,只在Normalize函数的第一个参数中传入x_data的均值和标准差,而在第二个参数中传入空元组,表示不对y_data进行标准化。 接着,将标准化后的x_data和原始的y_data转换为张量格式,并将它们合并为一个TensorDataset对象。最后,定义dataloader对象,设置batch_size和shuffle参数,并使用上述数据集对象作为输入数据。
259 0
|
机器学习/深度学习 人工智能 计算机视觉
|
图形学
Unity【Bounds & Vector3 Cross】- 如何判断一个物体是否在一个凸边体三维区域内
Unity【Bounds & Vector3 Cross】- 如何判断一个物体是否在一个凸边体三维区域内
370 0
Unity【Bounds & Vector3 Cross】- 如何判断一个物体是否在一个凸边体三维区域内
C#编程-66:DataSet数据集的简单操作
C#编程-66:DataSet数据集的简单操作
C#编程-66:DataSet数据集的简单操作

热门文章

最新文章