<?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 Full Extent of a Shapefile loaded with ArcGISDynamicMapServiceLayer ? in Java Maps SDK Questions</title>
    <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49561#M164</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;One approach could be to query the Dynamic layers for the extents and then use that to implement the Zoom to Layer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpClient client = new DefaultHttpClient();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpPost post = new HttpPost(MapServiceUrl + "/dynamicLayer?");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;NameValuePair&amp;gt; nameValuePairs = new ArrayList&amp;lt;NameValuePair&amp;gt;(1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nameValuePairs.add(new BasicNameValuePair("layer", queryParam));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; post.setEntity(new UrlEncodedFormEntity(nameValuePairs));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpResponse response = client.execute(post);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Where queryParam can be formed from dynamics layers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;String queryParam= "{\"id\":0,\"source\":{\"type\":\"dataLayer\",\"dataSource\":{\"type\":\"" + type + "\",\"workspaceId\":\"" + workspaceId + "\",\"dataSourceName\":\"" + layerName + "\"}}}";&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can put type = "table" for Feature Layers, Workspaceid can be obtained from the added dynamic layer and layername in the name of the shapefile or layer that was added.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can then parse this using the Json parser and get the required extents or any other info that is required&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;JsonNode extentNode = parseJson(rd).findValue("extent");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extentNode.findValue("xmin").asDouble();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extentNode.findValue("ymin").asDouble();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extentNode.findValue("xmax").asDouble();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extentNode.findValue("ymax").asDouble();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the method for parsing JSON&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; private static JsonNode parseJson(BufferedReader jsonStr) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; JsonFactory jfactory = new JsonFactory();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; JsonNode rootNode = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; try {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ObjectMapper mapper = new ObjectMapper(jfactory);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rootNode = mapper.readTree(jsonStr);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; } catch (JsonParseException e2) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e2.printStackTrace();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; } catch (Exception e2) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e2.printStackTrace();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; return rootNode;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope this helps !!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;The ArcGIS Runtime sample "Datasources &amp;gt; Add Shapefile" provide source code to select a shapefile and add it to the map based on a blank MPK (Map Package) and a map service (on the LocalServer).&lt;BR /&gt;&lt;BR /&gt;From that, I would like to be able to get the Full Extent of this layer (from menu "Zoom To Layer").&lt;BR /&gt;&lt;BR /&gt;In my case, I have a World wide blank MPK, so any kind of Shapefile will be loaded. basically, from 2 identical blank MPK, I can load 2 different Shapefile, one with European countries, another with USA countries.&lt;BR /&gt;I need to be able to zoom to first Layer on "Europe" or to second layer on "USA" !&lt;BR /&gt;&lt;BR /&gt;But my issue is :&lt;BR /&gt; - if I try to get the full extent from the Dynamic Layer, with getFullExtent(), I will get the Envelope from the MPK which is always the World extent.&lt;BR /&gt; - How can I get the Full Extent from sub-layers of the dynamic layer to only get the Envelope of my Shapefile (sublayer[0]) ??&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 25 Jun 2013 16:11:31 GMT</pubDate>
    <dc:creator>SachinKanaujia</dc:creator>
    <dc:date>2013-06-25T16:11:31Z</dc:date>
    <item>
      <title>How to get Full Extent of a Shapefile loaded with ArcGISDynamicMapServiceLayer ?</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49560#M163</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The ArcGIS Runtime sample "Datasources &amp;gt; Add Shapefile" provide source code to select a shapefile and add it to the map based on a blank MPK (Map Package) and a map service (on the LocalServer).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From that, I would like to be able to get the Full Extent of this layer (from menu "Zoom To Layer").&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In my case, I have a World wide blank MPK, so any kind of Shapefile will be loaded. basically, from 2 identical blank MPK, I can load 2 different Shapefile, one with European countries, another with USA countries.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I need to be able to zoom to first Layer on "Europe" or to second layer on "USA" !&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But my issue is :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - if I try to get the full extent from the Dynamic Layer, with getFullExtent(), I will get the Envelope from the MPK which is always the World extent.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - How can I get the Full Extent from sub-layers of the dynamic layer to only get the Envelope of my Shapefile (sublayer[0]) ??&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Jun 2013 14:08:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49560#M163</guid>
      <dc:creator>JeremieJoalland1</dc:creator>
      <dc:date>2013-06-25T14:08:42Z</dc:date>
    </item>
    <item>
      <title>Re: How to get Full Extent of a Shapefile loaded with ArcGISDynamicMapServiceLayer ?</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49561#M164</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;One approach could be to query the Dynamic layers for the extents and then use that to implement the Zoom to Layer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpClient client = new DefaultHttpClient();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpPost post = new HttpPost(MapServiceUrl + "/dynamicLayer?");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;NameValuePair&amp;gt; nameValuePairs = new ArrayList&amp;lt;NameValuePair&amp;gt;(1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nameValuePairs.add(new BasicNameValuePair("layer", queryParam));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; post.setEntity(new UrlEncodedFormEntity(nameValuePairs));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpResponse response = client.execute(post);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Where queryParam can be formed from dynamics layers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;String queryParam= "{\"id\":0,\"source\":{\"type\":\"dataLayer\",\"dataSource\":{\"type\":\"" + type + "\",\"workspaceId\":\"" + workspaceId + "\",\"dataSourceName\":\"" + layerName + "\"}}}";&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can put type = "table" for Feature Layers, Workspaceid can be obtained from the added dynamic layer and layername in the name of the shapefile or layer that was added.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can then parse this using the Json parser and get the required extents or any other info that is required&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;JsonNode extentNode = parseJson(rd).findValue("extent");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extentNode.findValue("xmin").asDouble();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extentNode.findValue("ymin").asDouble();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extentNode.findValue("xmax").asDouble();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extentNode.findValue("ymax").asDouble();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the method for parsing JSON&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; private static JsonNode parseJson(BufferedReader jsonStr) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; JsonFactory jfactory = new JsonFactory();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; JsonNode rootNode = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; try {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ObjectMapper mapper = new ObjectMapper(jfactory);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rootNode = mapper.readTree(jsonStr);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; } catch (JsonParseException e2) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e2.printStackTrace();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; } catch (Exception e2) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e2.printStackTrace();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; return rootNode;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope this helps !!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;The ArcGIS Runtime sample "Datasources &amp;gt; Add Shapefile" provide source code to select a shapefile and add it to the map based on a blank MPK (Map Package) and a map service (on the LocalServer).&lt;BR /&gt;&lt;BR /&gt;From that, I would like to be able to get the Full Extent of this layer (from menu "Zoom To Layer").&lt;BR /&gt;&lt;BR /&gt;In my case, I have a World wide blank MPK, so any kind of Shapefile will be loaded. basically, from 2 identical blank MPK, I can load 2 different Shapefile, one with European countries, another with USA countries.&lt;BR /&gt;I need to be able to zoom to first Layer on "Europe" or to second layer on "USA" !&lt;BR /&gt;&lt;BR /&gt;But my issue is :&lt;BR /&gt; - if I try to get the full extent from the Dynamic Layer, with getFullExtent(), I will get the Envelope from the MPK which is always the World extent.&lt;BR /&gt; - How can I get the Full Extent from sub-layers of the dynamic layer to only get the Envelope of my Shapefile (sublayer[0]) ??&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Jun 2013 16:11:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49561#M164</guid>
      <dc:creator>SachinKanaujia</dc:creator>
      <dc:date>2013-06-25T16:11:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to get Full Extent of a Shapefile loaded with ArcGISDynamicMapServiceLayer ?</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49562#M165</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;thanks Sachin, it's working fine ! &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Actually, I already had part of the solution because I'm getting the Geometry Type of shapefiles the same way, but I'm still new to http request and JSon.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;here's my code :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;private Envelope requestHttpExtent(final DynamicLayerInfo layerInfo, final String urlMapService) {
 Envelope envelope = null;

 try {
&amp;nbsp; String layerParam = layerInfo.toJson();

&amp;nbsp; HttpClient client = new DefaultHttpClient();
&amp;nbsp; HttpPost post = new HttpPost(urlMapService + "/dynamicLayer?");
&amp;nbsp; List&amp;lt;NameValuePair&amp;gt; nameValuePairs = new ArrayList&amp;lt;NameValuePair&amp;gt;(1);
&amp;nbsp; nameValuePairs.add(new BasicNameValuePair("layer", layerParam));
&amp;nbsp; post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
&amp;nbsp; HttpResponse response = client.execute(post);
&amp;nbsp; BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

&amp;nbsp; JsonNode extentNode = parseJson(rd).findValue("extent");
&amp;nbsp; if (extentNode != null) {
&amp;nbsp;&amp;nbsp; double xMin = extentNode.findValue("xmin").asDouble();
&amp;nbsp;&amp;nbsp; double yMin = extentNode.findValue("ymin").asDouble();
&amp;nbsp;&amp;nbsp; double xMax = extentNode.findValue("xmax").asDouble();
&amp;nbsp;&amp;nbsp; double yMax = extentNode.findValue("ymax").asDouble();

&amp;nbsp;&amp;nbsp; envelope = new Envelope(xMin, yMin, xMax, yMax);
&amp;nbsp; }

 } catch (Exception e) {
&amp;nbsp; // do nothing
&amp;nbsp; envelope = null;
 }

 return envelope;
}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:54:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49562#M165</guid>
      <dc:creator>JeremieJoalland1</dc:creator>
      <dc:date>2021-12-10T21:54:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to get Full Extent of a Shapefile loaded with ArcGISDynamicMapServiceLayer ?</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49563#M166</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Glad that you got it working.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I agree. Its based on the REST API calls. It a matter to getting the request parameters formed correctly&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Sachin&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;thanks Sachin, it's working fine ! &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;Actually, I already had part of the solution because I'm getting the Geometry Type of shapefiles the same way, but I'm still new to http request and JSon.&lt;BR /&gt;&lt;BR /&gt;here's my code :&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;private Envelope requestHttpExtent(final DynamicLayerInfo layerInfo, final String urlMapService) {
 Envelope envelope = null;

 try {
&amp;nbsp; String layerParam = layerInfo.toJson();

&amp;nbsp; HttpClient client = new DefaultHttpClient();
&amp;nbsp; HttpPost post = new HttpPost(urlMapService + "/dynamicLayer?");
&amp;nbsp; List&amp;lt;NameValuePair&amp;gt; nameValuePairs = new ArrayList&amp;lt;NameValuePair&amp;gt;(1);
&amp;nbsp; nameValuePairs.add(new BasicNameValuePair("layer", layerParam));
&amp;nbsp; post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
&amp;nbsp; HttpResponse response = client.execute(post);
&amp;nbsp; BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

&amp;nbsp; JsonNode extentNode = parseJson(rd).findValue("extent");
&amp;nbsp; if (extentNode != null) {
&amp;nbsp;&amp;nbsp; double xMin = extentNode.findValue("xmin").asDouble();
&amp;nbsp;&amp;nbsp; double yMin = extentNode.findValue("ymin").asDouble();
&amp;nbsp;&amp;nbsp; double xMax = extentNode.findValue("xmax").asDouble();
&amp;nbsp;&amp;nbsp; double yMax = extentNode.findValue("ymax").asDouble();

&amp;nbsp;&amp;nbsp; envelope = new Envelope(xMin, yMin, xMax, yMax);
&amp;nbsp; }

 } catch (Exception e) {
&amp;nbsp; // do nothing
&amp;nbsp; envelope = null;
 }

 return envelope;
}&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:54:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49563#M166</guid>
      <dc:creator>SachinKanaujia</dc:creator>
      <dc:date>2021-12-10T21:54:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to get Full Extent of a Shapefile loaded with ArcGISDynamicMapServiceLayer ?</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49564#M167</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for all the information. I was able to get the full extent using this method. However, the results from the REST API query do not have the geometries (features) included. I tried to set "returnGeometry" as "true", &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;nameValuePairs.add(new BasicNameValuePair("returnGeometry", "true"));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;but still not working. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I used StringBuilder to get the content from the BufferedReader rd&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;StringBuilder builder = new StringBuilder();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; for (String line = null; (line = rd.readLine()) != null;) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; builder.append(line).append("\n");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The builder output has all the spatial reference information and fields, but no features.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can anyone let me know how to set the parameters correctly in this case? Any help will be greatly appreciated. Thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Guangyu&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2013 16:59:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49564#M167</guid>
      <dc:creator>GuangyuWu</dc:creator>
      <dc:date>2013-10-10T16:59:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to get Full Extent of a Shapefile loaded with ArcGISDynamicMapServiceLayer ?</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49565#M168</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;... However, the results from the REST API query do not have the geometries (features) included. I tried to set "returnGeometry" as "true", &lt;BR /&gt;&lt;BR /&gt;nameValuePairs.add(new BasicNameValuePair("returnGeometry", "true"));&lt;BR /&gt;&lt;BR /&gt;but still not working. &lt;BR /&gt;&lt;BR /&gt;I used StringBuilder to get the content from the BufferedReader rd&lt;BR /&gt;&lt;BR /&gt;StringBuilder builder = new StringBuilder();&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;&amp;nbsp;&amp;nbsp; for (String line = null; (line = rd.readLine()) != 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; builder.append(line).append("\n");&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;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;The builder output has all the spatial reference information and fields, but no features.&lt;BR /&gt;&lt;BR /&gt;Can anyone let me know how to set the parameters correctly in this case?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This previous issue should provide you the answer :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thread: &lt;/SPAN&gt;&lt;A href="http://forums.arcgis.com/threads/81819-How-to-get-Geometry-Type-for-a-Shapefile-loaded-as-ArcGISDynamicMapServiceLayer"&gt;How to get Geometry Type for a Shapefile loaded as ArcGISDynamicMapServiceLayer ?&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Oct 2013 07:05:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49565#M168</guid>
      <dc:creator>JeremieJoalland1</dc:creator>
      <dc:date>2013-10-14T07:05:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to get Full Extent of a Shapefile loaded with ArcGISDynamicMapServiceLayer ?</title>
      <link>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49566#M169</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for your information. But we wanted is the geometries with coordinates (features), not just Geometry Type.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have figured out that we can add "query" in the HTTP request to get features out&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
HttpPost post = new HttpPost(localMapService.getUrlMapService() + "/dynamicLayer/query?"&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tested with a LocalMapService, it works.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:54:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/java-maps-sdk-questions/how-to-get-full-extent-of-a-shapefile-loaded-with/m-p/49566#M169</guid>
      <dc:creator>GuangyuWu</dc:creator>
      <dc:date>2021-12-10T21:54:48Z</dc:date>
    </item>
  </channel>
</rss>

