<?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: Topology parents  java.lang.NoSuchFieldError: m_pFC issue in Java Maps SDK Questions</title>
    <link>https://community.esri.com/t5/java-maps-sdk-questions/topology-parents-nbsp-java-lang-nosuchfielderror-m/m-p/633923#M1944</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok, haven't solved this, but worked around it by using the topology elements to select the intersecting elements in the layers using a SpatialFilter applied to each layer in turn, e.g. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-family:Courier New;"&gt;spatialFilter.setGeometryByRef((Point) iTopologyNode.getGeometry());&lt;BR /&gt;spatialFilter.setSpatialRel(esriSpatialRelEnum.esriSpatialRelIntersects);&lt;BR /&gt;spatialFilter.setGeometryField(layerFeatureClassProxy.getShapeFieldName());&lt;BR /&gt;featureCursor = new FeatureCursor(iGeoFeaturelayer.search(spatialFilter, false));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Would still be interested to know about the above though, as I'm bound to need it sooner or later. On the face of it, it looks unpleasant (&lt;/SPAN&gt;&lt;A href="http://docs.oracle.com/javase/7/docs/api/java/lang/NoSuchFieldError.html"&gt;http://docs.oracle.com/javase/7/docs/api/java/lang/NoSuchFieldError.html&lt;/A&gt;&lt;SPAN&gt;), but I may be missing something obvious.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 29 May 2012 14:42:24 GMT</pubDate>
    <dc:creator>AndrewEvans</dc:creator>
    <dc:date>2012-05-29T14:42:24Z</dc:date>
    <item>
      <title>Topology parents  java.lang.NoSuchFieldError: m_pFC issue</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/topology-parents-nbsp-java-lang-nosuchfielderror-m/m-p/633922#M1943</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; I was wonder if anyone else had had a problem with getting topology parent objects and knew what this issue was. I'm trying to access topology edge parents within an add-in, and currently getting the following error:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;"&gt;java.lang.NoSuchFieldError: m_pFC&lt;BR /&gt; at com.esri.arcgis.interop.NativeObjRef.nativeVtblInvokeNative(Native method)&lt;BR /&gt; at com.esri.arcgis.interop.NativeObjRef.nativeVtblInvoke(Unknown Source)&lt;BR /&gt; at com.esri.arcgis.interop.Dispatch.vtblInvoke(Unknown Source)&lt;BR /&gt; at com.esri.arcgis.geodatabase.IEnumTopologyParentProxy.next(Unknown Source)&lt;BR /&gt; at... [my line (see below)]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; I noticed someone else had the same issue (without an answer) on the old forums in 2005.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Details:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; I have a topology layer set up with two feature classes associated with it, and these are turned on. All of these are in a Feature Dataset in a Personal Geodatabase.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; All three are in as Layers, each appearing in the ToC, un-nested (I only mention this, because I have seen the same thing nested somehow into the topology layer on other machines but can't replicated it on mine). Both feature class layers contain relatively simple polyline features.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; I am using the following code in the add-in. I note that its an add-in, as I've had no luck getting some of the more standard topology code people use working in that environment. I've left out the try-catches and simplified it a bit for clarity.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Any ideas? Everything I've seen in the C#/VB examples suggests it should work. Am I missing something obvious? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Many thanks, Andy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-family:courier new;"&gt;// Initialise various bits - meat of code in section beyond&lt;BR /&gt; &lt;BR /&gt;mxDoc = (IMxDocument)app.getDocument();&lt;BR /&gt;map = mxDoc.getFocusMap();&lt;BR /&gt;&lt;BR /&gt;TopologyLayer topologyLayer = null;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;for (int i=0; i &amp;lt; map.getLayerCount(); i++) {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ILayer iLayer =&amp;nbsp; map.getLayer(i); // Works: can get name.&lt;BR /&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; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iLayer instanceof TopologyLayer) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; topologyLayer = (TopologyLayer) map.getLayer(i); // Works: can get name.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get other layers as IGeoFeatureLayers - works fine. &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;// Code to get the parents&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;ITopology it = topologyLayer.getTopology();&lt;BR /&gt;ITopologyGraph iTopologyGraph = (ITopologyGraph) it.getCache();&lt;BR /&gt; &lt;BR /&gt;IEnvelope ie = mxDoc.getActiveView().getExtent(); // Run with whole map visible&lt;BR /&gt;iTopologyGraph.build(ie, true); // Can check extents fine&lt;BR /&gt;IEnvelope dirtyE = it.validateTopology(ie); // Returns null, which I think it should.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;IEnumTopologyEdge iEnumTopologyEdges = iTopologyGraph.getEdges(); // Have also tried with nodes&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;iEnumTopologyEdges.reset();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;ITopologyEdge ite = iEnumTopologyEdges.next(); // Can print the length of ite's associated geometry&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;IEnumTopologyParent iEnumTopologyParent = (IEnumTopologyParent)ite.getParents();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Have also tried getting the parents by IGeoFeature layer object selection, and from the topologyGraphy.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // I can select objects in the topology layer by objects in the IGeoFeature layers, and successfully &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // print their lengths, so I know they are tied together somehow. &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;tagesriTopologyParent pp = iEnumTopologyParent.next(); // Error generated here. Also generates error if I try to &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // just directly read the attributes without the variable label, just using .next().&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 26 May 2012 15:47:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/topology-parents-nbsp-java-lang-nosuchfielderror-m/m-p/633922#M1943</guid>
      <dc:creator>AndrewEvans</dc:creator>
      <dc:date>2012-05-26T15:47:26Z</dc:date>
    </item>
    <item>
      <title>Re: Topology parents  java.lang.NoSuchFieldError: m_pFC issue</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/topology-parents-nbsp-java-lang-nosuchfielderror-m/m-p/633923#M1944</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok, haven't solved this, but worked around it by using the topology elements to select the intersecting elements in the layers using a SpatialFilter applied to each layer in turn, e.g. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-family:Courier New;"&gt;spatialFilter.setGeometryByRef((Point) iTopologyNode.getGeometry());&lt;BR /&gt;spatialFilter.setSpatialRel(esriSpatialRelEnum.esriSpatialRelIntersects);&lt;BR /&gt;spatialFilter.setGeometryField(layerFeatureClassProxy.getShapeFieldName());&lt;BR /&gt;featureCursor = new FeatureCursor(iGeoFeaturelayer.search(spatialFilter, false));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Would still be interested to know about the above though, as I'm bound to need it sooner or later. On the face of it, it looks unpleasant (&lt;/SPAN&gt;&lt;A href="http://docs.oracle.com/javase/7/docs/api/java/lang/NoSuchFieldError.html"&gt;http://docs.oracle.com/javase/7/docs/api/java/lang/NoSuchFieldError.html&lt;/A&gt;&lt;SPAN&gt;), but I may be missing something obvious.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 May 2012 14:42:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/topology-parents-nbsp-java-lang-nosuchfielderror-m/m-p/633923#M1944</guid>
      <dc:creator>AndrewEvans</dc:creator>
      <dc:date>2012-05-29T14:42:24Z</dc:date>
    </item>
  </channel>
</rss>

