|
POST
|
Michael Branscomb Unfortunately I am still able to reproduce this in 100.8, and furthermore it doesn't seem Visual Studio can detect the needed symbol files for the version I have (runtimecore 100.08.0.2760). This is the stacktrace I get now: runtimecore.dll!5a0638a7()
runtimecore.dll![Frames below may be incorrect and/or missing, no symbols loaded for runtimecore.dll]
runtimecore.dll!5a062498()
runtimecore.dll!5a0491ba()
runtimecore.dll!5a04b34a()
runtimecore.dll!5a04c6d8()
runtimecore.dll!593d2242()
runtimecore.dll!5a04c6f3()
runtimecore.dll!593d0c67()
runtimecore.dll!5a9e9f3e()
runtimecore.dll!5a9eb06d()
ntdll.dll!TppWorkpExecuteCallback()
ntdll.dll!_TppWorkerThread@4 ()
kernel32.dll!@BaseThreadInitThunk@12 ()
ntdll.dll!__RtlUserThreadStart()
ntdll.dll!__RtlUserThreadStart@8 ()
Any ideas or will I need to update to the official 100.8 release and get another dump file?
... View more
05-13-2020
03:31 PM
|
0
|
8
|
4045
|
|
POST
|
David Wright wrote: I see many people in career that held various certifications (CNA/CNE, MCSE+I etc) but when it came to real practical understanding were dumb as a brick. I think this is going to be the next motivational quote we put on our office wall.
... View more
05-05-2020
01:06 PM
|
2
|
1
|
3060
|
|
POST
|
Michael, Thank you, it appears only the ESRI.ArcGISRuntime.WPF package is available in this, and I'm prevented from upgrading because ESRI.ArcGISRuntime is on 100.6/100.7. Am I missing something? Sorry, nevermind, I figured it out, thanks.
... View more
04-20-2020
09:48 AM
|
0
|
0
|
4045
|
|
POST
|
Michael Branscomb Morten Nielsen I apologize for the delayed response and different answer. While that change seemed to clean up most issues, we were finally able to find an environment where we could consistently reproduce the crash. The interesting thing in this environment is the lack of a stacktrace we get (just a generic access denied (0x000005) code). Here is the raw stacktrace. runtimecore.dll!SkBaseDevice::SkBaseDevice(struct SkImageInfo const &,class SkSurfaceProps const &)
runtimecore.dll!SkCanvas::SkCanvas(class SkBitmap const &,class std::unique_ptr<class SkRasterHandleAllocator,struct std::default_delete<class SkRasterHandleAllocator> >,void *)
runtimecore.dll!Esri_runtimecore::Map_renderer::Canvas_layer::Render_properties::Display_list_collection::draw_container_(class SkCanvas &,class Esri_runtimecore::Map_renderer::Canvas_layer::Render_properties::Display_list_collection::Container const &,class Esri_runtimecore::Map_renderer::Cancelable const &,enum Esri_runtimecore::Map_renderer::Chunk_set)
runtimecore.dll!Esri_runtimecore::Map_renderer::Canvas_layer::Render_properties::Display_list_collection::set_display_list(unsigned int,class std::shared_ptr<class Esri_runtimecore::Map_renderer::Display_list> const &,class Esri_runtimecore::Map_renderer::Cancelable const &)
runtimecore.dll!Esri_runtimecore::Map_renderer::Canvas_drawable::draw_layer_(class std::shared_ptr<class Esri_runtimecore::Map_renderer::Canvas_renderer::Draw_request> const &)
runtimecore.dll!<lambda>(void)()
runtimecore.dll!std::_Func_impl_no_alloc<<lambda_fbfe540b7589c2b09cbd9ad0d74b0839>,unsigned char>::_Do_call()
runtimecore.dll!pplx::details::_PPLTaskHandle<unsigned char,pplx::task<unsigned char>::_InitialTaskHandle<void,<lambda>(void),pplx::details::_TypeSelectorNoAsync>,pplx::details::_TaskProcHandle>::invoke()
runtimecore.dll!pplx::details::_TaskProcHandle::_RunChoreBridge(void *)
runtimecore.dll!Esri_runtimecore::Common::Core_scheduler::bridge_proc_(void *)
runtimecore.dll!Esri_runtimecore::Common::Windows_Threadpool_scheduler::Scheduler_param::work_callback(struct _TP_CALLBACK_INSTANCE *,void *,struct _TP_WORK *)
ntdll.dll!77da187a()
ntdll.dll![Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
ntdll.dll!77da0920()
kernel32.dll!77790419()
ntdll.dll!77db66dd()
ntdll.dll!77db66ad()
Unfortunately I am unable to test in 100.7 due to the gap in functionality with local locators (new style) running on 32-bit. I have been told that this functionality is returning in 100.8.
... View more
04-20-2020
09:10 AM
|
0
|
11
|
4045
|
|
POST
|
Brad, I think you hit the nail on the head for my personal use case. When geocoding just the base address, I would like to show that there are units tied to the base address. Obviously it's pointless to show a list of 500 or even 100, so just the first 20 or whatever the default number happens to be. Then obviously with suggestions, as Dan stated, it would be great to narrow that list in suggestions the more you type in.
... View more
04-17-2020
04:42 AM
|
0
|
0
|
3107
|
|
POST
|
Michael Branscomb Morten Nielsen Thank you for the quick response, I think I may have this fixed actually. In case anyone runs into this in the future, the issue was how I was changing basemaps dynamically at runtime. I was using a hacky method that involved creating the basemap, extracting the base layer service, and adding it to OperationalLayers. I can't recall why I was doing this in the first place, but changing to using plain Map.Basemap = Basemap.CreateSomeBasemap() seems to have fixed it.
... View more
04-07-2020
09:51 AM
|
0
|
0
|
4045
|
|
POST
|
Hi everyone, So I know companies/developers/support loves when someone posts a stacktrace without a repro app or any good details as to what's causing it, but that's what I'm about to do here. This error is randomly getting thrown when the map is being panned in our .NET WPF application (runtime 100.6, .NET 4.6.2). As you can see, it doesn't appear anything in the stacktrace is related to anything we're doing, but of course, the thread execution makes it a bit difficult to tell. Application: ourapp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: Esri.ArcGISRuntime.ArcGISRuntimeException
at Esri.ArcGISRuntime.ArcGISException.HandleCoreError(RuntimeCoreNet.GeneratedWrappers.CoreError, Boolean)
at RuntimeCoreNet.GeneratedWrappers.Interop.CheckError(IntPtr, Boolean, System.Runtime.InteropServices.GCHandle)
at RuntimeCoreNet.GeneratedWrappers.CoreGeoView.Pulse()
at Esri.ArcGISRuntime.UI.Controls.GeoView.Esri.ArcGISRuntime.Internal.IDxSurfaceSource.Pulse()
at Esri.ArcGISRuntime.Internal.HostedSurfaceElement.CompositionTarget_Rendering(System.Object, System.EventArgs)
at Esri.ArcGISRuntime.Internal.HostedSurfaceElement.<AttachRenderingEvent>b__29_0(Esri.ArcGISRuntime.Internal.HostedSurfaceElement, System.Object, System.EventArgs)
at Esri.ArcGISRuntime.Internal.WeakEventListener`3[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].OnEvent(System.__Canon, System.__Canon)
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object)
at System.Windows.Media.MediaContext.AnimatedRenderMessageHandler(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at Esri.ArcGISRuntime.Internal.HostedSurfaceElement.SurfaceBackgroundUiWorker(System.Object)
at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart(System.Object)
Any assistance that can be provided would be greatly appreciated.
... View more
04-07-2020
04:09 AM
|
0
|
16
|
7693
|
|
POST
|
After further testing, none of the above resolved the issue. What resolved the issue was making the GraphicsOverlay rendering static as opposed to dynamic. This requires creating a new symbol for every graphic (otherwise changing for instance the angle of one symbol changes it for them all) instead of caching and reusing a single symbol in-memory, but otherwise seems to work perfectly. So, to sum everything up, I have no idea why the label drift issue occurs with dynamic rendering mode in a GraphicsOverlay, but it only seems to be an issue with dynamic rendering. Of course, I have further questions on this... is this information still true for 100.6+? Graphics rendering modes—ArcGIS Runtime SDK for .NET | ArcGIS for Developers I can't seem to find this specific information in the latest guide for .NET. If this still holds true, this is telling me I should be using dynamic rendering mode for my use case, but that the results can potentially differ based on the GPU capabilities of the machine. While the machine I was testing on has a high-end GPU, like many people right now I'm doing all my work remotely, so I was connected via RDP into the machine which at least WPF tells the application to use all CPU rendering.
... View more
03-25-2020
02:08 PM
|
0
|
0
|
2010
|
|
POST
|
Nicholas, Thank you so much for the help and recommendations. The issue appears to be fixed (it needs further testing, but so far I've gone way longer without reproducing the issue than I ever have). Using deconflictionStrategy doesn't appear to be the full story, as just adding that didn't seem to have any effect. Unfortunately, I have now thrown out the kitchen sink and I'm now generating the label using the guide here: https://community.esri.com/community/developers/native-app-developers/arcgis-runtime-sdk-for-net/blog/2018/03/29/label-features-the-easy-way which I just now noticed appears to be using labelPosition in place of deconflictionStrategy (not sure if they're the same thing but they have the same enum values (Dynamic/None/Static)? {
"labelExpressionInfo":{
"expression":"return $feature.Header;"
},
"allowOverrun":false,
"labelPosition":"none",
"labelExpression":null,
"ArcadeExpression":"return $feature.Header;",
"labelPlacement":"esriServerPointLabelPlacementAboveCenter",
"minScale":0,
"maxScale":0,
"name":null,
"priority":0,
"removeDuplicates":"none",
"removeDuplicatesDistance":0,
"repeatLabel":false,
"repeatLabelDistance":0,
"stackLabel":false,
"stackAlignment":"textSymbol",
"useCodedValues":false,
"where":null,
"symbol":{
"angle":0,
"backgroundColor":[
0,
0,
0,
0
],
"borderLineColor":[
0,
0,
0,
0
],
"borderLineSize":0,
"color":[
0,
0,
0,
255
],
"font":{
"decoration":"none",
"size":7.5,
"style":"normal",
"weight":"bold"
},
"haloColor":[
255,
255,
255,
255
],
"haloSize":0.75,
"horizontalAlignment":"center",
"kerning":false,
"type":"esriTS",
"verticalAlignment":"top",
"xoffset":0,
"yoffset":0
}
}
... View more
03-25-2020
12:14 PM
|
0
|
1
|
2010
|
|
POST
|
Thanks Nicholas! Checking if deconflictionStrategy makes a difference, if not, I'll dig further into the custom cluster layer label definition.
... View more
03-25-2020
09:41 AM
|
0
|
3
|
2010
|
|
POST
|
Runtime Team, (Using Esri.ArcGISRuntime 100.6/WPF) I have an application where I'm showing various assets (vehicles, people, etc) moving around a map. To accomplish this, I'm using a GraphicsOverlay with a UniqueValueRenderer. Everything seems to be working well, except when I'm zoomed in on an asset (zoom level doesn't seem to make a difference), the defined label is not always moving along with the symbol. This seems that it may have something to do with label weights, and the label waiting to be in an area where it has enough room to render. I need this label to always be moving along with the graphic, even if it is showing up on top of other labels defined in the map, I'm guessing this may be something I'm missing in the label definition? See in the image how the label G15 is significantly behind the symbol. Eventually, it will seemingly randomly catch up to it. StringBuilder gphLabelsBuilder = new StringBuilder();
gphLabelsBuilder.AppendLine("{");
// Define a labeling expression that will show the unit attribute value
gphLabelsBuilder.AppendLine("\"labelExpressionInfo\": {");
gphLabelsBuilder.AppendLine("\"expression\": \"return $feature.Header;\"},");
// Align labels horizontally
gphLabelsBuilder.AppendLine("\"labelPlacement\": \"esriServerPointLabelPlacementAboveCenter\",");
// Use a green bold text symbol
gphLabelsBuilder.AppendLine("\"symbol\": {");
gphLabelsBuilder.AppendLine("\"color\": [0,0,0,255],");
gphLabelsBuilder.AppendLine("\"font\": {\"size\": 10, \"weight\": \"bold\"},");
gphLabelsBuilder.AppendLine("\"haloColor\": [255,255,255,255],");
gphLabelsBuilder.AppendLine("\"haloSize\": 1,");
gphLabelsBuilder.AppendLine("\"type\": \"esriTS\"}");
gphLabelsBuilder.AppendLine("}");
GraphicOverlay.LabelsEnabled = true;
GraphicOverlay.LabelDefinitions.Add(LabelDefinition.FromJson(gphLabelsBuilder.ToString())); This is how the label is being defined, the GraphicOverlay object is of type GraphicsOverlay with the rendering mode dynamic. Hopefully an obvious property I'm missing in the label definition JSON? EDIT: If it matters, I'm updating the graphic location by grabbing the Graphic from the GraphicsOverlay by its unique identifier (FirstOrDefault with Label), and setting the Geometry property to a new MapPoint created with the new coordinates. Furthermore, I would like to ask if this is the best practice for displaying rapidly changing data on a map? All examples I've been able to find on anything relatively close to this use case seem to use GraphicsOverlays/Symbols, but I wanted to see if there's a known better practice.
... View more
03-25-2020
07:20 AM
|
0
|
5
|
2110
|
|
POST
|
Joe and Shana, Thank you, this feedback confirmed the suspicion I already had that there really is no need for an explicit intersections point layer.
... View more
01-24-2020
05:10 AM
|
0
|
0
|
1223
|
|
POST
|
ArcGIS Geolocation Team, Many of our clients will explicitly create a point layer to represent every intersection in their Centerline data. Is it in any way possible to use a point layer as a source for intersections as a locator role? Possibly some specific way of using the Point Address role with no house number and optional parameters? Thanks for your consideration. Kyle
... View more
01-20-2020
05:18 AM
|
0
|
3
|
1301
|
|
POST
|
Brad, Thank you for the information. I have to say this is pretty shocking, and disappointing that there was no information or warning about this. The new locators were working fine in x86 up to 100.6. Our mapping application has been completely designed around the new locators, we would not be able to go back to the logic and deficiencies of the address locators. I'm pretty sure Visual Studio 2019 still defaults "prefer 32-bit" when creating a new WPF app, and I'm fairly certain we have a decent amount of clients running 32-bit versions of Windows out in the field.
... View more
01-02-2020
12:06 PM
|
0
|
1
|
3079
|
|
POST
|
Shana, Reverse geocoding does not work at all when mixing new locators and composite locators, that's a pretty important feature. Brad even says it's inadvisable to mix the new technology with the old, and it should only be used as a last resort or you have no need for reverse geocoding.
... View more
01-02-2020
10:24 AM
|
0
|
1
|
1529
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 06-28-2019 09:01 AM | |
| 2 | 05-05-2020 01:06 PM | |
| 2 | 12-23-2019 01:35 PM | |
| 1 | 12-23-2019 02:06 PM | |
| 1 | 04-15-2019 08:53 AM |
| Online Status |
Offline
|
| Date Last Visited |
08-05-2025
08:44 AM
|