Performance-Returned records compromise (ArcGIS Server\Browser issue!)
Returning a full record from a data set consumes much performance for a certain feature, especially if the number of records exceeds 2000.

What might be the issue here?
Thank you
Best,
Fatin.
0
-
Hello,
We have had similar issues in the past and it was due to the feature having a lot of vertices. Can you check the number of vertices in the feature causing the performance issues?
If this is in a workflow, you could generalise the feature if it has above a certain number of vertices, by counting the number of vertices in each polygon/line and then using GeneralizeTask and seting the maximum deviation.
Here's an example:<?xml version="1.0" encoding="utf-16"?><ClipboardData Metadata="{x:Null}" Version="1.0" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:esri="http://schemas.esri.com/arcgis/client/2009" xmlns:gwa="clr-namespace:Geocortex.Workflow.Activities;assembly=Geocortex.Workflow.Activities" xmlns:p="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:sap2010="http://schemas.microsoft.com/netfx/2010/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><ClipboardData.Data><scg:List x:TypeArguments="x:Object" Capacity="1"><p:Sequence DisplayName="GeneraliseSearchArea" VirtualizedContainerService.HintSize="798,1324"><WorkflowViewStateService.ViewState><scg:Dictionary x:TypeArguments="x:String, x:Object"><x:Boolean x:Key="IsExpanded">True</x:Boolean><x:Boolean x:Key="IsPinned">False</x:Boolean></scg:Dictionary></WorkflowViewStateService.ViewState><p:Assign VirtualizedContainerService.HintSize="776,60"><p:Assign.To><p:OutArgument x:TypeArguments="x:Int32">[searchAreaVerticeCount]</p:OutArgument></p:Assign.To><p:Assign.Value><p:InArgument x:TypeArguments="x:Int32">0</p:InArgument></p:Assign.Value></p:Assign><p:If sap2010:Annotation.AnnotationText="Count vertices differently for polygons and lines, assumed we don't need to count for points" Condition="[searchAreaFeatureSet.GeometryType.ToString() = "Polygon" Or searchAreaFeatureSet.GeometryType.ToString() = "Envelope" Or searchAreaFeatureSet.GeometryType.ToString() = "Unknown"]" VirtualizedContainerService.HintSize="776,527"><WorkflowViewStateService.ViewState><scg:Dictionary x:TypeArguments="x:String, x:Object"><x:Boolean x:Key="IsAnnotationDocked">True</x:Boolean></scg:Dictionary></WorkflowViewStateService.ViewState><p:If.Then><p:ForEach x:TypeArguments="esri:PointCollection" DisplayName="ForEach<PointCollection>" VirtualizedContainerService.HintSize="287,208" Values="[CType(searchAreaFeatureSet.Features(0).Geometry, Polygon).Rings]"><p:ActivityAction x:TypeArguments="esri:PointCollection"><p:ActivityAction.Argument><p:DelegateInArgument x:TypeArguments="esri:PointCollection" Name="polyRing" /></p:ActivityAction.Argument><p:Assign VirtualizedContainerService.HintSize="242,60"><p:Assign.To><p:OutArgument x:TypeArguments="x:Int32">[searchAreaVerticeCount]</p:OutArgument></p:Assign.To><p:Assign.Value><p:InArgument x:TypeArguments="x:Int32">[searchAreaVerticeCount + polyRing.Count]</p:InArgument></p:Assign.Value></p:Assign></p:ActivityAction></p:ForEach></p:If.Then><p:If.Else><p:If Condition="[searchAreaFeatureSet.GeometryType.ToString() = "Polyline"]" VirtualizedContainerService.HintSize="464,356"><p:If.Then><p:ForEach x:TypeArguments="esri:PointCollection" DisplayName="ForEach<PointCollection>" VirtualizedContainerService.HintSize="287,208" Values="[CType(searchAreaFeatureSet.Features(0).Geometry, Polyline).Paths]"><p:ActivityAction x:TypeArguments="esri:PointCollection"><p:ActivityAction.Argument><p:DelegateInArgument x:TypeArguments="esri:PointCollection" Name="linePath" /></p:ActivityAction.Argument><p:Assign VirtualizedContainerService.HintSize="242,60"><p:Assign.To><p:OutArgument x:TypeArguments="x:Int32">[searchAreaVerticeCount]</p:OutArgument></p:Assign.To><p:Assign.Value><p:InArgument x:TypeArguments="x:Int32">[searchAreaVerticeCount + linePath.Count]</p:InArgument></p:Assign.Value></p:Assign></p:ActivityAction></p:ForEach></p:If.Then></p:If></p:If.Else></p:If><p:If Condition="[searchAreaVerticeCount > 5000]" VirtualizedContainerService.HintSize="776,533"><p:If.Then><p:Sequence VirtualizedContainerService.HintSize="356,385"><p:Sequence.Variables><p:Variable x:TypeArguments="scg:IList(esri:Graphic)" Name="searchAreaGeneralisedGraphics" /></p:Sequence.Variables><WorkflowViewStateService.ViewState><scg:Dictionary x:TypeArguments="x:String, x:Object"><x:Boolean x:Key="IsExpanded">True</x:Boolean></scg:Dictionary></WorkflowViewStateService.ViewState><gwa:GeneralizeTask DeviationUnit="[LinearUnit.Meter]" DisableClientCaching="True" GeometryServiceUrl="[ahisGeometryServiceUrl]" Graphics="[searchAreaFeatureSet.ToList()]" VirtualizedContainerService.HintSize="334,161" MaxDeviation="5" Results="[searchAreaGeneralisedGraphics]" Token="[publicQueryTaskToken]" /><p:Assign VirtualizedContainerService.HintSize="334,60"><p:Assign.To><p:OutArgument x:TypeArguments="esri:FeatureSet">[searchAreaFeatureSet]</p:OutArgument></p:Assign.To><p:Assign.Value><p:InArgument x:TypeArguments="esri:FeatureSet">[new FeatureSet(searchAreaGeneralisedGraphics)]</p:InArgument></p:Assign.Value></p:Assign></p:Sequence></p:If.Then></p:If></p:Sequence></scg:List></ClipboardData.Data></ClipboardData>
Cheers,
Andrew0 -
Hi Andrew,
Thank you for your response, i will test this and update you if this can helo in my case.
Best,
Fatin0 -
Hi Andrew,
I tried your workflow, but the Geocortex Workflow Designer did not recognise it.
What might be the issue here?
Best,
Fatin0 -
Sorry Andrew, It seems that I have the same problem in getting email notifications when my post was replied.
I will test this and back you.
Thank you very much.
Best,
Fatin0
Du måste logga in om du vill lämna en kommentar.
Kommentarer
4 kommentarer