<?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 Re: Arcade: Editing M-values not treated as change to geometry in ArcGIS Pro Questions</title>
    <link>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1153917#M52805</link>
    <description>&lt;P&gt;Interesting find, the API for &lt;A href="https://developers.arcgis.com/arcade/function-reference/geometry_functions/#equals" target="_self"&gt;Equals()&lt;/A&gt; says&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Indicates if two geometries are equal, or geographically equivalent given the spatial reference and tolerance of the data&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;This in my mind agrees with your findings that the Equals() function does not take into account M values.&lt;/P&gt;&lt;P&gt;I'm happy with that as M could represent anything: distance, time, number of donuts...&lt;/P&gt;&lt;P&gt;Using the Text() function I guess is converting the geometry object into a string representation and that includes the M value so making your string comparison approach work.&lt;/P&gt;</description>
    <pubDate>Tue, 15 Mar 2022 17:20:50 GMT</pubDate>
    <dc:creator>DuncanHornby</dc:creator>
    <dc:date>2022-03-15T17:20:50Z</dc:date>
    <item>
      <title>Arcade: Editing M-values not treated as change to geometry</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1153691#M52776</link>
      <description>&lt;P&gt;ArcGIS Pro 2.9:&lt;/P&gt;&lt;P&gt;I have a &lt;U&gt;Arcade&amp;nbsp;calculation attribute rule&lt;/U&gt; that checks if the geometry of a feature was changed during an edit:&lt;/P&gt;&lt;PRE&gt;if (&lt;FONT color="#0000FF"&gt;Equals(Geometry($feature), Geometry($originalfeature))&lt;/FONT&gt;) { 
    console("geometry changed = no");
    return {"result": {"attributes": {"geometry_changed": 'no' }}}
} else {
    console("geometry changed = yes")
    return {"result": {"attributes": {"geometry_changed": 'yes' }}}
}  &lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;The intent is: If the geometry was changed, then it sets a &lt;FONT face="courier new,courier" color="#0000FF"&gt;geometry_changed&lt;/FONT&gt; field to "yes". If not, it sets the field to "no".&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;The attribute rule works as expected in &lt;EM&gt;most&lt;/EM&gt; cases. For example, in the Edit Vertices window, if I manually change an X or Y coordinate using the keyboard, the field will be flagged as "yes", as expected.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bud_1-1647329756592.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/36338i56BD84104B3D280D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bud_1-1647329756592.png" alt="Bud_1-1647329756592.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bud_2-1647329774141.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/36339iE4A3D920FCF32D9A/image-size/large?v=v2&amp;amp;px=999" role="button" title="Bud_2-1647329774141.png" alt="Bud_2-1647329774141.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;However, if I manually change the &lt;STRONG&gt;M-value&lt;/STRONG&gt; in the Edit Vertices window using the keyboard, the field will be flagged as "no", which is &lt;STRONG&gt;not&lt;/STRONG&gt; expected.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bud_8-1647330481957.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/36345iF2F03AC51338C135/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bud_8-1647330481957.png" alt="Bud_8-1647330481957.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The same thing happens when I use the Drop Measures tool:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bud_6-1647330088835.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/36343i8024332D50F1D44E/image-size/large?v=v2&amp;amp;px=999" role="button" title="Bud_6-1647330088835.png" alt="Bud_6-1647330088835.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bud_7-1647330135904.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/36344i8BAA03EE7DF99F97/image-size/large?v=v2&amp;amp;px=999" role="button" title="Bud_7-1647330135904.png" alt="Bud_7-1647330135904.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Question:&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Why don't M-value edits get flagged as a change to the geometry?&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Mar 2022 08:48:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1153691#M52776</guid>
      <dc:creator>Bud</dc:creator>
      <dc:date>2022-03-15T08:48:54Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade: Editing M-values not treated as change to geometry</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1153698#M52778</link>
      <description>&lt;P&gt;I wonder if the &lt;FONT face="courier new,courier" color="#0000FF"&gt;Equals()&lt;/FONT&gt; function is the culprit.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;After some testing, I found the following works (I removed the &lt;FONT face="courier new,courier" color="#0000FF"&gt;Equals()&lt;/FONT&gt; function and added the &lt;FONT color="#0000FF"&gt;Text()&lt;/FONT&gt; function):&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; ( &lt;/SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;Text(&lt;/STRONG&gt;&lt;/FONT&gt;&lt;SPAN&gt;Geometry&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;$feature&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;) == &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;Text(&lt;/STRONG&gt;&lt;/FONT&gt;&lt;SPAN&gt;Geometry&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;$originalfeature&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/FONT&gt; ) { &lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;I also tried doing it &lt;U&gt;&lt;EM&gt;without&lt;/EM&gt;&lt;/U&gt; the Text() function:&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; ( &lt;/SPAN&gt;&lt;SPAN&gt;Geometry&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;$feature&lt;/SPAN&gt;&lt;SPAN&gt;) == &lt;/SPAN&gt;&lt;SPAN&gt;Geometry&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;$originalfeature&lt;/SPAN&gt;&lt;SPAN&gt;) ) {&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV&gt;&lt;SPAN&gt;But that failed in a different way. It flagged &lt;U&gt;&lt;EM&gt;all&lt;/EM&gt;&lt;/U&gt; edits, even if the edit was just a change to an attribute (not a change to the geometry). That's &lt;U&gt;&lt;EM&gt;not&lt;/EM&gt;&lt;/U&gt; what we want.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;Follow-up question:&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;If the&amp;nbsp;&lt;FONT face="courier new,courier" color="#0000FF"&gt;Equals()&lt;/FONT&gt;&amp;nbsp;function is the problem, I wonder what the root cause is? Is it only comparing the X/Y of the geometries, not the M-values?&lt;BR /&gt;Is that a bug?&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 16 Mar 2022 01:56:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1153698#M52778</guid>
      <dc:creator>Bud</dc:creator>
      <dc:date>2022-03-16T01:56:12Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade: Editing M-values not treated as change to geometry</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1153917#M52805</link>
      <description>&lt;P&gt;Interesting find, the API for &lt;A href="https://developers.arcgis.com/arcade/function-reference/geometry_functions/#equals" target="_self"&gt;Equals()&lt;/A&gt; says&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Indicates if two geometries are equal, or geographically equivalent given the spatial reference and tolerance of the data&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;This in my mind agrees with your findings that the Equals() function does not take into account M values.&lt;/P&gt;&lt;P&gt;I'm happy with that as M could represent anything: distance, time, number of donuts...&lt;/P&gt;&lt;P&gt;Using the Text() function I guess is converting the geometry object into a string representation and that includes the M value so making your string comparison approach work.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Mar 2022 17:20:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1153917#M52805</guid>
      <dc:creator>DuncanHornby</dc:creator>
      <dc:date>2022-03-15T17:20:50Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade: Editing M-values not treated as change to geometry</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1157720#M53249</link>
      <description>&lt;P&gt;Related ideas:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/t5/arcgis-pro-ideas/arcade-docs-equals-function-doesn-t-consider-m/idi-p/1154136" target="_self"&gt;Arcade&amp;nbsp;docs: Equals() function doesn’t consider M-values&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;&lt;A href="https://community.esri.com/t5/arcgis-pro-ideas/arcade-function-equalsmz/idi-p/1154265" target="_self"&gt;Arcade function: EqualsMZ()&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P data-unlink="true"&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 25 Mar 2022 10:06:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1157720#M53249</guid>
      <dc:creator>Bud</dc:creator>
      <dc:date>2022-03-25T10:06:53Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade: Editing M-values not treated as change to geometry</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1274290#M67473</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;P&gt;Esri Canada Case #03305078 -&amp;nbsp;Arcade Equals() function doesn’t consider M-values&lt;/P&gt;&lt;P&gt;Looking at the &lt;A href="https://developers.arcgis.com/arcade/function-reference/geometry_functions/#equals" target="_self"&gt;Equals&lt;/A&gt; documentation&lt;BR /&gt;&lt;EM&gt;Indicates if two geometries are equal, or geographically equivalent given the spatial reference and tolerance of the data. The two input geometries don't have to be clones to be considered equal.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;The two geometries don't have to be identical. They're considered equal even if they're within the same tolerance, with X and Y values not identical.&lt;/P&gt;&lt;P&gt;If you're looking to check if geometry has changed, compare all the geometry details manually.&lt;BR /&gt;You can access the XYZM values of a &lt;A href="http://point" target="_self"&gt;point&lt;/A&gt;.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 31 Mar 2023 20:44:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1274290#M67473</guid>
      <dc:creator>Bud</dc:creator>
      <dc:date>2023-03-31T20:44:33Z</dc:date>
    </item>
  </channel>
</rss>

