てつふみはブログ

プログラミングなどの失敗記録

【arcpy】saモジュールのConメソッドでの、NumPyの使用はダメ

背景>>

先日、こんなようなコードを書いた。

import, numpy,arcpy

np = numpy.arange(9).reshape([3,3])

raster2 = arcpy.sa.Con(raster1 > 10, np[2,2], float(u"NaN"))

するとRuntimeだかジオプロセシングエラー999999だかが出て、原因不明で落ちる。

 

原因>>

Conメソッドの式中に、NumPyを書いたのが原因だった。

二次元配列にするとすんなり実行可能に…。

どうやらConメソッド内ではNumPyに対応していない模様(考えてみれば当然だな)

調べてはいないけど、おそらく他のメソッド(あるいは他のモジュール?)でも対応していないと思われる。

 

そんなに必要な機能ではなかったから、最初から直書きでやればよかったと後悔…

NumPy覚えたてだからなんか使ってみたくなったんだな、きっと。