0

私は現在、修士論文に取り組んでおり、GIS に本当に問題があります。http://www.kew.org/gis/projects/mad_veg/datasets_gis.htmlからアーク GIS グリッド データ セットをダウンロードしました。

アークマップ 10 にプロットすることに成功しました。このマップは、さまざまな生息地で構成されています。これらの生息地タイプの 1 つ、たとえば「湿った森」をどのように取り、その生息地のパッチがいくつあるか、および各パッチの大きさを計算する方法を知りたいです。

私は何週間もこれに取り組んできましたが、あまり進歩していません。誰かがゾーンジオメトリを表として見ることを提案しましたhttp://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//009z000000w5000000.htm有望に見えますが、コーディングを試してみましたができませんでしたそれを機能させます。以下に私の試みのいくつかを投稿しました。

>>> import arcpy
>>> from arcpy import env
>>> from arcpy.sa import *
>>> env.workspace = "Q:/MADGIS"
>>> outZonalGeometryAsTable = ZonalGeometryAsTable("zones.shp", "Classes      "zonalgeomout", 0.2)
Runtime error <class 'arcgisscripting.ExecuteError'>: ERROR 000626: Tool     ZonalGeometryAsTable is not licensed. 
>>> arcpy.CheckOutExtension("Spatial")
u'CheckedOut'
>>> outZonalGeometryAsTable = ZonalGeometryAsTable(inZoneData, zoneField, "AREA",       cellSize)
Runtime error <type 'exceptions.NameError'>: name 'inZoneData' is not defined

問題は、例でコピーされたものの一部が例に固有のものであることですが、よくわかりません。誰かが私を正しい方向に向けることさえできれば、それは大きな助けになるでしょう

4

1 に答える 1

0

一部のパラメータを設定していないようです。上記のリンクによると、次のパラメーターを設定する必要があります。

# Set local variables
inZoneData = "YourShapefileName.shp"
zoneField = "Classes"
outTable = "zonalgeomout02.dbf"
processingCellSize = 0.2

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

ここに画像の説明を入力

アップデート:

ラスター データには次のコードを使用する必要があります。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/Users/Puya/Downloads/Documents/StackOverflow/veg_grid"
inZoneData = "vegetation"
zoneField = "Value"
outTable = "zonalgeomout02.dbf" 
processingCellSize = 29
arcpy.CheckOutExtension("Spatial")
outZonalGeometryAsTable = ZonalGeometryAsTable(inZoneData, zoneField, "AREA", processingCellSize)

また、ArcMap では、ArcToolbox -> Spatial Analyst -> Zonal -> ZonalGeometryAsTable を使用して上記のパラメーターを選択し、ZonalGeometryAsTable を実行できます。

于 2013-09-06T08:57:09.603 に答える