扩展异常:1944553在应用光栅netlogo gis时

扩展异常:1944553在应用光栅netlogo gis时,gis,netlogo,Gis,Netlogo,我正在尝试从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",S

我正在尝试从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$1.apply$mcV$sp(JobThread.scala:78)
 at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
 at org.nlogo.job.JobThread$$anonfun$run$1.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$1 (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$2 (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中有一个逐个错误,但我从来没有时间去研究它。您应该能够通过从调整世界大小的调用中删除“-1”来解决此问题,即

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

如果这不起作用,请告诉我,我会看看是否有时间进一步调查。

在重新创建所有ascii文件后,问题最终得到解决。尽管新旧ascii文件没有明显区别,但旧文件一定是被某种方式损坏了。问题中的代码现在运行良好。希望这个话题对遇到同样错误的人仍然有帮助

在我看来,这个错误似乎是GIS扩展中的问题;扩展正在计算pxcor和/或pycor的越界值,然后尝试访问不存在的补丁。我不知道地理信息系统的东西或扩展的胆量,所以我不能猜测为什么会这样。在这种情况下,它至少应该给出一个可理解的错误消息。Eric,也许你可以在?即使这是一个模糊的问题,只是说了你能记住的关于它的任何东西,在一个有价值的基础上?谢谢你的评论。我试图看看ascii是否是问题所在,但在不同的文件上运行它并不能解决问题。然而,重新创建ascii码解决了这个问题,没有明显的变化。我试图找出任何差异,以便在这里有所帮助,但没有发现任何差异。不知何故,第一批文件一定已损坏。存在“-1”是因为netlogo world从0开始,而ascii的gis:width从1开始。如果没有“-1”的位置,将导致一个1到1的世界。