<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How can I reliably set the NoData value of a raster? in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242560#M6289</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I want to clip a raster and retain the NoData value from the source raster in the clipped raster. In the method below, I follow these steps:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(1) use map algebra to clip the source raster to the new extent&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(2) use IRasterProps to set the pixel type and NoData value to be the same as the source raster&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(3) use ISaveAs to save the new raster dataset&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The source raster I've been testing with is a 16-bit signed integer raster with a NoData value of -32768. Setting the pixel type works correctly, but the NoData value always ends up being 32767.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have also tried using the geoprocessing clip method (&lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/How_to_clip_a_raster_dataset_with_an_envelope_or_a_dataset/0001000000n5000000/" rel="nofollow noopener noreferrer" target="_blank"&gt;http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/How_to_clip_a_raster_dataset_with_an_envelope_or_a_dataset/0001000000n5000000/&lt;/A&gt;&lt;SPAN&gt;), but I still end up with 32767.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(Other specifics in my testing that may or may not be relevant: input raster is GRID, output is file geodatabase)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static IRaster ClipRaster(IRaster2 sourceRaster, IEnvelope extent, IWorkspace workspace, string rasterName, string rasterFormat)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //map algebra method for clipping
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //NoData value is not set properly (always ends up as largest positive integer supported by pixel type)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clip
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetRasterAnalysisEnvCellSize(sourceRaster, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetRasterAnalysisEnvExtent(extent, sourceRaster, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMapAlgebraOp mapAlgebraOp = new RasterMapAlgebraOpClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string rasterSymbol = "source";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapAlgebraOp.BindRaster((IGeoDataset)sourceRaster, rasterSymbol);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IGeoDataset tempClipRaster = mapAlgebraOp.Execute("[" + rasterSymbol + "]");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //set pixel type and nodata value to match input raster and save
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IRasterProps propsClip = tempClipRaster as IRasterProps;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IRasterProps propsSource = sourceRaster as IRasterProps;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propsClip.PixelType = propsSource.PixelType;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propsClip.NoDataValue = propsSource.NoDataValue; // this doesn't stick
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IRasterDataset3 clipOutput = ((ISaveAs2)tempClipRaster).SaveAs(rasterName, workspace, rasterFormat) as IRasterDataset3;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //delete the temporary dataset created by the map algebra op
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (((IDataset)((IRaster2)tempClipRaster).RasterDataset).CanDelete())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((IDataset)((IRaster2)tempClipRaster).RasterDataset).Delete();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IRaster outRaster = clipOutput.CreateDefaultRaster();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //IRaster outRaster = clipOutput.CreateFullRaster(); //this method has same result
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return outRaster;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 12:08:59 GMT</pubDate>
    <dc:creator>EricWeber</dc:creator>
    <dc:date>2021-12-11T12:08:59Z</dc:date>
    <item>
      <title>How can I reliably set the NoData value of a raster?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242560#M6289</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I want to clip a raster and retain the NoData value from the source raster in the clipped raster. In the method below, I follow these steps:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(1) use map algebra to clip the source raster to the new extent&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(2) use IRasterProps to set the pixel type and NoData value to be the same as the source raster&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(3) use ISaveAs to save the new raster dataset&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The source raster I've been testing with is a 16-bit signed integer raster with a NoData value of -32768. Setting the pixel type works correctly, but the NoData value always ends up being 32767.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have also tried using the geoprocessing clip method (&lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/How_to_clip_a_raster_dataset_with_an_envelope_or_a_dataset/0001000000n5000000/" rel="nofollow noopener noreferrer" target="_blank"&gt;http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/How_to_clip_a_raster_dataset_with_an_envelope_or_a_dataset/0001000000n5000000/&lt;/A&gt;&lt;SPAN&gt;), but I still end up with 32767.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(Other specifics in my testing that may or may not be relevant: input raster is GRID, output is file geodatabase)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static IRaster ClipRaster(IRaster2 sourceRaster, IEnvelope extent, IWorkspace workspace, string rasterName, string rasterFormat)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //map algebra method for clipping
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //NoData value is not set properly (always ends up as largest positive integer supported by pixel type)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clip
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetRasterAnalysisEnvCellSize(sourceRaster, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetRasterAnalysisEnvExtent(extent, sourceRaster, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMapAlgebraOp mapAlgebraOp = new RasterMapAlgebraOpClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string rasterSymbol = "source";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapAlgebraOp.BindRaster((IGeoDataset)sourceRaster, rasterSymbol);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IGeoDataset tempClipRaster = mapAlgebraOp.Execute("[" + rasterSymbol + "]");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //set pixel type and nodata value to match input raster and save
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IRasterProps propsClip = tempClipRaster as IRasterProps;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IRasterProps propsSource = sourceRaster as IRasterProps;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propsClip.PixelType = propsSource.PixelType;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propsClip.NoDataValue = propsSource.NoDataValue; // this doesn't stick
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IRasterDataset3 clipOutput = ((ISaveAs2)tempClipRaster).SaveAs(rasterName, workspace, rasterFormat) as IRasterDataset3;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //delete the temporary dataset created by the map algebra op
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (((IDataset)((IRaster2)tempClipRaster).RasterDataset).CanDelete())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((IDataset)((IRaster2)tempClipRaster).RasterDataset).Delete();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IRaster outRaster = clipOutput.CreateDefaultRaster();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //IRaster outRaster = clipOutput.CreateFullRaster(); //this method has same result
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return outRaster;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 12:08:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242560#M6289</guid>
      <dc:creator>EricWeber</dc:creator>
      <dc:date>2021-12-11T12:08:59Z</dc:date>
    </item>
    <item>
      <title>Re: How can I reliably set the NoData value of a raster?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242561#M6290</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Eric,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just a thought, if you have used the geoprocessing clip tool could you not then use the &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//009z00000007000000.htm"&gt;SetNull&lt;/A&gt;&lt;SPAN&gt; tool after the clip, if the ISaveAs is not working?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Duncan&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Aug 2012 10:07:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242561#M6290</guid>
      <dc:creator>DuncanHornby</dc:creator>
      <dc:date>2012-08-21T10:07:55Z</dc:date>
    </item>
    <item>
      <title>Re: How can I reliably set the NoData value of a raster?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242562#M6291</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Duncan - thanks for the suggestion. I tried to use SetNull, both in the map algebra expression, as well as in the geoprocessing method (after the Clip tool), and it does not change the result. As I understand SetNull, it doesn't change which value is treated as NoData, but rather changes individual cell values to the NoData value. Correct me if I'm wrong on that.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Eric,&lt;BR /&gt;&lt;BR /&gt;Just a thought, if you have used the geoprocessing clip tool could you not then use the &lt;A href="http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//009z00000007000000.htm"&gt;SetNull&lt;/A&gt; tool after the clip, if the ISaveAs is not working?&lt;BR /&gt;&lt;BR /&gt;Duncan&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I still think the IRasterProps/ISaveAs approach should work. It's prescribed by ESRI (&lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//0001000000w6000000"&gt;http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//0001000000w6000000&lt;/A&gt;&lt;SPAN&gt;). As far as I can tell, there must be a bug in the NoData property of IRasterProps or in the SaveAs method of ISaveAs. Can anyone tell me if I'm doing something wrong? Or does anyone know of a workaround?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Aug 2012 12:54:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242562#M6291</guid>
      <dc:creator>EricWeber</dc:creator>
      <dc:date>2012-08-21T12:54:14Z</dc:date>
    </item>
    <item>
      <title>Re: How can I reliably set the NoData value of a raster?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242563#M6292</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm having this same issue. It appears to be a problem with setting the no data value when using a file geodatabase as the output workspace. I have followed the code in this help topic and if you import to a FileGDBWorkspaceFactory it fails to set the no data value. If you out save to a RasterWorkspaceFactory it holds the no data value so I believe there is nothing wrong with my workflow&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//000100000464000000"&gt;http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//000100000464000000&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The only way I could get it to work was to do a saveAs using iSavAs after I had finished processing the raster. This also gets around another what appears to be another bug. If you import to a RasterWorkspaceFactory and then add it to the map programmatically I found it adds a blank raster (whereas geodatabase is fine). Doing the save as and adding that dataset works fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps someone.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dave&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ArcGIS 10.1&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jun 2013 09:36:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242563#M6292</guid>
      <dc:creator>DavidWilton</dc:creator>
      <dc:date>2013-06-12T09:36:41Z</dc:date>
    </item>
    <item>
      <title>Re: How can I reliably set the NoData value of a raster?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242564#M6293</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try using the IRasterWorkspaceEx.SaveAsRasterDataset() method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;var rasterWorkspace = (IRasterWorkspaceEx) workspace;
&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px; background-color: #f6f6f6;"&gt;IRasterProps propsSource = sourceRaster as IRasterProps;&lt;/SPAN&gt;

IRasterDef rasterDef = new RasterDef();
rasterDef.SpatialReference = propsSource.SpatialReference;
var raster = ((IRasterDataset3)tempClipRaster).CreateFullRaster();
((IRasterProps)raster).NoDataValue = propsSource.NoDataValue // Ensure that this is the value you expect.
&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"&gt;IRasterDataset3 clipOutput&lt;/SPAN&gt; = rasterWorkspace.SaveAsRasterDataset(rasterName, raster, null, null, rasterDef, null);&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 12:09:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-can-i-reliably-set-the-nodata-value-of-a/m-p/242564#M6293</guid>
      <dc:creator>GregMcQuat</dc:creator>
      <dc:date>2021-12-11T12:09:02Z</dc:date>
    </item>
  </channel>
</rss>

