<?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: Update feature attributes only when not Empty (not NaN) in ArcGIS GeoEvent Server Questions</title>
    <link>https://community.esri.com/t5/arcgis-geoevent-server-questions/update-feature-attributes-only-when-not-empty-not/m-p/1384324#M4137</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have a similar question. When updating a feature in a feature service, I only want the fields that are actually set by the input event to be updated.&lt;/P&gt;&lt;P&gt;GeoEvent, however, seems to assign null values to all fields in the GeoEvent definition that are not set by the input event. Which leads to fields missing in the input event being updated/overwritten with null values on the feature service.&lt;/P&gt;&lt;P&gt;Is there a way to avoid this, i.e. make GeoEvent preserve field values that already exist that is not changed by the input event?&lt;/P&gt;&lt;P&gt;I know the Field Enricher can be used to get values from existing features, but seems like this require a static definition of which fields to grab.&lt;/P&gt;&lt;P&gt;The best option so far seems to be using Add Features as output and then re-process/merge the events somewhere else. But I still hope I am missing something, as this feels like pretty basic functionality.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Emil&lt;/P&gt;</description>
    <pubDate>Tue, 20 Feb 2024 14:04:26 GMT</pubDate>
    <dc:creator>EmilSolbakken</dc:creator>
    <dc:date>2024-02-20T14:04:26Z</dc:date>
    <item>
      <title>Update feature attributes only when not Empty (not NaN)</title>
      <link>https://community.esri.com/t5/arcgis-geoevent-server-questions/update-feature-attributes-only-when-not-empty-not/m-p/413000#M1795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello community,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I already have a workaround for my problem, but I'm curious if there is a more elegant way to handle it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I receive messages on a UDP port as comma &lt;SPAN class=""&gt;comma-separated values (25 fields). These are never complete. Most of the time I receive geometric information only (ID, coordinates, speed). Occasionally I receive additional information for my IDs (ID, name, measurements, destination). &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;## Geometrics
#ID, Ycoord, Xcoord, speed, ..., time
000123,9.1543,55.7552,235.89,,,,,,,,,,,,,,,,,,,,05/31/2019, 08:38:10
000123,9.1544,55.7553,250.30,,,,,,,,,,,,,,,,,,,,05/31/2019, 08:38:15

## Additional Information
#ID, ... , name, ... measurements ..., destination, time
000123,,,,,,,,,,Vehicle1,74,,,,8,1,6,5,3,0,6.40,Destination2,05/31/2019, 08:38:00
000123,,,,,,,,,,,74,108,12,10,8,1,,,,,,,05/31/2019, 08:38:30 ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;The geometrics are &lt;EM&gt;filtered&lt;/EM&gt; from the rest in GeoEvent Server. The idea is to later &lt;EM&gt;enrich&lt;/EM&gt; it with the additional information. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Normally, I would &lt;EM&gt;Update a feature layer &lt;/EM&gt;with the additional information and use the hosted feature layer to &lt;EM&gt;enrich&lt;/EM&gt; the geometric data. However, as you can see the data contains empty/nan values, which leads to crucial information (Name, Destination) occasionally being unavailable when updating+enriching.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;How can I update a feature layer while ignoring single empty/nan attributes?&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;I'm sincerely thankful to any suggestions.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;kind regards, Markus&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;PS:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;For now, I'm writing everything to csv, and using a python script to group the data, export it to csv/json,and load it to GeoEvent Server. Which seems to me like a unnecessary loop.&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;df2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; df2&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;groupby&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'ID'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; as_index&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token boolean"&gt;False&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;last&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;The function ignores NaN-values by default. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:44:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-geoevent-server-questions/update-feature-attributes-only-when-not-empty-not/m-p/413000#M1795</guid>
      <dc:creator>MarkusBenninghoff</dc:creator>
      <dc:date>2021-12-11T18:44:34Z</dc:date>
    </item>
    <item>
      <title>Re: Update feature attributes only when not Empty (not NaN)</title>
      <link>https://community.esri.com/t5/arcgis-geoevent-server-questions/update-feature-attributes-only-when-not-empty-not/m-p/1384324#M4137</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have a similar question. When updating a feature in a feature service, I only want the fields that are actually set by the input event to be updated.&lt;/P&gt;&lt;P&gt;GeoEvent, however, seems to assign null values to all fields in the GeoEvent definition that are not set by the input event. Which leads to fields missing in the input event being updated/overwritten with null values on the feature service.&lt;/P&gt;&lt;P&gt;Is there a way to avoid this, i.e. make GeoEvent preserve field values that already exist that is not changed by the input event?&lt;/P&gt;&lt;P&gt;I know the Field Enricher can be used to get values from existing features, but seems like this require a static definition of which fields to grab.&lt;/P&gt;&lt;P&gt;The best option so far seems to be using Add Features as output and then re-process/merge the events somewhere else. But I still hope I am missing something, as this feels like pretty basic functionality.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Emil&lt;/P&gt;</description>
      <pubDate>Tue, 20 Feb 2024 14:04:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-geoevent-server-questions/update-feature-attributes-only-when-not-empty-not/m-p/1384324#M4137</guid>
      <dc:creator>EmilSolbakken</dc:creator>
      <dc:date>2024-02-20T14:04:26Z</dc:date>
    </item>
  </channel>
</rss>

