I am using ArcMap 10.6.1 and I need to expand a large raster with thousands of zones by 1 cell using either the expand tool or a map algebra expression. How can I write the expression to expand all zones in the input raster without entering each zone value separately. Is there a way to write it so it expands zones from one number through to another? So for a range of raster values from the input raster.
Thank you for the suggestions. I have found that the Euclidean Allocation tool seems to do the same thing if you set the distance to a multiple of the raster cell size.
I hope your zones aren't adjacent to one another since they might self obliterate.
You can copy and paste a zone list (not tried) using numpy.
<SPAN class="keyword token">import</SPAN> numpy <SPAN class="keyword token">as</SPAN> np zones <SPAN class="operator token">=</SPAN> np<SPAN class="punctuation token">.</SPAN>arange<SPAN class="punctuation token">(</SPAN><SPAN class="number token">100</SPAN><SPAN class="punctuation token">)</SPAN> zones array<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">2</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">4</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">6</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">7</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">8</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">9</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">10</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">11</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">12</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">13</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">14</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">15</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">16</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">17</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">18</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">19</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">20</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">21</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">22</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">23</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">24</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">25</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">26</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">27</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">28</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">29</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">30</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">31</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">32</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">33</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">34</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">35</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">36</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">37</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">38</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">39</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">40</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">41</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">42</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">43</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">44</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">45</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">46</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">47</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">48</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">49</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">50</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">51</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">52</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">53</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">54</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">55</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">56</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">57</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">58</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">59</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">60</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">61</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">62</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">63</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">64</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">65</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">66</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">67</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">68</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">69</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">70</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">71</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">72</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">73</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">74</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">75</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">76</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">77</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">78</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">79</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">80</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">81</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">82</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">83</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">84</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">85</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">86</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">87</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">88</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">89</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">90</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">91</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">92</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">93</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">94</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">95</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">96</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">97</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">98</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">99</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="comment token"># ---- just copy the list out like so</SPAN> <SPAN class="punctuation token">[</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">2</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">4</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">6</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">7</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">8</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">9</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">10</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">11</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">12</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">13</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">14</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">15</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">16</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">17</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">18</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">19</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">20</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">21</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">22</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">23</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">24</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">25</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">26</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">27</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">28</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">29</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">30</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">31</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">32</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">33</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">34</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">35</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">36</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">37</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">38</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">39</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">40</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">41</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">42</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">43</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">44</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">45</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">46</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">47</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">48</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">49</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">50</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">51</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">52</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">53</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">54</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">55</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">56</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">57</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">58</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">59</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">60</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">61</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">62</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">63</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">64</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">65</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">66</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">67</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">68</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">69</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">70</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">71</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">72</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">73</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">74</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">75</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">76</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">77</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">78</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">79</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">80</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">81</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">82</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">83</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">84</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">85</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">86</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">87</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">88</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">89</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">90</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">91</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">92</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">93</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">94</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">95</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">96</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">97</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">98</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">99</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
It is a really big raster with over 700,000 zones, so this approach might be too cumbersome. Is there a way to describe the zones by calling on the input raster's attribute table to iterate through the values?
This begs the question why are you expanding the zones?
Is it because it was a point file and you can't see them?
What do the zones represent?
It is hard to picture an attribute represented by an integer as having 700,000 classes
It is a step in a model that was build with ArcInfo that does not seem to be accepted in ArcGIS Desktop. The expand step follows a Region Group function on a raster to assign a unique ID to each contiguous raster area. The expand step, I believe is to remove small gaps between region groups. The map algebra expression in the old model is:
expand(wetrg, 1, table, %Workspace%\wetrg.vat)
Where wetrg is the region group output raster from the previous step. The workspace has been specified in the environment settings.
Good plan! You didn't mention you were expanding into NoData areas. If that's the case Euclidean Allocation is definitely what you needed. Either that or Nibble which uses a mask to select areas to be filled.
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.