<?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: polygon input as geometry to a query/queryTask in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/polygon-input-as-geometry-to-a-query-querytask/m-p/236626#M22024</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Tracy,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This should work if your outSpatialReference is set to the same as the map.&amp;nbsp; How did you define the 'spatialReference' variable?&amp;nbsp; i.e.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt;var spatialReference = new SpatialReference(102100);&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 14 Apr 2014 18:24:39 GMT</pubDate>
    <dc:creator>JakeSkinner</dc:creator>
    <dc:date>2014-04-14T18:24:39Z</dc:date>
    <item>
      <title>polygon input as geometry to a query/queryTask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/polygon-input-as-geometry-to-a-query-querytask/m-p/236625#M22023</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have a basic county boundary service that I'm using as input to a FindTask, based on a county name pick list.&amp;nbsp; Later, the user should have the option to use the geometry of that found polygon as the input geometry of a querytask which searches on other county polygon layers.&amp;nbsp; My basic county service is in UTM, but my project is wkid 102100 and so is the layer I'm trying to search in the queryTask. I have the output spatialReference of my findParameters set to that same wkid, which I assume should make the geometry from the find be in the right coordinates.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If the use clicks the "find neighbors" button, it executes the findAdjacentCounties function, which runs a query/QueryTask using Query.SPATIAL_REL_TOUCHES.&amp;nbsp; The query executes without error, but it never returns any features, I assume because the inputGeometry I'm providing doesn't actually touch any of other features.&amp;nbsp; The coordinates of the countyGeometry variable says it's wkid 102100.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;
//This functions searches the countyLayer, defined earlier to zoom to a county and saves the geometry
&amp;nbsp;&amp;nbsp; function zoomCounty () {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var findTask = new FindTask(countyLayer.url);&amp;nbsp; //layer defined earlier
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var findParams = new FindParameters();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.returnGeometry = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.layerIds = [0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.searchFields = ["COUNTYNAME"]; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.outSpatialReference = spatialReference;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var countyName = registry.byId("countySelect").value;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findParams.searchText = countyName;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findTask.execute(findParams, function (results) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.setExtent(results[0].feature.geometry.getExtent());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentExtent = map.extent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentCenter = results[0].feature.geometry.getCentroid();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; countyGeometry = results[0].feature.geometry;&amp;nbsp; // polygon geometry getting stored
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
} 
//this executes when the user selects the 'find neighbor' button
&amp;nbsp; function findAdjacentCounty() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var currentVis = ncdmLayer.visibleLayers;//layer defined earlier
&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryTask = new QueryTask(ncdmLayer.url+"/" +currentVis);
&amp;nbsp;&amp;nbsp;&amp;nbsp; var query = new Query();
&amp;nbsp;&amp;nbsp;&amp;nbsp; query.geometry = countyGeometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp; query.outSpatialReference = spatialReference;
&amp;nbsp;&amp;nbsp;&amp;nbsp; query.spatialRelationship = Query.SPATIAL_REL_TOUCHES;
&amp;nbsp;&amp;nbsp;&amp;nbsp; query.outFields=["NAME", "NAME2", "RATE"];
&amp;nbsp; //&amp;nbsp; query.returnGeometry = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; queryTask.on('error', taskErrorHandler);
&amp;nbsp;&amp;nbsp;&amp;nbsp; queryTask.execute(query, adjacentResultHandler);
&amp;nbsp; }
//this function executes, but results is always empty!
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function adjacentResultHandler(results) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; countyList.length = 0; //arrays defined earlier
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; countyRateList.length = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arrayUtil.forEach(results.features, function(feature){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; countyList.push(feature.attributes.NAME);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; countyRateList.push(feature.attributes.RATE);&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; console.log(countyList);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(countyRateList);

&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp; 
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I made a basic sample before I started, but it was using all the same layer, both for the find and query tasks.&amp;nbsp; Now I need to use two different ones.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Apr 2014 19:31:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/polygon-input-as-geometry-to-a-query-querytask/m-p/236625#M22023</guid>
      <dc:creator>TracySchloss</dc:creator>
      <dc:date>2014-04-11T19:31:58Z</dc:date>
    </item>
    <item>
      <title>Re: polygon input as geometry to a query/queryTask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/polygon-input-as-geometry-to-a-query-querytask/m-p/236626#M22024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Tracy,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This should work if your outSpatialReference is set to the same as the map.&amp;nbsp; How did you define the 'spatialReference' variable?&amp;nbsp; i.e.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt;var spatialReference = new SpatialReference(102100);&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Apr 2014 18:24:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/polygon-input-as-geometry-to-a-query-querytask/m-p/236626#M22024</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2014-04-14T18:24:39Z</dc:date>
    </item>
    <item>
      <title>Re: polygon input as geometry to a query/queryTask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/polygon-input-as-geometry-to-a-query-querytask/m-p/236627#M22025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I do.&amp;nbsp; These are some pretty old map services made a few years ago that I thought were in WGS 1984 Aux Sphere (102100).&amp;nbsp; When I studied them more closely, I realized they were in just WGS 1984, which is something like wkid 4326.&amp;nbsp;&amp;nbsp; I ended up going back and fixing my original MXD files and getting them into the projection I really meant for them to be in (102100).&amp;nbsp; All that and it still wasn't working!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I know it should have worked, but my end around was to create an array of adjacent county names from the original county service.&amp;nbsp; Then I generated a rather elaborate where clause from that array and used that as input to my 2nd layer (both had county name fields) and got at the information that way.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
function findAdjacentCounties(geometry) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryTask = new QueryTask(countyLayer.url+"/0");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query = new Query();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.geometry = geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.spatialRelationship = Query.SPATIAL_REL_TOUCHES;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.outFields=["*"];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryTask.on('error', taskErrorHandler);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryTask.execute(query, findAdjResultHandler);
&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; function findAdjResultHandler(results) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; countyList.length = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fs = results.features;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; countyList.push(registry.byId("countySelect").value.toUpperCase());//to get data for the current county too
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arrayUtil.forEach(results.features, function(feature){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; countyList.push (feature.attributes.COUNTYNAME.toUpperCase());
&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; clause = createWhere(countyList);
&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; function createWhere(inputArray){//creates a query where clause based on the adjacent county names
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var s = "";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arrayUtil.forEach(inputArray, function(item, i){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (i &amp;lt; inputArray.length - 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; s = s + '"NAME2" = ' + "'" + inputArray&lt;I&gt; + "'" + ' OR ';
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s = s + '"NAME2" = ' + "'" + inputArray&lt;I&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; console.log("where clause is " + s);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return s;
&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; function queryAdjacentCounties(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var currentVis = ncdmLayer.visibleLayers;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryTask = new QueryTask(ncdmLayer.url+"/" +currentVis);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query = new Query();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.outFields=["NAME", "NAME2", "RATE"];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.where = clause;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.returnGeometry = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryTask.on('error', taskErrorHandler);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryTask.on('complete', queryAdjResultHandler);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryTask.execute(query);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 11:56:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/polygon-input-as-geometry-to-a-query-querytask/m-p/236627#M22025</guid>
      <dc:creator>TracySchloss</dc:creator>
      <dc:date>2021-12-11T11:56:15Z</dc:date>
    </item>
  </channel>
</rss>

