<?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 Near Query Question in ArcGIS Viewer for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/near-query-question/m-p/221531#M6889</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I would like to enhance a flood zone widget to find the distance to the nearest flood zone.&amp;nbsp; It would be a single polygon to polygon near query(buffer ???).&amp;nbsp; That would return the distance in feet from a parcel of property to nearest 100 year flood zone.&amp;nbsp; The result would be like:&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;This parcel is 2,314 feet from the nearest flood zone.&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can anyone get me started - as to something in the api I could use to query this near distance?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If all else fails, I was thinking of mutiple buffer queries at incrementing distances until it found a hit.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But, this seems too taxing to do so many queries.&amp;nbsp; Maybe there is a sample some where.&amp;nbsp; thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 26 Nov 2012 12:57:05 GMT</pubDate>
    <dc:creator>Anonymous User</dc:creator>
    <dc:date>2012-11-26T12:57:05Z</dc:date>
    <item>
      <title>Near Query Question</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/near-query-question/m-p/221531#M6889</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I would like to enhance a flood zone widget to find the distance to the nearest flood zone.&amp;nbsp; It would be a single polygon to polygon near query(buffer ???).&amp;nbsp; That would return the distance in feet from a parcel of property to nearest 100 year flood zone.&amp;nbsp; The result would be like:&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;This parcel is 2,314 feet from the nearest flood zone.&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can anyone get me started - as to something in the api I could use to query this near distance?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If all else fails, I was thinking of mutiple buffer queries at incrementing distances until it found a hit.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But, this seems too taxing to do so many queries.&amp;nbsp; Maybe there is a sample some where.&amp;nbsp; thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Nov 2012 12:57:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/near-query-question/m-p/221531#M6889</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2012-11-26T12:57:05Z</dc:date>
    </item>
    <item>
      <title>Re: Near Query Question</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/near-query-question/m-p/221532#M6890</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Well, I went with buffering.&amp;nbsp; See code below.&amp;nbsp; But, I used the PROGRAMATIC_LAYER_VISIBILITY_CHANGED event to turn on the flood zone layer in the TOC and I don't see how to listen for when this layer has actually been drawn.&amp;nbsp; Any help with this?&amp;nbsp; thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;problem line:&amp;nbsp; ViewerContainer.addEventListener(AppEvent.LAYER_LOADED, layerloadComplete);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My show flood function:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp; private function showFlood(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; msg = "Loading Flood Zone layer . . . ";
&amp;nbsp;&amp;nbsp;&amp;nbsp; PopUpManager.addPopUp(tWindow2, hostComponent.map, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp; PopUpManager.centerPopUp(tWindow2);
&amp;nbsp;&amp;nbsp;&amp;nbsp; event.stopImmediatePropagation();&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewerContainer.addEventListener(AppEvent.LAYER_LOADED, layerloadComplete);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewerContainer.dispatchEvent(new AppEvent(AppEvent.PROGRAMATIC_LAYER_VISIBILITY_CHANGED, "Flood Zones"));&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; var resultEvent:Polygon = new Polygon;
&amp;nbsp;&amp;nbsp;&amp;nbsp; geomArr = [];
&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic:Graphic = hostComponent.graphic;
&amp;nbsp;&amp;nbsp;&amp;nbsp; geomArr.push(graphic.geometry);
&amp;nbsp;&amp;nbsp;&amp;nbsp; var bufferParameters:BufferParameters = new BufferParameters();
&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferParameters.bufferSpatialReference= new SpatialReference(102003);
&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferParameters.geometries = geomArr;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferParameters.unit = GeometryService.UNIT_FOOT;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferParameters.distances = [ 1 ];
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; function layerloadComplete(event:AppEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewerContainer.removeEventListener(AppEvent.LAYER_LOADED, layerloadComplete);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg = "Searching for nearest Flood Zone . . . ";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; beginBuffer();
&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 beginBuffer():void
&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; myGeometryService.addEventListener(GeometryServiceEvent.BUFFER_COMPLETE, bufferCompleteHandler);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myGeometryService.buffer(bufferParameters);&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 bufferCompleteHandler(event:GeometryServiceEvent):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myGeometryService.removeEventListener(GeometryServiceEvent.BUFFER_COMPLETE, bufferCompleteHandler);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resultEvent = event.result[0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic:Graphic = new Graphic();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; graphic.geometry = resultEvent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryFeaturesGraphical(graphic.geometry);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (error:Error)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show(error.message);
&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 queryFeaturesGraphical(geom:Geometry):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryParams:Query = new Query();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParams.returnGeometry = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryFields:String = "*";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParams.outFields = queryFields.split(",");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParams.geometry = geom;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParams.where = "FLD_ZONE IN ('A','AE')";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParams.spatialRelationship = "esriSpatialRelIntersects";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var url:String = "http://[myserver]/ArcGIS/rest/services/Feature_Natural/MapServer/8";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryTask:QueryTask = new QueryTask(url);&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryTask.execute(queryParams, new AsyncResponder(onResult, onFault)); 
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; function onResult(featureSet:FeatureSet, token:XMLList = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (featureSet.features.length &amp;lt; 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bufferParameters.distances[0].toString() == "5280")
&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; msg = "The nearest Flood Zone is more than a mile away.";
&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; if (bufferParameters.distances[0].toString() == "2640")
&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; msg = "The nearest Flood Zone is more than a half mile away.";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferParameters.distances = [ 5280 ];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; beginBuffer();
&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; if (bufferParameters.distances[0].toString() == "1000")
&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; msg = "The nearest Flood Zone is more than 1000 feet away.";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferParameters.distances = [ 2640 ];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; beginBuffer();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bufferParameters.distances[0].toString() == "500")
&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; msg = "The nearest Flood Zone is more than 500 feet away.";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferParameters.distances = [ 1000 ];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; beginBuffer();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bufferParameters.distances[0].toString() == "200")
&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; msg = "The nearest Flood Zone is more than 200 feet away.";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferParameters.distances = [ 500 ];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; beginBuffer();
&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; if (bufferParameters.distances[0].toString() == "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;&amp;nbsp; msg = "This property is touching or inside a Flood Zone.";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferParameters.distances = [ 200 ];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; beginBuffer();
&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; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each(var obj:Object in featureSet.attributes){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("done");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;
&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; catch (error:Error)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show(error.message);
&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 onFault(info:Object, token:Object = null):void
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show(info.toString());
&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;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 10:48:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/near-query-question/m-p/221532#M6890</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-11T10:48:19Z</dc:date>
    </item>
  </channel>
</rss>

