2014-09-30 5 views
2

다각형 - 래스터 변환의 기본 셀 크기를 설정하는 데 문제가 있습니다. 버퍼링 된 스트림 (다각형)을 래스터 레이어로 변환해야 스트림을 DEM으로 레코딩 할 수 있습니다. 이 스크립트를 큰 스크립트에 포함 시키려면이 프로세스를 자동화하고 싶습니다.기본 셀 크기 설정

내 주요 문제는 PolygonToRaster_conversion() 도구를 사용하여 셀 크기를 래스터 레이어 값으로 설정할 수 없다는 것입니다. 또한 환경에서 설정하려고하는 기본 래스터 셀 크기를 따르지 않습니다. 대신, 기본 "범위를 250으로 나눈 값"을 일관되게 사용합니다.

# Input Data 
Input_DEM = "C:\\GIS\\DEM\\dem_30m.grid" 
BufferedStream = "C:\\GIS\\StreamBuff.shp" 

# Environment Settings 
arcpy.env.cellSize = Input_DEM 

# Convert to Raster 
StreamRaster = "C:\\GIS\\Stream_Rast.grid" 
arcpy.PolygonToRaster_conversion(BufferedStream, "FID", StreamRaster, "CELL_CENTER", "NONE", Input_DEM) 

이 다음과 같은 오류 발생 : 여기

이 과정에 대한 내 스크립트입니다. "셀 크기 0보다 커야합니다" 을

DEM 레이어의 경로를 입력하면 같은 오류가 발생합니다.

또한 수동으로 셀 크기의 숫자를 입력 해 보았습니다. 이 방법이 효과적이지만이 도구의 유용성을 일반화하고 싶습니다.

실제로 이해할 수없는 것은 내가 ArcGIS 인터페이스를 통해 수동으로 셀 크기로 DEM 레이어를 사용했는데 이것이 완벽하게 작동했습니다 !!

도움이 될 것입니다.

답변

1

여기에는 몇 가지 옵션이 있습니다. 먼저 래스터 밴드 속성을 사용하여 셀 크기를 추출하고이를 PolygonToRaster 함수에 삽입 할 수 있습니다. 둘째, 셀 크기 환경 설정에서 MINOF 매개 변수를 사용해보십시오.

import arcpy 

# Input Data 
Input_DEM = "C:\\GIS\\DEM\\dem_30m.grid" 
BufferedStream = "C:\\GIS\\StreamBuff.shp" 

# Use the describe function to get at cell size 
desc = arcpy.Describe(Input_DEM) 
cellsize = desc.meanCellWidth 

# Convert to Raster 
StreamRaster = "C:\\GIS\\Stream_Rast.grid" 
arcpy.PolygonToRaster_conversion(BufferedStream, "FID", StreamRaster, "CELL_CENTER", "NONE", cellsize)