<?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: IBufferConstruction.ConstructBuffers doesn't always return a result in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/ibufferconstruction-constructbuffers-doesn-t/m-p/469752#M12736</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;It was definitely a problem of memory consumption. This loop for searching surrounding points&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;foreach(7771 points)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; IFeatureCursor = featureClass.Search(spatialFilter, False)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; .... do something with the found features ....&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; Marshal.ReleaseComObject(featureCursor)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;was too much; every other operation using some memory caused a 'Out of memory'-error.&lt;/P&gt;&lt;P&gt;I finally could solve it by using the NetTopologySuite and creating a STRTree.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pieter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 11 Dec 2015 10:33:09 GMT</pubDate>
    <dc:creator>PieterLinks</dc:creator>
    <dc:date>2015-12-11T10:33:09Z</dc:date>
    <item>
      <title>IBufferConstruction.ConstructBuffers doesn't always return a result</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/ibufferconstruction-constructbuffers-doesn-t/m-p/469749#M12733</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;In my program I've created a custom class 'PtClass' which contains an IPoint named 'Pt' and a collection of 'PtClass' named 'Surround'. This class can be written to and restored from XML.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I read several point features from a featureclass 'FC' with a feature cursor.&lt;/P&gt;&lt;P&gt;For every point feature I create an instance of 'PtClass', use the point feature coordinates to create 'Pt' - to be sure there is no link between the feature and the instance - and store the instance to a collection 'PtCollection'.&lt;/P&gt;&lt;P&gt;When finished, I loop every item in 'PtCollection' to search surrounding point features in 'FC' with a spatial cursor, find the corresponding items in 'PtCollection' and put them in 'Surround'.&lt;/P&gt;&lt;P&gt;Finally this collection is stored to XML.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I need some overlapping buffers around certain groups of 'PtClass' points (pointList is a List of 'Pt' from 'PtCollection'):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; BufferCollection(&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #2b91af;"&gt;List&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IPoint&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;&amp;gt; pointList, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;ISpatialReference&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; spatialReference, &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&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;&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; double&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; bufferDistance, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; explodeBuffers, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; unionOverlapBuffers)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryBag&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; bufferBag = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;GeometryBag&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;() &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryBag&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferBag.SpatialReference = spatialReference;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; bufferCollection = bufferBag &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: blue;"&gt;object&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; missing = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #2b91af;"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;.Missing;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: blue;"&gt;try&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: green;"&gt;// make a MultiPoint geometry from the collection IPoint's&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IMultipoint&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; mp = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;Multipoint&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;() &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IMultipoint&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mp.SpatialReference = spatialReference;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; multiPoint = mp &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: blue;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IPoint&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; point &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;in&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; pointList)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; multiPoint.AddGeometry(point, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;ref&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; missing, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;ref&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; missing);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: green;"&gt;// add the MultiPoint to a geometrybag&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryBag&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; bag = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;GeometryBag&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;() &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryBag&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bag.SpatialReference = spatialReference;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; obstacleBag = bag &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometryCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obstacleBag.AddGeometry((&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IGeometry&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;)multiPoint, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;ref&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; missing, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;ref&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; missing);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: green;"&gt;// create an enumerator&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IEnumGeometry&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; enumGeometry = obstacleBag &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IEnumGeometry&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: green;"&gt;// build buffers around the points&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IBufferConstruction&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; bufferConstruction = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;BufferConstruction&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;();&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IBufferConstructionProperties&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; bufferConstructionProperties = &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #2baaaf;"&gt;IBufferConstructionProperties&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;)bufferConstruction;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferConstructionProperties.ExplodeBuffers = explodeBuffers;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferConstructionProperties.UnionOverlappingBuffers = unionOverlapBuffers;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferConstruction.ConstructBuffers(enumGeometry, bufferDistance, bufferCollection);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: blue;"&gt;catch&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #2b91af;"&gt;Exception&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; ex)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: green; font-size: 10pt; font-family: courier new,courier;"&gt;// do something with the error&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10pt; color: blue;"&gt;return&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; bufferCollection;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; background: #FAFAFA;"&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier; color: black;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But sometimes it returns an empty collection, unless when I start the program anew, skip the 'FC' search and create 'PtCollection' from XML.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the featurecursors are non-recycling and are released with&lt;SPAN style="color: #303030;"&gt; Marshal.ReleaseComObject immediately afterwards. I'm using Visual Studio 2010 and ArcGIS 10.2.2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does it have anything to do with memory usage?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Dec 2015 14:25:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/ibufferconstruction-constructbuffers-doesn-t/m-p/469749#M12733</guid>
      <dc:creator>PieterLinks</dc:creator>
      <dc:date>2015-12-03T14:25:13Z</dc:date>
    </item>
    <item>
      <title>Re: IBufferConstruction.ConstructBuffers doesn't always return a result</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/ibufferconstruction-constructbuffers-doesn-t/m-p/469750#M12734</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Are the points always the same coordinate system, ie. are you mixing lat/long with UTM for example?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Dec 2015 21:30:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/ibufferconstruction-constructbuffers-doesn-t/m-p/469750#M12734</guid>
      <dc:creator>DuncanHornby</dc:creator>
      <dc:date>2015-12-03T21:30:23Z</dc:date>
    </item>
    <item>
      <title>Re: IBufferConstruction.ConstructBuffers doesn't always return a result</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/ibufferconstruction-constructbuffers-doesn-t/m-p/469751#M12735</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, the points are in the same coordinate system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I noticed the empty IGeometryCollection my featureclass contained 7771 point features, of which 4353 were selected and stored as 'PtClass' into the 'PtCollection'. The spatial search for surrounding points included all points in the featureclass, but the ones whose references were not found in the 'PtCollection' were skipped.&lt;/P&gt;&lt;P&gt;The result of BufferCollection(...) was an empty collection, but a second program run ('PtCollection' loaded from XML) returned 335 buffers (where exploded = true &amp;amp; unionoverlap = true).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've noiticed with Memory Profiler, when spatial searching, a grow of used instances and bytes, and at about 2/3 of the time a spectacular grow of Generation #0 GCs, at the end of the search &lt;SPAN style="color: #2873ee;"&gt;162k&lt;/SPAN&gt; instances, &lt;SPAN style="color: #2873ee;"&gt;10M9&lt;/SPAN&gt; bytes, &lt;SPAN style="color: #2873ee;"&gt;47&lt;/SPAN&gt; Gen #0 (upper line), &lt;SPAN style="color: #2873ee;"&gt;8&lt;/SPAN&gt; Gen #1 (middle line) and &lt;SPAN style="color: #2873ee;"&gt;1&lt;/SPAN&gt; Gen #2 (lower line).&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="151805" alt="Memory Profiler GCs.jpg" class="image-1 jive-image" src="/legacyfs/online/151805_Memory Profiler GCs.jpg" style="width: 620px; height: 378px;" /&gt;&lt;/P&gt;&lt;P&gt;A second test with a featureclass with 4050 points from which 2278 were selected, gave me in &lt;SPAN style="color: #db2362;"&gt;one run&lt;/SPAN&gt; a collection of 142 buffers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind greetings,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pieter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Dec 2015 09:27:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/ibufferconstruction-constructbuffers-doesn-t/m-p/469751#M12735</guid>
      <dc:creator>PieterLinks</dc:creator>
      <dc:date>2015-12-04T09:27:32Z</dc:date>
    </item>
    <item>
      <title>Re: IBufferConstruction.ConstructBuffers doesn't always return a result</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/ibufferconstruction-constructbuffers-doesn-t/m-p/469752#M12736</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;It was definitely a problem of memory consumption. This loop for searching surrounding points&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;foreach(7771 points)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; IFeatureCursor = featureClass.Search(spatialFilter, False)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; .... do something with the found features ....&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; Marshal.ReleaseComObject(featureCursor)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;was too much; every other operation using some memory caused a 'Out of memory'-error.&lt;/P&gt;&lt;P&gt;I finally could solve it by using the NetTopologySuite and creating a STRTree.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pieter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Dec 2015 10:33:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/ibufferconstruction-constructbuffers-doesn-t/m-p/469752#M12736</guid>
      <dc:creator>PieterLinks</dc:creator>
      <dc:date>2015-12-11T10:33:09Z</dc:date>
    </item>
  </channel>
</rss>

