如何解决像
这样的netlogo错误Extension exception: invalid cell size on line 5
当我尝试使用:
加载AsciiGrid(.asc)栅格时set slope gis:load-dataset "data_carto/DTMBanyulsEPSG2154/small_slope.asc"
我找到了github extention code(第88行)但我并不真正理解它是如何运作的
感谢' S
MAJ:
我的asc文件的标题:
ncols 346
nrows 270
xllcorner 3.087906007412
yllcorner 42.451833343014
dx 0.000106344549
dy 0.000106459930
0 27.467638015747070312 31.712091445922851562 35.38886260986328125 36.1437835693359375 36.798412322998046875 36.798412322998046875 36.37$
0 26.552234649658203125 31.561212539672851562 35.23743438720703125 35.762996673583984375 35.20586395263671875 35.20586395263671875 34.34$
0 27.206226348876953125 29.196367263793945312 30.581308364868164062 29.855892181396484375 29.219537734985351562 29.219537734985351562 29$
有什么不对吗?
答案 0 :(得分:3)
GIS扩展程序期望.asc文件的第5行以" CELLSIZE"开头。 (CELL_SIZE常量here的值),大写或小写。如果第5行没有以该值开头,则扩展程序会在您看到时报告错误。如果你的.asc文件在第5行没有单元格,你可能需要重新排列.asc文件的行。
答案 1 :(得分:2)
最后我发现我的错误来自...... :-) @Eric Russell当然是对的!
我的错误来自我的tif文件到asc文件的gdal转换...
在1.9版本之后(我相信)我们需要在gdal_translate
commande中添加一个特殊选项! -co FORCE_CELLSIZE=TRUE
。
用:
gdal_translate -of "AAIGrid" -b 1 -co FORCE_CELLSIZE=TRUE DTMBanyulsEPSG2154/small_slope.tif DTMBanyulsEPSG2154/small_slope.asc
它工作,标题是:
ncols 321
nrows 250
xllcorner 3.087906007412
yllcorner 42.451920815321
cellsize 0.000114626835