扩展异常:应用栅格 netlogo gis 时出现 1944553

extension exception: 1944553 while applying raster netlogo gis

我正在尝试使用 GIS 扩展中的 apply-raster 将 ascii 加载到 Netlogo 中。 虽然我以前做过很多次(虽然不是用这个特定的 ascii),但 netlogo 现在抛出以下错误:

extension exception: 1944553
error while observer running GIS:APPLY-RASTER

我不确定为什么会这样。 ascii 有一个投影文件 (WKT),应该可以正常工作:

GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]

ascii本身有这些参数:

ncols         1481
nrows         1314
xllcorner     -10.577897001
yllcorner     49.902509998994
cellsize      0.00833333333333
NODATA_value  -9999

我是运行这四行,用于加载ascii和调整世界大小。

set my-dataset "data/my-folder/my-file.asc"
resize-world 0 gis:width-of (gis:load-dataset my-dataset) - 1 0 gis:height-of (gis:load-dataset my-dataset) - 1
gis:set-world-envelope-ds (gis:envelope-of (gis:load-dataset my-dataset))
gis:apply-raster (gis:load-dataset my-dataset) my-variable

有人熟悉这个错误吗? 或者有什么地方可以查询这个扩展异常的含义吗?我找不到它,但也许我找错地方了。

谢谢!

编辑: 请参阅下面的错误详细信息

Extension exception: 1944553
error while observer running GIS:APPLY-RASTER
  called by procedure LOAD-DATASETS
  called by procedure CREATE-WORLD
  called by Button 'create-world'

org.nlogo.nvm.EngineException: Extension exception: 1944553
 at org.nlogo.agent.World.fastGetPatchAt(World.java:560)
 at org.nlogo.agent.World.fastGetPatchAt(World.java:35)
 at org.myworldgis.netlogo.ApplyRaster.performInternal(ApplyRaster.java:53)
 at org.myworldgis.netlogo.GISExtension$Command.perform(GISExtension.java:63)
 at org.nlogo.prim._extern.perform(_extern.java:54)
 at org.nlogo.nvm.Context.stepConcurrent(Context.java:91)
 at org.nlogo.nvm.ConcurrentJob.step(ConcurrentJob.java:82)
 at org.nlogo.job.JobThread.org$nlogo$job$JobThread$$runPrimaryJobs(JobThread.scala:143)
 at org.nlogo.job.JobThread$$anonfun$run.apply$mcV$sp(JobThread.scala:78)
 at org.nlogo.job.JobThread$$anonfun$run.apply(JobThread.scala:76)
 at org.nlogo.job.JobThread$$anonfun$run.apply(JobThread.scala:76)
 at scala.util.control.Exception$Catch.apply(Exception.scala:88)
 at org.nlogo.util.Exceptions$.handling(Exceptions.scala:41)
 at org.nlogo.job.JobThread.run(JobThread.scala:75)

NetLogo 5.2.0
main: org.nlogo.app.AppFrame
thread: JobThread
Java HotSpot(TM) Server VM 1.6.0_45 (Sun Microsystems Inc.; 1.6.0_45-b06)
operating system: Windows 7 6.1 (x86 processor)
Scala version 2.9.2
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: test_run_world

03:23:17.778 SwitchedTabsEvent (org.nlogo.app.Tabs) AWT-EventQueue-0
03:23:17.778 RuntimeErrorEvent (org.nlogo.app.App$$anon (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
03:23:17.778 InterfaceGlobalEvent (org.nlogo.window.ChooserWidget) AWT-EventQueue-0
03:23:17.778 InterfaceGlobalEvent (org.nlogo.window.InputBoxWidget) AWT-EventQueue-0
03:23:17.778 InterfaceGlobalEvent (org.nlogo.window.InputBoxWidget) AWT-EventQueue-0
03:23:17.778 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
03:23:17.778 InterfaceGlobalEvent (org.nlogo.window.ChooserWidget) AWT-EventQueue-0
03:23:17.778 InterfaceGlobalEvent (org.nlogo.window.ChooserWidget) AWT-EventQueue-0
03:23:17.778 InterfaceGlobalEvent (org.nlogo.window.ChooserWidget) AWT-EventQueue-0
03:23:17.778 InterfaceGlobalEvent (org.nlogo.widget.SwitchWidget) AWT-EventQueue-0

我很确定 RasterDataset.resample 中存在一个差一错误,但我从来没有时间去研究它。您应该能够通过从对 resize-world 的调用中删除“- 1”来解决此问题,即

resize-world 0 gis:width-of (gis:load-dataset my-dataset) 0 gis:height-of (gis:load-dataset my-dataset)

如果这不起作用,请告诉我,我会抽出时间进一步调查。

重新创建所有ascii 文件后问题终于解决了。尽管新旧 ascii 文件没有明显差异,但旧文件一定已损坏。问题中的代码现在可以正常工作。希望这个主题对任何 运行 遇到同样错误的人仍然有帮助。