<?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: Edit Vertices/Draw: If polygon lines cross, deleted shape, no error in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474720#M44047</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks so much - I'll add that code in today&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 10 Feb 2016 16:10:48 GMT</pubDate>
    <dc:creator>Anonymous User</dc:creator>
    <dc:date>2016-02-10T16:10:48Z</dc:date>
    <item>
      <title>Edit Vertices/Draw: If polygon lines cross, deleted shape, no error</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474718#M44045</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;Someone recently had the issue that when editing a FeatureLayer in my web app it wouldn't save. We found that when drawing a polygon if the lines cross (for instance, drawing a narrow polygon and the sides accidentally cross/touch), the shape deleted itself. The same goes for editing vertices -- if the user accidentally pulled a vertex such that the polygon sides crossed, the shape deleted itself.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I followed this &lt;A href="https://developers.arcgis.com/javascript/jssamples/ed_feature_creation.html" style="text-decoration: underline;" rel="nofollow noopener noreferrer" target="_blank"&gt;sample&lt;/A&gt; relatively closely but in the sample, there is no issue! I somehow broke it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In ArcMap, looking at the source dataset, the features drawn with crossed lines were listed in the attribute table with the Shape.STArea() and Shape.STLength() attributes as '0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My issue is this: in my own code no error was thrown. The applyEdits function runs successfully and creates the objectid. I don't use the TemplatePicker dijit. However I do use the Draw toolbar and take that graphic to applyEdits - I can see the graphic in the console.log just fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any thoughts on where to start debugging my work? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;function finishDraw(event, layer) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log('finishDraw', event);&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; var newAttributes = templateFields(layer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(newAttributes);&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; var newGraphic = new Graphic(event.geometry, null, newAttributes);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var finishDeferred = layer.applyEdits([newGraphic], null, null);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return finishDeferred.promise;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

function &lt;SPAN style="color: rgba(0, 0, 0, 0); font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"&gt;templateFields &lt;/SPAN&gt;(layer) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fieldObj = {};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arrayUtils.forEach(layer.fields, function(atts) {
&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 (atts.name.search('OBJECTID') == -1) {
&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; if (atts.name.search('Shape') == -1) {
&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;&amp;nbsp; fieldObj[atts.name] = null;
&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;&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;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return fieldObj;
&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 20:59:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474718#M44045</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-11T20:59:05Z</dc:date>
    </item>
    <item>
      <title>Re: Edit Vertices/Draw: If polygon lines cross, deleted shape, no error</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474719#M44046</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sarah,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You should check if the polygon is self-intersecting using the "isselfintersecting" method of polygon.&lt;/P&gt;&lt;P&gt;&lt;A href="https://developers.arcgis.com/javascript/jsapi/polygon-amd.html#isselfintersecting" title="https://developers.arcgis.com/javascript/jsapi/polygon-amd.html#isselfintersecting"&gt;Polygon | API Reference | ArcGIS API for JavaScript | isselfintersecting&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and if it is then use the GeometryService Simplify:&lt;/P&gt;&lt;P&gt;&lt;A href="https://developers.arcgis.com/javascript/jsapi/geometryservice-amd.html#simplify" title="https://developers.arcgis.com/javascript/jsapi/geometryservice-amd.html#simplify"&gt;GeometryService | API Reference | ArcGIS API for JavaScript | Simplify&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Feb 2016 01:18:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474719#M44046</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2016-02-10T01:18:41Z</dc:date>
    </item>
    <item>
      <title>Re: Edit Vertices/Draw: If polygon lines cross, deleted shape, no error</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474720#M44047</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks so much - I'll add that code in today&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Feb 2016 16:10:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474720#M44047</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2016-02-10T16:10:48Z</dc:date>
    </item>
    <item>
      <title>Re: Edit Vertices/Draw: If polygon lines cross, deleted shape, no error</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474721#M44048</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Robert, do you have any samples/template that utilizes&amp;nbsp;this 'selfintersecting' method? I am trying to implement while&amp;nbsp;editing the feature layer. Thanks.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jan 2017 19:19:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474721#M44048</guid>
      <dc:creator>KushendraShah2</dc:creator>
      <dc:date>2017-01-16T19:19:55Z</dc:date>
    </item>
    <item>
      <title>Re: Edit Vertices/Draw: If polygon lines cross, deleted shape, no error</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474722#M44049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Kushendra,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;No. But it is a simple method you would call after drawing a polygon to know if you need to simplify the geometry:&lt;/P&gt;&lt;PRE class="language-javascript line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; isIntersecting &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; polygon&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;isSelfIntersecting&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;polygon&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2017 14:21:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/edit-vertices-draw-if-polygon-lines-cross-deleted/m-p/474722#M44049</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2017-01-17T14:21:23Z</dc:date>
    </item>
  </channel>
</rss>

