using C#, visual studio 2010, ArcGIS 10.1 - I'm using the following code to create a new RasterDataset in a file geodb - //create IRasterWorkspaceEx rWS = (IRasterWorkspaceEx)ws; IRasterStorageDef2 rStorage = new RasterStorageDefClass(); rStorage.CellSize = new Pnt(){X=cellsize,Y=cellsize}; rStorage.Origin = origin; IRasterDef2 rDef = new RasterDefClass(); rDef.SpatialReference = srOut; rds = (IRasterDataset2)rWS.CreateRasterDataset(strName, 1, ptype, rStorage, "", rDef, null);
This works, but the output RasterDataset is only 1 pixel big. When you call CreateRasterData through IRasterWorkspace (for file based rasters) you can specify the width and height. Basically I have a 2d array I'm trying to write into the raster - how do I do this when the output is only 1 pixel big?I've tried casting to IRasterProps and changing the Width and Height props but that throws a COMException even though in the help they look to be read/write props - IRasterBandCollection rbc = (IRasterBandCollection)rds; IRasterProps rProps = (IRasterProps)rbc.Item(0); rProps.NoDataValue = nodataval; rProps.Width = Data.GetLength(0); //Error here rProps.Height = Data.GetLength(1);
A push in the right direction would be appreciated!Thanks, Terry