<?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: Updating rows in RowSet using UpdateCursor in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/updating-rows-in-rowset-using-updatecursor/m-p/722073#M55888</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;I have never done this before but I am guessing you could use the applyEdits end point of a Feature Service.&lt;/P&gt;&lt;P&gt;&lt;A href="http://resources.arcgis.com/en/help/rest/apiref/fsserviceedits.html" title="http://resources.arcgis.com/en/help/rest/apiref/fsserviceedits.html"&gt;Apply Edits (Operation)&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;May I bring this python module to your attention:&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/NERC-CEH/arcapi/blob/feature-arrest/arrest.py" title="https://github.com/NERC-CEH/arcapi/blob/feature-arrest/arrest.py"&gt;arcapi/arrest.py at feature-arrest · NERC-CEH/arcapi · GitHub&lt;/A&gt; &lt;/P&gt;&lt;P&gt;It is part of arcapi package. although editing has not been implemented, the module makes it easier to interact with the REST end points.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Look at some example at the bottom. Do you have any live feature service we could try this update on?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Filip.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 29 Aug 2014 15:32:25 GMT</pubDate>
    <dc:creator>FilipKrál</dc:creator>
    <dc:date>2014-08-29T15:32:25Z</dc:date>
    <item>
      <title>Updating rows in RowSet using UpdateCursor</title>
      <link>https://community.esri.com/t5/python-questions/updating-rows-in-rowset-using-updatecursor/m-p/722072#M55887</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm new to python, so bear with me &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;I am fetching features from a featureclass from the rest endpoint&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query = "?where={}&amp;amp;outFields=*&amp;amp;returnGeometry=false&amp;amp;f=json&amp;amp;token={}".format(where, self.token)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fsURL = self.protocol + self.serverName + ':' + self.serverPort + url + query&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(fsURL)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fs = arcpy.RecordSet()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fs.load(fsURL)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = arcpy.UpdateCursor(fs)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I can iterate over these rows like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor:&lt;/P&gt;&lt;P&gt;&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; print('Updating ' + key + ' to : ' + json.dumps(attributeDict[key], ensure_ascii=False))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, I've not been able to see how I can update data on the returned rows.&lt;/P&gt;&lt;P&gt;Since I am fetching data through http I probably just have a local in-memory copy of these features.&lt;/P&gt;&lt;P&gt;Is there any "object oriented" way using arcpy, to update features through the rest endpoint?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please advise.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lars&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Aug 2014 13:42:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-rows-in-rowset-using-updatecursor/m-p/722072#M55887</guid>
      <dc:creator>larsanundskås</dc:creator>
      <dc:date>2014-08-29T13:42:54Z</dc:date>
    </item>
    <item>
      <title>Re: Updating rows in RowSet using UpdateCursor</title>
      <link>https://community.esri.com/t5/python-questions/updating-rows-in-rowset-using-updatecursor/m-p/722073#M55888</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;I have never done this before but I am guessing you could use the applyEdits end point of a Feature Service.&lt;/P&gt;&lt;P&gt;&lt;A href="http://resources.arcgis.com/en/help/rest/apiref/fsserviceedits.html" title="http://resources.arcgis.com/en/help/rest/apiref/fsserviceedits.html"&gt;Apply Edits (Operation)&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;May I bring this python module to your attention:&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/NERC-CEH/arcapi/blob/feature-arrest/arrest.py" title="https://github.com/NERC-CEH/arcapi/blob/feature-arrest/arrest.py"&gt;arcapi/arrest.py at feature-arrest · NERC-CEH/arcapi · GitHub&lt;/A&gt; &lt;/P&gt;&lt;P&gt;It is part of arcapi package. although editing has not been implemented, the module makes it easier to interact with the REST end points.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Look at some example at the bottom. Do you have any live feature service we could try this update on?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Filip.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Aug 2014 15:32:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-rows-in-rowset-using-updatecursor/m-p/722073#M55888</guid>
      <dc:creator>FilipKrál</dc:creator>
      <dc:date>2014-08-29T15:32:25Z</dc:date>
    </item>
    <item>
      <title>Re: Updating rows in RowSet using UpdateCursor</title>
      <link>https://community.esri.com/t5/python-questions/updating-rows-in-rowset-using-updatecursor/m-p/722074#M55889</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Filip, It's not a public service.I will test the apply edits endpoint and post back my approach and results! &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;have a nice weekend,&lt;/P&gt;&lt;P&gt;Lars&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Aug 2014 16:05:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-rows-in-rowset-using-updatecursor/m-p/722074#M55889</guid>
      <dc:creator>larsanundskås</dc:creator>
      <dc:date>2014-08-29T16:05:13Z</dc:date>
    </item>
    <item>
      <title>Re: Updating rows in RowSet using UpdateCursor</title>
      <link>https://community.esri.com/t5/python-questions/updating-rows-in-rowset-using-updatecursor/m-p/722075#M55890</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Something like this did the trick using applyEdits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def writeFeatures(self, url, where, attributeDict):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query = "?where={}&amp;amp;outFields=*&amp;amp;returnGeometry=false&amp;amp;f=json&amp;amp;token={}".format(where, self.token)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fsURL = self.protocol + self.serverName + ':' + self.serverPort + url + query&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fs = arcpy.RecordSet()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fs.load(fsURL)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = arcpy.SearchCursor(fs)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print('updating ' + row.getValue('AREAID'))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; features = { 'attributes': {} }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for key in attributeDict.iterkeys():&lt;/P&gt;&lt;P&gt;&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; if attributeDict[key] != None:&lt;/P&gt;&lt;P&gt;&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; features['attributes'][key] = attributeDict[key]&lt;/P&gt;&lt;P&gt;&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; else:&lt;/P&gt;&lt;P&gt;&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; features['attributes'][key] = None&lt;/P&gt;&lt;P&gt;&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; pass&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; features['attributes']['OBJECTID'] = row.getValue('OBJECTID')&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; params = urllib.urlencode({'updates': json.dumps([features]), 'f': 'pjson', 'token': self.token})&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpConn = httplib.HTTPConnection(self.serverName, self.serverPort)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpConn.request("POST", self.applyEditsUrl, params, headers)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; response = httpConn.getresponse()&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot&amp;nbsp; Filip &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Sep 2014 13:17:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-rows-in-rowset-using-updatecursor/m-p/722075#M55890</guid>
      <dc:creator>larsanundskås</dc:creator>
      <dc:date>2014-09-01T13:17:30Z</dc:date>
    </item>
  </channel>
</rss>

