我有一些来自 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 的新手,我在阅读此文件和创建数组时遇到了问题。
答案 0 :(得分:0)
整数值是否合理?然后我可能会将这些行读入字符串并使用列表导向的IO来读取字符串的一部分中的整数。类似的东西:
character (len=80) :: line
read ( UnitNum, '(A)' ) line
read (line (14:50), * ) Ncols
然后重复读取line
。
将数组分配到正确的尺寸,然后执行:
read ( UnitNum, *) array
让我们知道这会让你有多远......