<?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: How to get Feature Classes name of File Geodatabase in Java Maps SDK Questions</title>
    <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-feature-classes-name-of-file/m-p/204920#M565</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The API doesn't contain methods to query the contents of a file-geodatabase.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The workflow we intended for use in all Runtime APIs for disconnected use is centred around the use of "packages" which you can generate from ArcMap...&amp;nbsp; however I'm always been asked about the ArcGIS Engine way of adding layers to a runtime application.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The code you have shown makes it possible to add these layers, but I'll be the first to admit this isn't particularly easy and has it's limitations (like not being able to list feature classes in a geo-database).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As I've said before I'm always intersted to hear about how developers use the API and if there are improvements we can make.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Mark&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 14 Mar 2013 10:42:27 GMT</pubDate>
    <dc:creator>MarkBaird</dc:creator>
    <dc:date>2013-03-14T10:42:27Z</dc:date>
    <item>
      <title>How to get Feature Classes name of File Geodatabase</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-feature-classes-name-of-file/m-p/204919#M564</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;From ArcGIS Runtime for Java samples "Add Raster" and "Add Shapefile",&lt;/SPAN&gt;&lt;STRONG&gt; I have developed a "Add Feature Class" method &lt;/STRONG&gt;&lt;SPAN&gt;base on File Geodatabase (user can select the .gdb folder).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for now, I have to give the name of Feature Class I want to add in my code, but &lt;/SPAN&gt;&lt;STRONG&gt;I would like to get all Feature Classes name from my File Geodatabase, so the user can select the Feature Class he wants&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;after some researches, I don't see how to do that from my WorkspaceInfo or WorkspaceInfoSet !!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;need some help !&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;my code below :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;private void addFileGdbBrowsed(final String folderPath) { &amp;nbsp;&amp;nbsp;&amp;nbsp; final String workspaceId = "" + count++; // an arbitrary unique string&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // create a local map service and enable dynamic layers &amp;nbsp;&amp;nbsp;&amp;nbsp; LocalMapService localMapService = new LocalMapService(ConstantesExample.URL_BLANK_MPK); &amp;nbsp;&amp;nbsp;&amp;nbsp; localMapService.setEnableDynamicLayers(true);&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // get dynamic workspaces from service &amp;nbsp;&amp;nbsp;&amp;nbsp; WorkspaceInfoSet workspaceInfoSet = localMapService.getDynamicWorkspaces();&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // create a workspace info via the static method according to data type &amp;nbsp;&amp;nbsp;&amp;nbsp; // e.g. file geodatabase folder connection &amp;nbsp;&amp;nbsp;&amp;nbsp; WorkspaceInfo workspaceInfo = WorkspaceInfo.CreateFileGeoDatabaseConnection(workspaceId, folderPath); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // set dynamic workspaces for our local map service &amp;nbsp;&amp;nbsp;&amp;nbsp; workspaceInfoSet.add(workspaceInfo); &amp;nbsp;&amp;nbsp;&amp;nbsp; localMapService.setDynamicWorkspaces(workspaceInfoSet);&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // now start service... &amp;nbsp;&amp;nbsp;&amp;nbsp; localMapService.start();&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // set up a local dynamic layer &amp;nbsp;&amp;nbsp;&amp;nbsp; final ArcGISDynamicMapServiceLayer localDynamicLayer = new ArcGISDynamicMapServiceLayer( &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; localMapService.getUrlMapService());&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // add the layer to the map &amp;nbsp;&amp;nbsp;&amp;nbsp; localDynamicLayer.setName("File Geodatabase"); &amp;nbsp;&amp;nbsp;&amp;nbsp; jMap.getLayers().add(localDynamicLayer);&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; localDynamicLayer.addLayerInitializeCompleteListener(new LayerInitializeCompleteListener() &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void layerInitializeComplete(LayerInitializeCompleteEvent arg0) &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; DynamicLayerInfoCollection layerInfos = localDynamicLayer.getDynamicLayerInfos(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DynamicLayerInfo layerInfo = layerInfos.get(0); &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; /* Apply a renderer for vector layers. &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Note: It is always necessary to provide a renderer, but the renderer provided does &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * not need to be valid with regard to the actual layer and geometry type, it simply &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * needs to be a valid renderer. If the renderer specified here is not appropriate for &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * the geometry type of the layer the symbology will fall back to a default &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * SimpleMarkerSymbol, SimpleLineSymbol or SimpleFillSymbol. &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; SimpleRenderer simpleRenderer = new SimpleRenderer(new SimpleLineSymbol(Color.ORANGE, 2f, SimpleLineSymbol.Style.SOLID)); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DrawingInfo drawingInfo = new DrawingInfo(simpleRenderer, 0); // Transparency = 0% &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerInfo.setDrawingInfo(drawingInfo);&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the Feature Class data source &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TableDataSource dataSource = new TableDataSource(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataSource.setWorkspaceId(workspaceId); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataSource.setDataSourceName("polbndl"); // &amp;lt;-- HERE IS MY FEATURE CLASS NAME, BUT WOULD LIKE THE USER TO SELECT IT !! &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; // Set the data source &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LayerDataSource layerDataSource = new LayerDataSource(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerDataSource.setDataSource(dataSource); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerInfo.setLayerSource(layerDataSource);&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; localDynamicLayer.refresh(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&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>Thu, 07 Mar 2013 14:56:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-feature-classes-name-of-file/m-p/204919#M564</guid>
      <dc:creator>JeremieJoalland1</dc:creator>
      <dc:date>2013-03-07T14:56:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to get Feature Classes name of File Geodatabase</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-feature-classes-name-of-file/m-p/204920#M565</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The API doesn't contain methods to query the contents of a file-geodatabase.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The workflow we intended for use in all Runtime APIs for disconnected use is centred around the use of "packages" which you can generate from ArcMap...&amp;nbsp; however I'm always been asked about the ArcGIS Engine way of adding layers to a runtime application.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The code you have shown makes it possible to add these layers, but I'll be the first to admit this isn't particularly easy and has it's limitations (like not being able to list feature classes in a geo-database).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As I've said before I'm always intersted to hear about how developers use the API and if there are improvements we can make.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Mark&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Mar 2013 10:42:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-feature-classes-name-of-file/m-p/204920#M565</guid>
      <dc:creator>MarkBaird</dc:creator>
      <dc:date>2013-03-14T10:42:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to get Feature Classes name of File Geodatabase</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-feature-classes-name-of-file/m-p/204921#M566</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;However if you are feeling like a challenge, the you could check out this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://www.esri.com/news/releases/11-2qtr/esri-file-geodatabase-api-is-now-available.html"&gt;http://www.esri.com/news/releases/11-2qtr/esri-file-geodatabase-api-is-now-available.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You could write your methods in C++ using the geodatabase API and expose it to your Java App using JNI...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Mark&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Mar 2013 20:06:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-feature-classes-name-of-file/m-p/204921#M566</guid>
      <dc:creator>MarkBaird</dc:creator>
      <dc:date>2013-03-14T20:06:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to get Feature Classes name of File Geodatabase</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-feature-classes-name-of-file/m-p/204922#M567</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the ideas, but I'm not C++ profil... si I will not test the File Geodatabase API. but you've answered my question, as I mainly needed to define the Runtime possibilities.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From what you said about the disconnected scenario with Pacakges, I understand the ESRI point of view, but we will always have customers who wants to add their own data (geotiff, shapefiles, but sometimes .kml, VMap, Geodatabase), and it's sometimes an important constraint for Runtime to be too Packages and Desktop oriented ! &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sometimes we are ready to accept lower performances on display and execution, to be able to work with diffrent data format added on the fly... just because data will change for each customer, and we can't prepare all basemap and data with ArcGIS Desktop... or maybe sometimes there is no Desktop competences !&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Mar 2013 07:34:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-feature-classes-name-of-file/m-p/204922#M567</guid>
      <dc:creator>JeremieJoalland1</dc:creator>
      <dc:date>2013-03-15T07:34:37Z</dc:date>
    </item>
  </channel>
</rss>

