0

我有许多来自ArcGIS的输出文件,其中包含大型高程数据集
我正在尝试使用FORTRAN来读取和处理这些数据,因为数据量非常大。
我在下面有一个截断的示例文件:

ncols         23

nrows         21

xllcorner     539204.730

yllcorner     3834204.851

cellsize      50

nodata_value  -9999

-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 
-9999 -9999 -9999 -9999 -9999 -9999 -9999 3.079 3.886 3.12 -
-9999 -9999 -9999 -9999 -9999 -9999 2.963 3.751 5.434 3.696 
-9999 -9999 -9999 -9999 -9999 1.927 1.509 1.358 1.897 1.402 
-9999 -9999 -9999 -9999 2.423 1.501 0.912 0.874 0.932 0.975 
-9999 -9999 -9999 2.994 2.563 1.613 0.781 0.401 0.598 0.815 
-9999 -9999 2.228 1.57 1.823 1.137 0.463 0.43 0.459 0.74 0.9
-9999 2.153 1.686 0.904 0.538 0.532 0.534 0.275 0.172 0.347 
-9999 1.532 0.935 0.416 0.365 0.575 0.493 0.28 0.17 0.251 0.
-9999 1.506 1.061 0.481 0.263 0.379 0.287 0.356 0.354 0.247 
-9999 1.793 1.823 1.032 0.349 0.43 0.406 0.437 0.473 0.337 0

我正在尝试创建一个坐标和高程数组来执行一些计算。
我对Fortran很陌生,在读取此文件和创建数组时遇到了麻烦。

4

1 回答 1

0

整数值是否左对齐?然后我可能会将这些行读入字符串并使用列表导向 IO 从字符串的一部分中读取整数。就像是:

character (len=80) :: line

read ( UnitNum, '(A)' )  line
read (line (14:50), * ) Ncols

然后通过重复读取来跳过空行line

将数组分配给正确的维度,然后执行以下操作:

read ( UnitNum, *) array

让我们知道这可以让你走多远......

于 2013-10-11T04:01:23.910 回答