POST
|
I'm knew on Web AppBuilder (Dev. Edition) and I'm looking for solutions to manage Military symbology on Web AppBuilder Apps, in order to display and edit Military Features (point, line, polygon). Is there anything like the ArcGIS Runtime SDK's Military Symbol Dictionnary (for Mil2525C & App6B) which provide an easy way of building this kind of symbology. Should I look more on ArcGIS API for JavaScript page for solutions ? Thanks.
... View more
02-04-2016
06:36 AM
|
1
|
0
|
1911
|
POST
|
From what I understand, you did not use the Deployment Builder installed with your ArcGIS Runtime SDK for Java. You should find your answer in these pages : Build a Runtime deployment—ArcGIS Runtime SDK for Java | ArcGIS for Developers Deploy your app—ArcGIS Runtime SDK for Java | ArcGIS for Developers In our project, we have deploy the ArcGIS Deployment folder on our Nexus and manage with maven (using profil in our pom) to automatically attach this folder when performing our mvn release. Jeremie
... View more
11-03-2015
02:55 AM
|
0
|
1
|
724
|
POST
|
Could you provide some code sample of what you are trying to do ? because in my project we have selection tool base on a single HitTestOverlay for several GraphicLayers with different kind of graphics (Point, Polyline, Polygon) and it's working fine.
... View more
10-07-2015
01:19 AM
|
0
|
0
|
413
|
POST
|
You should try this : public final static int TOLERANCE_PIXEL = 5; ... public void onMouseClicked(final MouseEvent event) { ... final int[] hitGraphicsIDs = myGraphicLayer.getGraphicIDs(event.getX(), event.getY(), TOLERANCE_PIXEL); where TOLERANCE_PIXEL is your tolerance, in my exemple = 5. you have code sample in argcis toolkit for the Selection Overlay.
... View more
10-05-2015
05:22 AM
|
0
|
3
|
413
|
POST
|
I still got random exception on our application when executing some scenarize tests on our Continuous Integration environment : Does anyone as ever encountered this exception "Failed to resize vertex buffer" ??? [MY_TEST] [AWT-EventQueue-0] ERROR c.t.e.a.a.u.ATestRule:56 - Exception on Thread [AWT-EventQueue-0,6,main] java.lang.RuntimeException: Failed to resize vertex buffer at com.esri.map.JMap.nativeDrawMapDirectToBuffer(Native Method) ~[arcgis-runtime-10.2.3.jar:na] at com.esri.map.JMap.paintComponent(Unknown Source) ~[arcgis-runtime-10.2.3.jar:na] at javax.swing.JComponent.paint(JComponent.java:1056) ~[na:1.8.0_40] at com.esri.map.JMap.paint(Unknown Source) ~[arcgis-runtime-10.2.3.jar:na] at javax.swing.JComponent.paintChildren(JComponent.java:889) ~[na:1.8.0_40] at javax.swing.JComponent.paint(JComponent.java:1065) ~[na:1.8.0_40] at javax.swing.JComponent.paintChildren(JComponent.java:889) ~[na:1.8.0_40] at javax.swing.JComponent.paint(JComponent.java:1065) ~[na:1.8.0_40] at javax.swing.JComponent.paintChildren(JComponent.java:889) ~[na:1.8.0_40] at javax.swing.JComponent.paint(JComponent.java:1065) ~[na:1.8.0_40] at sun.swing.JLightweightFrame$3.paint(JLightweightFrame.java:307) ~[na:1.8.0_40] at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219) ~[na:1.8.0_40] at javax.swing.RepaintManager.paint(RepaintManager.java:1268) ~[na:1.8.0_40] at javax.swing.JComponent._paintImmediately(JComponent.java:5167) ~[na:1.8.0_40] at javax.swing.JComponent.paintImmediately(JComponent.java:4978) ~[na:1.8.0_40] at javax.swing.JComponent.paintImmediately(JComponent.java:4959) ~[na:1.8.0_40] at javax.swing.RepaintManager$4.run(RepaintManager.java:824) ~[na:1.8.0_40] at javax.swing.RepaintManager$4.run(RepaintManager.java:807) ~[na:1.8.0_40] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_40] at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[na:1.8.0_40] at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807) ~[na:1.8.0_40] at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782) ~[na:1.8.0_40] at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731) ~[na:1.8.0_40] at javax.swing.RepaintManager.access$1300(RepaintManager.java:64) ~[na:1.8.0_40] at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720) ~[na:1.8.0_40] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[na:1.8.0_40] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749) ~[na:1.8.0_40] at java.awt.EventQueue.access$500(EventQueue.java:97) ~[na:1.8.0_40] at java.awt.EventQueue$3.run(EventQueue.java:702) ~[na:1.8.0_40] at java.awt.EventQueue$3.run(EventQueue.java:696) ~[na:1.8.0_40] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_40] at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[na:1.8.0_40] at java.awt.EventQueue.dispatchEvent(EventQueue.java:719) ~[na:1.8.0_40] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [na:1.8.0_40] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [na:1.8.0_40] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [na:1.8.0_40] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [na:1.8.0_40] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [na:1.8.0_40] at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [na:1.8.0_40] later on, my test terminate on fatal error : # # A fatal error has been detected by the Java Runtime Environment: # SUREFIRE-859: # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x63658f64, pid=10108, tid=7200 # # JRE version: Java(TM) SE Runtime Environment (8.0_40-b26) (build 1.8.0_40-b26) # Java VM: Java HotSpot(TM) Client VM (25.40-b25 mixed mode windows-x86 ) # Problematic frame: # C [runtimecore_java.dll+0x4c8f64] # # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows # # An error report file with more information is saved as: # C:\jenkins\workspace\aers.atest.slave.full\atest\hs_err_pid10108.log # SUREFIRE-859: # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # java.lang.OutOfMemoryError
... View more
09-07-2015
06:38 AM
|
0
|
0
|
505
|
POST
|
We have issues with our application about performance and stability. For the mapping part, I've reproduce a sample code to perform stress-test, and identified following issues. my project context : Java8u40, ArcGIS Runtime 10.2.3, Application JavaFX, JMap is displayed in a JavaFx SwingNode, RxJava for reactive programming. Running on JRE 32bits. PC is Windows 7 Pro SP1, OS 64 bits, RAM 16 Go, Processor Intel Code CPU @ 3,40 Ghz. my sample code : 1 JavaFx Stage with 1 button and 1 JMap (in a SwingNode). Basemap is a WMS (through MapServer) World map in Spatial Reference WGS 84. When Map is Ready, you can click on the "START POC" button to : - create 10,000 polygons (ellipsis of 50 segments) on 1 Dynamic GraphicsLayer, - create 10,000 points (center of each ellipsis) on 1 another Dynamic GraphicsLayer - Then an update Cycle is started to perform every 30 seconds : - move 2,000 polygons, - move 2,000 points. [sample code / project is attached to this post] my results (log files are attached) on "START" button : - Case 1: with JVM params -Xms256m -Xmx512m : program crash after 4h20min (after update iteration #530) with java.lang.OutOfMemory + EXCEPTION_ACCESS_VIOLATION + "The crash happened outside the Java Virtual Machine in native code." - Case 2: with JVM params -Xms256m -Xmx800m : program crash with same reason, but after 1h15min (update iteration #150) - Case 3: with JVM params -Xms1024m -Xmx1024m : program crash at the beginning with following Exception : Exception in Thread "AWT-EventQueue-0" java.lang.Exception: Buffer_loader_cache: map_buffer ERROR, cannot create staging resource ! - Case 4: with JVM params -Xms1000m -Xmx1000m : program crash at the beginning with following Exception : Exception in Thread "AWT-EventQueue-0" java.lang.Exception: Failed to resize vertex buffer ! in method ...JMap.nativeDrawMapDirectToBuffer... - Case 5: upgrade to ArcGIS Runtime 10.2.4, with JVM params -Xms256m -Xmx 512m : program crash when trying to draw the polygons for the first time, with same fatal error Exception. It surprised me that increasing max heap size of JVM get my program crashing faster... I was also not expecting that upgrading in ArcGIS Runtime 10.2.4 not improve the program. Could anyone provide me with some explanations for these issues ? are there known limitations to ArcGIS Runtime with GraphicsLayer that explain these results ? any solutions ?
... View more
06-19-2015
07:16 AM
|
1
|
6
|
4641
|
POST
|
What is the best choice in term of performance to draw lot's of graphics on a GraphicsLayer ?? (around 10 000 graphics in one GraphicsLayer, nearly 10 GraphicsLayer with thousands of graphics for some of them, some of them with redraw of thousands of graphics each second...) : A. like my sample code, define a UniqueValueRenderer on a GraphicsLayer, based on attributes of my graphics (and in this case when I add my graphics can I pass "null" for the symbol ? Why there is no constructor of Graphic without Symbol ?) or B. for each graphic I pass the correct symbol (symbols are Constants for 1 Symbol = 1 instance) based on its attribute value (no renderer applied to the GraphicsLayer) In my case, some GraphicsLayer have an unique symbol for all graphics... some other can have up to 10 different symbols depending on a attributes values. Code sample : private void colorUniqueValueRenderingComplex() { final String ATTRIBUTE_NAME = "CAPITAL"; if (graphicLayerCplx != null) { graphicLayerCplx.removeAll(); } else { graphicLayerCplx = new GraphicsLayer(); map.getLayers().add(graphicLayerCplx); final SimpleMarkerSymbol SYM_DEFAULT = new SimpleMarkerSymbol(Color.GRAY, 12, Style.TRIANGLE); final SimpleMarkerSymbol SYM_NON_CAPITAL = new SimpleMarkerSymbol(Color.GREEN, 9, Style.CIRCLE); final CompositeSymbol compositeMarkerSquare = new CompositeSymbol(); compositeMarkerSquare.getSymbols().add(new SimpleMarkerSymbol(Color.GREEN, 16, SimpleMarkerSymbol.Style.SQUARE)); compositeMarkerSquare.getSymbols().add(new SimpleMarkerSymbol(Color.YELLOW, 10, SimpleMarkerSymbol.Style.SQUARE)); final UniqueValueRenderer uvRenderer = new UniqueValueRenderer(); uvRenderer.setAttributeName1(ATTRIBUTE_NAME); uvRenderer.addValue(new UniqueValueInfo(new Object[] { "Y" }, compositeMarkerSquare)); uvRenderer.addValue(new UniqueValueInfo(new Object[] { "N" }, SYM_NON_CAPITAL)); uvRenderer.setDefaultSymbol(SYM_DEFAULT); graphicLayerCplx.setRenderer(uvRenderer); } final Map<String, Object> attCapY = ImmutableMap.<String, Object> builder().put(ATTRIBUTE_NAME, "Y").build(); final Map<String, Object> attCapN = ImmutableMap.<String, Object> builder().put(ATTRIBUTE_NAME, "N").build(); final Map<String, Object> attCapZ = ImmutableMap.<String, Object> builder().put(ATTRIBUTE_NAME, "Z").build(); graphicLayerCplx.addGraphic(new Graphic(new Point(4.00, 44.00), null, attCapN)); graphicLayerCplx.addGraphic(new Graphic(new Point(4.20, 44.30), null, attCapN)); graphicLayerCplx.addGraphic(new Graphic(new Point(4.40, 44.60), null, attCapY)); graphicLayerCplx.addGraphic(new Graphic(new Point(4.60, 44.90), null, attCapY)); graphicLayerCplx.addGraphic(new Graphic(new Point(4.80, 45.20), null, attCapY)); graphicLayerCplx.addGraphic(new Graphic(new Point(5.00, 45.50), null, attCapZ)); }
... View more
06-17-2015
02:44 AM
|
0
|
0
|
3072
|
POST
|
I have also tested it on ArcGIS Runtime SDK for Java 10.2.4 - Jdk 8u40 - Windows 7, and same exception occured...
... View more
06-10-2015
02:16 AM
|
0
|
0
|
191
|
POST
|
I'm evaluating the UniqueValueRenderer with a GraphicsLayer on ArcGIS Runtime SDK for Java 10.2.3 - Jdk 8u40 - Windows XP. I have no problem creating a GraphicsLayer with sample data and attributes, in order to test the UniqueValueRenderer to get different symbols according to attributes values. With Simple symbol (SimpleMarkerSymbol, ...) and PictureMarkerSymbol it is working fine. But it's not wokring with CompositeSymbol ! is it a known issue ??? In this case I compose my UniqueValueRenderer with simple symbols and 1 CompositeSymbol for one attribute value, and I get the following exception : Java version : 1.8.0_40 (Oracle Corporation) x86 Rendering engine : DirectX ... Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.lang.RuntimeException at com.esri.map.GraphicsLayer.setRenderer(Unknown Source) at com.mycode.sandbox.eval.arcgis.EvaluationApp.colorUniqueValueRendering(EvaluationApp.java:762) at com.mycode.sandbox.eval.arcgis.EvaluationApp.actionPerformed(EvaluationApp.java:406) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6525) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6290) at java.awt.Container.processEvent(Container.java:2234) at java.awt.Component.dispatchEventImpl(Component.java:4881) at java.awt.Container.dispatchEventImpl(Container.java:2292) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) at java.awt.Container.dispatchEventImpl(Container.java:2278) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:702) at java.awt.EventQueue$3.run(EventQueue.java:696) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:724) at java.awt.EventQueue$4.run(EventQueue.java:722) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:721) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Caused by: java.lang.RuntimeException at com.esri.map.GraphicsLayer.nativeSetRenderer(Native Method) at com.esri.map.GraphicsLayer.setRenderer(Unknown Source) ... 38 more my Code : private void colorUniqueValueRenderingComplex() {
final String ATTRIBUTE_NAME = "CAPITAL";
if (graphicLayerCplx != null) {
graphicLayerCplx.removeAll();
} else {
graphicLayerCplx = new GraphicsLayer();
map.getLayers().add(graphicLayerCplx);
final SimpleMarkerSymbol SYM_DEFAULT = new SimpleMarkerSymbol(Color.GRAY, 12, Style.TRIANGLE);
final SimpleMarkerSymbol SYM_NON_CAPITAL = new SimpleMarkerSymbol(Color.GREEN, 9, Style.CIRCLE);
final CompositeSymbol compositeMarkerSquare = new CompositeSymbol();
compositeMarkerSquare.getSymbols().add(new SimpleMarkerSymbol(Color.GREEN, 16, SimpleMarkerSymbol.Style.SQUARE));
compositeMarkerSquare.getSymbols().add(new SimpleMarkerSymbol(Color.YELLOW, 10, SimpleMarkerSymbol.Style.SQUARE));
final UniqueValueRenderer uvRenderer = new UniqueValueRenderer();
uvRenderer.setAttributeName1(ATTRIBUTE_NAME);
uvRenderer.addValue(new UniqueValueInfo(new Object[] { "Y" }, compositeMarkerSquare));
uvRenderer.addValue(new UniqueValueInfo(new Object[] { "N" }, SYM_NON_CAPITAL));
uvRenderer.setDefaultSymbol(SYM_DEFAULT);
graphicLayerCplx.setRenderer(uvRenderer);
}
final Map<String, Object> attCapY = ImmutableMap.<String, Object> builder().put(ATTRIBUTE_NAME, "Y").build();
final Map<String, Object> attCapN = ImmutableMap.<String, Object> builder().put(ATTRIBUTE_NAME, "N").build();
final Map<String, Object> attCapZ = ImmutableMap.<String, Object> builder().put(ATTRIBUTE_NAME, "Z").build();
graphicLayerCplx.addGraphic(new Graphic(new Point(4.00, 44.00), null, attCapN));
graphicLayerCplx.addGraphic(new Graphic(new Point(4.20, 44.30), null, attCapN));
graphicLayerCplx.addGraphic(new Graphic(new Point(4.40, 44.60), null, attCapY));
graphicLayerCplx.addGraphic(new Graphic(new Point(4.60, 44.90), null, attCapY));
graphicLayerCplx.addGraphic(new Graphic(new Point(4.80, 45.20), null, attCapY));
graphicLayerCplx.addGraphic(new Graphic(new Point(5.00, 45.50), null, attCapZ));
} Any ideas for a solution ? Is it working with ArcGIS Runtime for Java 10.2.4 on Windows 7 for exemple ?...
... View more
06-09-2015
05:41 AM
|
0
|
1
|
3217
|
Title | Kudos | Posted |
---|---|---|
1 | 02-04-2016 06:36 AM | |
1 | 06-19-2015 07:16 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|